You are not logged in.
I love an add-on for firefox which name is pentadactyl. Unfortunately it is often the case that when a new version of firefox comes out and I upgrade my system with pacman -Syu, the add-on stops working and I have to downgrade firefox and run an older version for some time, until the developers of pentadactyl fix the incompatibility.
This time something has gone wrong. Today I upgraded to firefox-33.0.2-1, and after starting the browser, as usual, it told me that pentadactyl is disabled because not compatible with the new version.
I tried (as I've done before) downgrading firefox with "pacman -U /var/cache/pacman/pkg/firefox-30.0-1-x86_64.pkg.tar.xz" and I also tried all versions in between, but I always get this error:
$ firefox
XPCOMGlueLoad error for file /usr/lib/firefox/libxul.so:
libicui18n.so.53: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
Now I upgraded again to 33.0.2-1 and it's fine, but pentadactyl is disabled.
In the arch wiki it's written that pacman manages downgrades of packages that are in the official repository very well, and it takes care of all dependencies, but it seems it isn't the case this time.
What can I do?
Thanks
Last edited by leonixyz (2014-10-30 16:38:47)
Offline
Pacman takes care of dependencies for packages, however, it does not take care of older versions. These are kept in the package cache and you'll have to manage older versions by yourself, just like you would with AUR packages.
However, since we are talking pentadactyl here, maybe you want to switch to the most recent version on their website.
EDIT: Where did you find on the wiki that downgrades are handled gracefully? I can't find it on the downgrading page.
Last edited by runical (2014-10-30 15:36:33)
Offline
What you're attempting is essentially a partial upgrade, which is not supported. It will work a lot of the time, but there are times it will not as you have found. This is normal.
If you want the old version of firefox, you'll need to build it yourself against the new libs.
Last edited by Scimmia (2014-10-30 16:26:54)
Offline
Pacman takes care of dependencies for packages, however, it does not take care of older versions. These are kept in the package cache and you'll have to manage older versions by yourself, just like you would with AUR packages.
However, since we are talking pentadactyl here, maybe you want to switch to the most recent version on their website.
EDIT: Where did you find on the wiki that downgrades are handled gracefully? I can't find it on the downgrading page.
Thank you, I installed the latest nightly build of pentadactyl and seems working with firefox 33. I thought "taking care" of the dependencies means also install older deps if needed, but if I understand well that's not what pacman does, right? I should have misunderstood this following part of the wiki, and for sure not read well the Warnings section.
Official packages
You may be able to downgrade the package trivially if an older version is stored at /var/cache/pacman/pkg on your system. (If you have not run pacman -Scc recently, it should be there.) If so, you can install that version using pacman -U /var/cache/pacman/pkg/pkgname-olderpkgver.pkg.tar.gz.
This process will remove the current package and install the older version along with any dependency changes.
This last sentence gave me the wrong impression... I came to arch from a brief gentoo experience, and if I'm not wrong again, portage manages these particular dependency problems.
Offline
What you're attempting is essentially a partial upgrade, which is not supported. It will work a lot of the time, but there are times it will not as you have found. This is normal.
If you want the old version of firefox, you'll need to build it yourself against the new libs.
thank you, it's pretty clear now!
Offline
Official packages
You may be able to downgrade the package trivially if an older version is stored at /var/cache/pacman/pkg on your system. (If you have not run pacman -Scc recently, it should be there.) If so, you can install that version using pacman -U /var/cache/pacman/pkg/pkgname-olderpkgver.pkg.tar.gz.
This process will remove the current package and install the older version along with any dependency changes.
This last sentence gave me the wrong impression... I came to arch from a brief gentoo experience, and if I'm not wrong again, portage manages these particular dependency problems.
I see how this can be misunderstood. It should read something along the lines of
This process will remove the current package and install the older version. Dependency changes will be handled, but pacman will not install older versions of needed libraries.
I think most packaging systems take care of these situations. Pacman, however, does not.
Can you link me to the part of the wiki where you found this text? Maybe it can indeed use some improving.
Offline
Can you link me to the part of the wiki where you found this text? Maybe it can indeed use some improving.
Offline
I start to get why they call you the Archivist. Thanks (and yeah, seems like I can't read).
Offline