[arch-general] lib -> usr/lib move, glibc and curl
Hello everybody, I just updated an old system and had to go through the lib -> usr/lib move. I did an pacman -Syud --ignore glibc and ended in a broken package manager. pacman is linked against libcurl, which is compiled against glibc 2.16.0 and includes versioned symbols. Luckily I had an old curl package around to temporarily fix the problem and update the system. Others may be out of luck, so... Do you think this needs some more investigation? -- main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH" "CX:;",b;for(a/* Chris get my mail address: */=0;b=c[a++];) putchar(b-1/(/* gcc -o sig sig.c && ./sig */b/42*2-3)*42);}
Am 21.08.2012 10:25, schrieb Christian Hesse:
pacman -Syud --ignore glibc
and ended in a broken package manager. pacman is linked against libcurl, which is compiled against glibc 2.16.0 and includes versioned symbols. Luckily I had an old curl package around to temporarily fix the problem and update the system.
Others may be out of luck, so... Do you think this needs some more investigation?
This is known, and I don't think we can properly fix it, at least not anymore.
Thomas Bächler <thomas@archlinux.org> on Tue, 2012/08/21 10:43:
Am 21.08.2012 10:25, schrieb Christian Hesse:
pacman -Syud --ignore glibc
and ended in a broken package manager. pacman is linked against libcurl, which is compiled against glibc 2.16.0 and includes versioned symbols. Luckily I had an old curl package around to temporarily fix the problem and update the system.
Others may be out of luck, so... Do you think this needs some more investigation?
This is known, and I don't think we can properly fix it, at least not anymore.
Oh, the commands in the wiki exclude curl now. Did not notice that. I am fine with the situation, I can deal with these things. Hopefully others will read the wiki. :D -- main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH" "CX:;",b;for(a/* Chris get my mail address: */=0;b=c[a++];) putchar(b-1/(/* gcc -o sig sig.c && ./sig */b/42*2-3)*42);}
On Tuesday 21 Aug 2012 11:05:07 Christian Hesse wrote:
Oh, the commands in the wiki exclude curl now. Did not notice that.
I am fine with the situation, I can deal with these things. Hopefully others will read the wiki. :D
For those like me that followed the news article's instructions first and ran into the curl issue, I fixed this by coping the old curl package (that was just replaced) from /var/cache/pacman/pkg into an empty subdirectory in my home directory and unpacked it. Then, as root I replaced the /usr/lib/libcurl.so.4.2.0 library with the one found in the package. This fixed pacman, allowing me to downgrade curl properly with "pacman -U". The rest can then be done as described on the wiki page. Paul
Paul Gideon Dann <pdgiddie@gmail.com> on Tue, 2012/08/21 11:01:
On Tuesday 21 Aug 2012 11:05:07 Christian Hesse wrote:
Oh, the commands in the wiki exclude curl now. Did not notice that.
I am fine with the situation, I can deal with these things. Hopefully others will read the wiki. :D
For those like me that followed the news article's instructions first and ran into the curl issue, I fixed this by coping the old curl package (that was just replaced) from /var/cache/pacman/pkg into an empty subdirectory in my home directory and unpacked it. Then, as root I replaced the /usr/lib/libcurl.so.4.2.0 library with the one found in the package. This fixed pacman, allowing me to downgrade curl properly with "pacman -U".
The rest can then be done as described on the wiki page.
That is exactly what I did. ;) And do not forget to reinstall curl to have the recent version in place. -- main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH" "CX:;",b;for(a/* Chris get my mail address: */=0;b=c[a++];) putchar(b-1/(/* gcc -o sig sig.c && ./sig */b/42*2-3)*42);}
On Aug 21, 2012 6:04 AM, "Christian Hesse" <list@eworm.de> wrote:
Paul Gideon Dann <pdgiddie@gmail.com> on Tue, 2012/08/21 11:01:
On Tuesday 21 Aug 2012 11:05:07 Christian Hesse wrote:
Oh, the commands in the wiki exclude curl now. Did not notice that.
I am fine with the situation, I can deal with these things. Hopefully others will read the wiki. :D
For those like me that followed the news article's instructions first
and
ran into the curl issue, I fixed this by coping the old curl package (that was just replaced) from /var/cache/pacman/pkg into an empty subdirectory in my home directory and unpacked it. Then, as root I replaced the /usr/lib/libcurl.so.4.2.0 library with the one found in the package. This fixed pacman, allowing me to downgrade curl properly with "pacman -U".
The rest can then be done as described on the wiki page.
That is exactly what I did. ;)
And do not forget to reinstall curl to have the recent version in place. -- main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH" "CX:;",b;for(a/* Chris get my mail address: */=0;b=c[a++];) putchar(b-1/(/* gcc -o sig sig.c && ./sig */b/42*2-3)*42);}
You could have untared the old package into an empty directory, then from a root shell used LD_PRELOAD=/path/to/old/libcurl.so pacman -Su
pacman -Syud --ignore glibc
and ended in a broken package manager. pacman is linked against libcurl, which is compiled against glibc 2.16.0 and includes versioned symbols. Luckily I had an old curl package around to temporarily fix the problem and update the system.
Others may be out of luck, so... Do you think this needs some more investigation?
This is known, and I don't think we can properly fix it, at least not anymore.
How about adding pacman to the default failsafe initramfs. That way, if anything goes wrong with a big update like this, one could finish it up from that initramfs. -- дамјан
On 08/22/2012 03:54 PM, Damjan wrote:
pacman -Syud --ignore glibc
and ended in a broken package manager. pacman is linked against libcurl, which is compiled against glibc 2.16.0 and includes versioned symbols. Luckily I had an old curl package around to temporarily fix the problem and update the system.
Others may be out of luck, so... Do you think this needs some more investigation?
This is known, and I don't think we can properly fix it, at least not anymore.
How about adding pacman to the default failsafe initramfs. That way, if anything goes wrong with a big update like this, one could finish it up from that initramfs.
Feel free to do that yourself. I don't want my initrd's to be rescue images as well. And if I did, there'd be a whole bunch of other stuff I'd want too. I have at least one system where I only allocated 32 MB for /boot (my bad, but don't feel like fixing any time soon), and don't need the default initrd to grow. In fact, I've never had a problem that fallback would fix and would rather not even have it... I'd be in favor of a "rescue" hook though that someone may optionally add.
Am 23.08.2012 00:54, schrieb Damjan:
pacman -Syud --ignore glibc
and ended in a broken package manager. pacman is linked against libcurl, which is compiled against glibc 2.16.0 and includes versioned symbols. Luckily I had an old curl package around to temporarily fix the problem and update the system.
Others may be out of luck, so... Do you think this needs some more investigation?
This is known, and I don't think we can properly fix it, at least not anymore.
How about adding pacman to the default failsafe initramfs. That way, if anything goes wrong with a big update like this, one could finish it up from that initramfs.
Actually a neat idea. Copy mkinitcpio.conf to mkinitcpio-pacman.conf, add this in mkinitcpio-pacman.conf: BINARIES="pacman" FILES="/etc/pacman.conf /etc/pacman.d/mirrorlist" Then, edit /etc/mkinitcpio.d/linux.preset: Add: pacman_config="/etc/mkinitcpio-pacman.conf" pacman_image="/boot/initramfs-linux-pacman.img" and add 'pacman' to the PRESETS line.
On Thursday 23 Aug 2012 01:28:58 Thomas Bächler wrote:
BINARIES="pacman" FILES="/etc/pacman.conf /etc/pacman.d/mirrorlist"
Then, edit /etc/mkinitcpio.d/linux.preset:
Add:
pacman_config="/etc/mkinitcpio-pacman.conf" pacman_image="/boot/initramfs-linux-pacman.img"
and add 'pacman' to the PRESETS line.
If this is done, would libcurl be automatically pulled into the initrd? -- Cheers and Regards Jayesh Badwaik stop html mail | always bottom-post www.asciiribbon.org | www.netmeister.org/news/learn2quote.html
Am 23.08.2012 05:28, schrieb Jayesh Badwaik:
On Thursday 23 Aug 2012 01:28:58 Thomas Bächler wrote:
BINARIES="pacman" FILES="/etc/pacman.conf /etc/pacman.d/mirrorlist"
Then, edit /etc/mkinitcpio.d/linux.preset:
Add:
pacman_config="/etc/mkinitcpio-pacman.conf" pacman_image="/boot/initramfs-linux-pacman.img"
and add 'pacman' to the PRESETS line.
If this is done, would libcurl be automatically pulled into the initrd?
Yes. But I forgot that you need to manually add gnupg. This requires at least /usr/bin/gnupg. This will only work if you download all packages beforehand, adding proper network support to initramfs is even more complicated.
participants (7)
-
Christian Hesse
-
Damjan
-
Daniel Wallace
-
Jayesh Badwaik
-
Matthew Monaco
-
Paul Gideon Dann
-
Thomas Bächler