Bug 26249

Summary: пакет собрался с кривым RPATH
Product: Sisyphus Reporter: at <at>
Component: perl-baseAssignee: Vladimir Lettiev <crux>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P3 CC: at, crux, ender, force, ldv, mike, misha, mithraen, pma, shaba, viy
Version: unstable   
Hardware: all   
OS: Linux   

Description at@altlinux.org 2011-09-07 19:24:12 MSK
$ rpm -q perl-qa-cache
perl-qa-cache-0.10-alt1
$ objdump -p /usr/lib64/perl5/auto/qa/cache/cache.so |fgrep PATH 
  RPATH                /usr/lib/../lib64
$ /usr/lib/rpm/lib.req /usr/lib64/perl5/auto/qa/cache/cache.so            
rtld(GNU_HASH)
libc.so.6(GLIBC_2.2.5)(64bit)
libperl-5.12.so()(64bit) >= set:ojF1rlgYDdiNPZ9E3YXG2ccSHpbuxaR3FUBfcvrvgcEovdkfqLgDxBFwb6n1Eiwk1pZFg2yWq6n5tP4Xq5N0bmSSuri7B7
libqacache.so.0()(64bit) >= set:gdiBUeJnUn1
$

Короче почему он собрался с кривым RPATH хуль его знает.
Comment 1 Dmitry V. Levin 2011-09-07 19:52:15 MSK
$ GET http://git.altlinux.org/tasks/archive/done/_52/54101/build/100/x86_64/log | grep -F ../lib64
LD_RUN_PATH="/usr/lib/../lib64" gcc  -shared -pipe -Wall -g -O2 -L/usr/local/lib -fstack-protector cache.o  -o blib/arch/auto/qa/cache/cache.so 	\
verify-elf: WARNING: ./usr/lib64/perl5/auto/qa/cache/cache.so: RPATH entry found: /usr/lib/../lib64

Use "%set_verify_elf_method strict" to avoid accidental RPATH bugs like this one.
Comment 2 at@altlinux.org 2011-09-07 23:41:12 MSK
Оказывается теперь все перловые пакеты будут собираться в жопу с кривым RPATH. Потому что кто-то обновил перл на новую версию, чтобы он не глючил!

[at@ssh latest]$ pwd
/srv/git/pub/beehive/logs/Sisyphus-x86_64/latest
[at@ssh latest]$ grep RPATH success/perl-*
success/perl-1:5.12.4-alt1:verify-elf: WARNING: ./usr/lib64/perl5/auto/Time/HiRes/HiRes.so: RPATH entry found: /lib/../lib64
success/perl-1:5.12.4-alt1:verify-elf: WARNING: ./usr/lib64/perl5/auto/DB_File/DB_File.so: RPATH entry found: /usr/lib/../lib64
success/perl-1:5.12.4-alt1:verify-elf: WARNING: ./usr/lib64/perl5/auto/GDBM_File/GDBM_File.so: RPATH entry found: /usr/lib/../lib64
success/perl-1:5.12.4-alt1:verify-elf: WARNING: ./usr/lib64/perl5/auto/NDBM_File/NDBM_File.so: RPATH entry found: /usr/lib/../lib64
success/perl-AptPkg-0.1.24-alt1.1.1:verify-elf: WARNING: ./usr/lib64/perl5/auto/AptPkg/AptPkg.so: RPATH entry found: /usr/lib/../lib64
success/perl-Audio-CD-0.05-alt2.1:verify-elf: WARNING: ./usr/lib64/perl5/auto/Audio/CD/CD.so: RPATH entry found: /usr/lib/../lib64
success/perl-Audio-PortAudio-0.03-alt1.1:verify-elf: WARNING: ./usr/lib64/perl5/auto/Audio/PortAudio/PortAudio.so: RPATH entry found: /usr/lib/../lib64
success/perl-Authen-PAM-0.16-alt2.1:verify-elf: WARNING: ./usr/lib64/perl5/auto/Authen/PAM/PAM.so: RPATH entry found: /lib/../lib64
success/perl-BDB-1.88-alt1.1:verify-elf: WARNING: ./usr/lib64/perl5/auto/BDB/BDB.so: RPATH entry found: /usr/lib/../lib64
...
Comment 3 Dmitry V. Levin 2011-09-08 01:24:55 MSK
(In reply to comment #2)
> Оказывается теперь все перловые пакеты будут собираться с кривым RPATH.
> Потому что кто-то обновил перл на новую версию, чтобы он не глючил!

Тогда перевесь баг на соответствующий пакет, пожалуйста.
А я пока добавлю проверку в verify-elf.
Comment 4 Dmitry V. Levin 2011-09-08 04:38:56 MSK
(In reply to comment #3)
> Тогда перевесь баг на соответствующий пакет, пожалуйста.

Я пока что перевешу на perl-base.

> А я пока добавлю проверку в verify-elf.

rpm-build >= 4.0.4-alt100.32 отвергает все эти неправильно собранные пакеты, коих в Сизифе около 83, включая сам perl.
Comment 5 Repository Robot 2011-09-12 13:38:58 MSK
perl-1:5.12.4-alt2 -> sisyphus:

* Mon Sep 12 2011 Dmitry V. Levin <ldv@altlinux> 1:5.12.4-alt2
- Fixed regression on x86-64 introduced in 5.12.4 (closes: #26249).
Comment 6 Vladimir Lettiev 2011-09-19 19:20:52 MSK
(В ответ на комментарий №5)
> perl-1:5.12.4-alt2 -> sisyphus:
> 
> * Mon Sep 12 2011 Dmitry V. Levin <ldv@altlinux> 1:5.12.4-alt2
> - Fixed regression on x86-64 introduced in 5.12.4 (closes: #26249).

Спасибо, Дмитрий, Алексей.
С моей стороны было крайне неосмотрительно обновлять perl прямо перед отпуском. Трудно было ожидать такой мины от минорного багфикс-релиза.