FS#39731 - [readline] from testing breaks everything

Attached to Project: Arch Linux
Opened by Tom Englund (gulafaran) - Thursday, 03 April 2014, 20:29 GMT
Last edited by Anatol Pomozov (anatolik) - Friday, 04 April 2014, 18:22 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Bartłomiej Piotrowski (Barthalion)
Architecture x86_64
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
readline 6.3.003-1 from testing breaks tons of things, gawk, gpg

gpg and gawk errors with "awk: symbol lookup error: /usr/lib/libreadline.so.6: undefined symbol: UP"

and there is proably more software that needs to be rebuilt against this version.
This task depends upon

Closed by  Anatol Pomozov (anatolik)
Friday, 04 April 2014, 18:22 GMT
Reason for closing:  Fixed
Additional comments about closing:  broken 6.3-003-1 has been removed from [testing].

There is a new revision 6.3-003-2 that should work fine.
Comment by Skottish (skottish) - Thursday, 03 April 2014, 20:32 GMT
Confirmed with pacman, pacman-key, sdcv, and others. Downgrading readline fixes the issue.
Comment by Gustavo Alvarez (sl1pkn07) - Thursday, 03 April 2014, 20:50 GMT
how to downgrade?, fails for me from cahe packages/repositories

http://sl1pkn07.no-ip.com/paste/view/ad9399b0
Comment by Skottish (skottish) - Thursday, 03 April 2014, 21:05 GMT
Block all third party repos like infinality in pacman.conf to downgrade.
Comment by Anatol Pomozov (anatolik) - Thursday, 03 April 2014, 21:21 GMT
This broken version of readline was removed from [testing]. Running 'pacman -S readline' should bring you to previous version of readline and should fix your environment.

Looking at readline.so provided in 6.3-003-1 I see that it is not linked against curses:

$ ldd /usr/lib/libreadline.so
linux-vdso.so.1 (0x00007fff4e3fe000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007feef97a7000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00007feef9dbb000)

libcurses is what provides 'UP' symbol:

$ readelf -s /usr/lib/libncursesw.so | grep -w UP
363: 0000000000264588 8 OBJECT GLOBAL DEFAULT 24 UP



And here is ldd for working version of readline:

$ ldd /usr/lib/libreadline.so
linux-vdso.so.1 (0x00007fffe89fe000)
libncursesw.so.5 => /usr/lib/libncursesw.so.5 (0x00007f93a01f5000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f939fe4d000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00007f93a06c6000)


I rebuilt the new readline in clean environment on my machine and it works fine. It seems either packager did not run it in a clean environment or it is some kind of linker glitch.
Comment by Bartłomiej Piotrowski (Barthalion) - Friday, 04 April 2014, 09:33 GMT
Readline was pulled from [testing] before due to the same issue but on i686. There is something wrong with the hardware I've used to build a package or I'm missing a pattern why sometimes readline gets linked correctly and sometimes not.

In addition to what Anatol said, you may need to ignore signature checking to successfully downgrade the library. I'll close this task soon.

Loading...