You are not logged in.

#1 2009-07-29 10:13:35

phonky
Member
Registered: 2008-12-19
Posts: 69

pacman update broke my X system

Here's what I did on July 27th:

pacman -Sy mrxvt

which also upgraded the following lib:
libjpeg>=7
(confirmed through following link):
http://www.archlinux.org/packages/extra/i686/mrxvt/

I haven't done anything else on the system that day,
here is the /var/log/pacman.log:

[2009-07-27 14:01] Synchronizing package lists
[2009-07-27 14:02] Upgraded libjpeg (6b-6 -> 7-1)
[2009-07-27 14:02] Installed mrxvt (0.5.4-2)

These are my last entries. I shut my laptop down,
and only rebooted today, as it is my older inspiron 8100
running arch 2.6.28.

X doesn't come up now.
There was an entry saying (don't remember the wording here):
wmaker: [...] could not load libjpeg.so.62: no such file or directory.

This was rather weird to me, as I boot into runlevel 5 with slim as a login manager.
What is wmaker doing at this time, when I even haven't logged in yet
and .xinitrc is not executed yet?

Anyway, I uninstalled windowmaker now, which gets rid of that error message,
but I still can't bring up the graphical login screen.
Interestingly, not in fallback mode, logging in as root and doing "startx"
actually gets me into X (showing a few xterms).

Can someone help? Any suggestion highly appreciated. Thanks

Last edited by phonky (2009-07-29 10:14:13)

Offline

#2 2009-07-29 10:31:13

mutlu_inek
Member
From: all over the place
Registered: 2006-11-18
Posts: 683

Re: pacman update broke my X system

I am not absolutely sure, but I suspect this: You have not updated your system in a while. In the meantime, a new version of libjpeg has been released. All apps compiled against the old libjpeg break when installing the new version. Since mrxvt depends on libjpeg>=7, the new libjpeg has been pulled in. But you did not update your system, so all apps compiled against the old version will segfault. Obviously starting X on your system includes such programs.

You can remedy the problem by doing

pacman -Su

In general, you may run into problems if you do not keep your system current and nonetheless install new software or select new software versions.

Offline

#3 2009-07-29 11:46:41

phonky
Member
Registered: 2008-12-19
Posts: 69

Re: pacman update broke my X system

mutlu_inek,

thanks first of all for your reply.
You are quite right, I haven't updated my system for a while,
as it is not my main work box anymore (older laptop).

I actually had tried pacman -Su myself, but
here's what happens:

sudo pacman -Su
:: Starting full system upgrade...
:: Replace portmap with core/rpcbind? [Y/n] y
:: Replace libxml++2 with extra/libxml++? [Y/n] y
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: nvidia-96xx-2629: requires kernel26<2.6.29
:: nvidia-96xx-28: requires kernel26<2.6.29
:: nvidia-96xx-29rt: requires kernel26<2.6.29

(I installed multiple kernels as I experimented with archaudio).
So my interpretation:
Those nvidia drivers want to stay with kernels < 2.6.29.
A full system upgrade would bring me to 2.6.30 (or latest).
So I can't upgrade directly.

What's the correct procedure here? Use -f flag on pacman?
Uninstall the drivers, do a system upgrade, and reinstall them?

Thanks.

Last edited by phonky (2009-07-29 11:47:21)

Offline

#4 2009-07-29 12:35:42

phonky
Member
Registered: 2008-12-19
Posts: 69

Re: pacman update broke my X system

Considering also to roll back and never do any system upgrade,
as maybe those drivers aren't compatible with latest kernels?

Is it possible to roll back? Actually what I need it seems
is to go back with libjpeg.

Offline

#5 2009-07-29 12:55:58

WhiteMagic
Member
Registered: 2007-03-01
Posts: 85

Re: pacman update broke my X system

You can manually rollback by looking at /var/log/pacman.log to see what has been updated recently since the breakage, i.e. the installation of mrxvt. Then install the previous version of updated packages by running

 pacman -U /var/cache/pacman/pkg/<old_package>

for each package that was updated by the installation of mrxvt. This assumes that you did not clear your package cache. If you did this then you'll have to hunt down older versions of the packages.

Maybe there is an more "automatic" way to do this by some scripts somebody wrote.

If you want to go the update route you'd probably have to remove the nvidia drivers then perform the system update and reinstall nvidia drivers for your card, which probably would be nvidia-96xx and nvidia-96xx-utils judging by your currently installed drivers.

Last edited by WhiteMagic (2009-07-29 12:56:49)

Offline

#6 2009-07-29 20:29:45

mutlu_inek
Member
From: all over the place
Registered: 2006-11-18
Posts: 683

Re: pacman update broke my X system

Well, you can, of course, revert the recent update of libjpeg, but then you are stuck with whatever you have installed. You will have increasing difficulty to install anything at all (like you experienced) since new packages will likely depend on newer stuff which will require an upgrade. Arch Linux is meant to be upgraded regularly, otherwise you will encounter such problems.

If you wish to solve the issue, you should not revert the update, but instead upgrade the whole system. To do this, you will have to remove the offending nvidia drivers, update your system, and then install a current version of the drivers. It could work like this:

sudo pacman -Rncs nvidia-96xx-2629 nvidia-96xx-28 nvidia-96xx-29rt
sudo pacman -Syu
sudo pacman -S nvidia-96xx

Keep in mind, though, that you will have to carefully read pacman's output for hints about which config files might need updating. Have a look at the Arch Linux home page for news articles about problematic upgrades during the period you did not upgrade your system.

Good luck!

Offline

#7 2009-07-29 21:42:54

phonky
Member
Registered: 2008-12-19
Posts: 69

Re: pacman update broke my X system

I must say I am a bit frustrated.

I assume that that's the job of a package manager, ie
pacman, to ensure integrity and check dependencies for me.
So I am surprised that the installation of just an additional
terminal, mrxvt, which pulled a new version of libjpeg, broke my
X system. I understand that to be a dependency, so I would assume
I should have been warned or even hindered of installing that terminal.
OK, I take the blame of not having updated regularly.
but again I would assume that this should be handled by pacman?

After the last post, I decided to go for a
full upgrade. It needed to download 700+ MB of files.
Only to break at the end with error messages I can't
interpret:

checking package integrity...
(365/365) checking for file conflicts       [################
error: could not prepare transaction
error: failed to commit transaction (conflicting files)
kernel26-firmware: /lib/firmware/acenic/tg1.bin exists in filesystem
kernel26-firmware: /lib/firmware/acenic/tg2.bin exists in filesystem
...

with some 15 more or so of such error messages on firmware, which I would think
to not know why the heck they would break the upgrade, but
the last being

xorg-server: /usr/lib/xorg/modules/extensions/libdri.so exists in filesystem
xorg-server: /usr/lib/xorg/modules/libwfb.so exists in filesystem
Errors occurred, no packages were upgraded.

which looks rather serious.

I already had cleaned my cache, the other options proposed
were really not options.

So for me it looks like I need to re-install the system.
Not really what I want to do.:(

Offline

#8 2009-07-29 21:49:26

arkham
Member
From: Stockholm
Registered: 2008-10-26
Posts: 516
Website

Re: pacman update broke my X system

It seems to me that you lack a minimum experience to deal with pacman (and the linux program/library architecture); you never should use pacman -Sy, but instead rely on pacman -S and pacman -Syu. All the "exists in filesystem" errors can be solved by checking which package owns the files and of it is safe, installing the new packages with pacman -Sf.

I'd say you broke your X system, not pacman.

And no, pacman doesn't warn you if you issue a command that can break your system, because pacman always assumes that you know what you're doing.


"I'm Winston Wolfe. I solve problems."

~ Need moar games? [arch-games] ~ [aurcheck] AUR haz updates? ~

Offline

#9 2009-07-29 22:01:44

phonky
Member
Registered: 2008-12-19
Posts: 69

Re: pacman update broke my X system

Fair enough, then I totally misunderstood the way it works.
I indeed most of the times did pacman -Sy or pacman -S to install some package.

I do use linux since 1997 though, less as sysadmin, but as a poweruser.
So I know a something about linux program/lib architecture, but possibly not enough.

Maybe arch is not the distro for me then.

Offline

#10 2009-07-29 22:10:11

arkham
Member
From: Stockholm
Registered: 2008-10-26
Posts: 516
Website

Re: pacman update broke my X system

Either that or keep learning.

In your defense, libjpeg hasn't been updated for years and a lot of packages that were built against the last version of it got broken with the new version of the library.
To see which program owns a file, use pacman -Qo.

If you are an experienced linux user, you could try either debian or gentoo (if you still haven't).


"I'm Winston Wolfe. I solve problems."

~ Need moar games? [arch-games] ~ [aurcheck] AUR haz updates? ~

Offline

#11 2009-07-29 22:22:26

phonky
Member
Registered: 2008-12-19
Posts: 69

Re: pacman update broke my X system

I think I will give it another try with "keep learning".
I was trying to search with pacman -s, thanks for the hint.

You know what?
All single pacman -Qo <file> return

error: No package owns <file>

I infer from this that I can safely delete them?
Or remove  kernel26-firmware, as this post suggests:
http://bbs.archlinux.org/viewtopic.php?id=76958

Offline

#12 2009-07-29 23:00:10

arkham
Member
From: Stockholm
Registered: 2008-10-26
Posts: 516
Website

Re: pacman update broke my X system

Yeah, in general if no packages is found that owns those files, go with pacman -Sf <package>


"I'm Winston Wolfe. I solve problems."

~ Need moar games? [arch-games] ~ [aurcheck] AUR haz updates? ~

Offline

#13 2009-07-29 23:09:12

phonky
Member
Registered: 2008-12-19
Posts: 69

Re: pacman update broke my X system

OK, got it all sorted out now. Writing you from the fresh X system.
Had temporarily moved all those files to a safe directory, and the upgrade ran through.

This has been a good lesson. I apologize for having got a bit stressed.

Thanks to all who contributed.

Offline

#14 2009-07-30 11:14:42

mutlu_inek
Member
From: all over the place
Registered: 2006-11-18
Posts: 683

Re: pacman update broke my X system

Just to explain why pacman does not work as you expected: While many packages define minimum and rarely also maximum versions of certain packages on which they depend, apart from kernel modules, the latter (defining maximum versions) is rarely the case. It is simply not possible to know which future library release will break ABI and thus require a recompiling of a certain package. Thus, when a new library which breaks ABI is released, those packages that need updating are also updated. However, the old packages (in this case some X stuff) don't have a depends definition which will pull them in automatically since this could not be forseen beforehand. Thus, one of the disadvantaged of a rolling release system is that installing new packages often requires a system upgrade and that failing to upgrade reasonably often will cause major headaches since you will have to catch up with a whole bunch of changes at once.

Offline

#15 2009-08-01 16:54:09

phonky
Member
Registered: 2008-12-19
Posts: 69

Re: pacman update broke my X system

got it. thanks for clarifying.

Offline

Board footer

Powered by FluxBB