* [devel] Q: deparse failed
@ 2005-04-12 21:42 Anton D. Kachalov
2005-04-12 23:56 ` [devel] " Alexey Tourbin
2005-04-13 0:35 ` Alexey Tourbin
0 siblings, 2 replies; 12+ messages in thread
From: Anton D. Kachalov @ 2005-04-12 21:42 UTC (permalink / raw)
To: devel
Кто знает как бороть такую бяку? (пересобираю glibc под x86_64):
Executing(Requires): /bin/sh -e /usr/src/RPM/tmp/rpm-tmp.13623
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /usr/src/RPM/SOURCES/find-requires.sh
# /usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace: deparse failed.
isPerl=0.0543
881334981459.
error: /bin/sh failed
error: Failed to find Requires
сам скрипт начинается почему-то так:
#! /usr/bin/perl
eval "exec /usr/bin/perl -S $0 $*"
if 0;
# Copyright (C) 1997-2002, 2003, 2004 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Ulrich Drepper <drepper@gnu.org>, 1997.
# Based on the mtrace.awk script.
Если ручками запускать find-requiers в чруте, то всё ок.
Rgds,
Anton
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: Q: deparse failed
2005-04-12 21:42 [devel] Q: deparse failed Anton D. Kachalov
@ 2005-04-12 23:56 ` Alexey Tourbin
2005-04-13 0:35 ` Alexey Tourbin
1 sibling, 0 replies; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-12 23:56 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 944 bytes --]
On Wed, Apr 13, 2005 at 01:42:54AM +0400, Anton D. Kachalov wrote:
> Кто знает как бороть такую бяку? (пересобираю glibc под x86_64):
> Executing(Requires): /bin/sh -e /usr/src/RPM/tmp/rpm-tmp.13623
Типа я специалист по этой бяке. :)
> + umask 022
> + /bin/mkdir -p /usr/src/RPM/BUILD
> + cd /usr/src/RPM/BUILD
> + /usr/src/RPM/SOURCES/find-requires.sh
> # /usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace: deparse failed.
> isPerl=0.0543
> 881334981459.
Кто-то в прошлом году уже такое писал. Осмысленного сообщения об ошибке
нет. Что-то где-то тихо умерло.
> Если ручками запускать find-requiers в чруте, то всё ок.
Это самое странное. Что-то где-то тихо мрёт. Может быть дело в том,
что в perl.req добавляется LD_LIBRARY_PATH=%buildroot%_libdir перед
exec'ом.
Попробуй
$ rpm -bl --define '_scripts_debug 1' glibc.spec
Может он что-нибудь скажет.
У меня не воспроизводится, но придется воспроизводить.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: Q: deparse failed
2005-04-12 21:42 [devel] Q: deparse failed Anton D. Kachalov
2005-04-12 23:56 ` [devel] " Alexey Tourbin
@ 2005-04-13 0:35 ` Alexey Tourbin
2005-04-13 6:53 ` Anton D. Kachalov
1 sibling, 1 reply; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-13 0:35 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 259 bytes --]
On Wed, Apr 13, 2005 at 01:42:54AM +0400, Anton D. Kachalov wrote:
> + cd /usr/src/RPM/BUILD
> + /usr/src/RPM/SOURCES/find-requires.sh
Кстати, это какой-то левый find-requires.
И вот: http://lists.altlinux.ru/pipermail/sisyphus/2004-August/044952.html
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] Re: Q: deparse failed
2005-04-13 0:35 ` Alexey Tourbin
@ 2005-04-13 6:53 ` Anton D. Kachalov
2005-04-13 16:05 ` Alexey Tourbin
0 siblings, 1 reply; 12+ messages in thread
From: Anton D. Kachalov @ 2005-04-13 6:53 UTC (permalink / raw)
To: ALT Devel discussion list
On Wed, Apr 13, 2005 at 04:35:55AM +0400, Alexey Tourbin wrote:
> On Wed, Apr 13, 2005 at 01:42:54AM +0400, Anton D. Kachalov wrote:
> > + cd /usr/src/RPM/BUILD
> > + /usr/src/RPM/SOURCES/find-requires.sh
>
> Кстати, это какой-то левый find-requires.
Чем это он такой левый? Он тот же, что и в 4.0.4 rpm'е. Он только стал
понимать более широкие файлы (64bit).
Rgds,
Anton
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: Q: deparse failed
2005-04-13 6:53 ` Anton D. Kachalov
@ 2005-04-13 16:05 ` Alexey Tourbin
2005-04-13 16:18 ` Alexey Tourbin
0 siblings, 1 reply; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-13 16:05 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1589 bytes --]
On Wed, Apr 13, 2005 at 10:53:06AM +0400, Anton D. Kachalov wrote:
> On Wed, Apr 13, 2005 at 04:35:55AM +0400, Alexey Tourbin wrote:
> > On Wed, Apr 13, 2005 at 01:42:54AM +0400, Anton D. Kachalov wrote:
> > > + cd /usr/src/RPM/BUILD
> > > + /usr/src/RPM/SOURCES/find-requires.sh
> >
> > Кстати, это какой-то левый find-requires.
> Чем это он такой левый? Он тот же, что и в 4.0.4 rpm'е. Он только стал
> понимать более широкие файлы (64bit).
Я про /usr/src/RPM/SOURCES/find-requires.sh, который фильтрует GLIBC_PRIVATE.
glibc на моей машине собирается 6 часов!!
Приму в дар железо, на котором glibc собирается меньше 6 часов!!
А дело по сути сводится вот к чему:
$ perl -MO=PerlReq /home/at/tmp/glibc-buildroot/usr/bin/mtrace
/home/at/tmp/glibc-buildroot/usr/bin/mtrace syntax OK
$ LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -MO=PerlReq /home/at/tmp/glibc-buildroot/usr/bin/mtrace
zsh: segmentation fault LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -MO=PerlReq
$
То есть проблема в следующем куске кода из perl.req (после которого
запускается perl -MO=PerlReq):
# adjust LD_LIBRARY_PATH if there are libraries inside buildroot
# spotted by Yury Konovalov
for my $libdir (split ' ', $Config{libpth}) {
next unless glob "$ENV{RPM_BUILD_ROOT}$libdir/lib*.so*";
$ENV{LD_LIBRARY_PATH} .= ":" if $ENV{LD_LIBRARY_PATH};
$ENV{LD_LIBRARY_PATH} .= "$ENV{RPM_BUILD_ROOT}$libdir";
}
}
То есть перл подцепляет свежесобранную libc и падает.
Что с этим делать я пока не знаю. И главное почему падает.
> Rgds,
> Anton
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: Q: deparse failed
2005-04-13 16:05 ` Alexey Tourbin
@ 2005-04-13 16:18 ` Alexey Tourbin
2005-04-13 18:26 ` Anton D. Kachalov
0 siblings, 1 reply; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-13 16:18 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 572 bytes --]
On Wed, Apr 13, 2005 at 08:05:41PM +0400, Alexey Tourbin wrote:
> $ LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -MO=PerlReq /home/at/tmp/glibc-buildroot/usr/bin/mtrace
> zsh: segmentation fault LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -MO=PerlReq
> $
Всё гораздо прозаичнее:
$ LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -e1
zsh: segmentation fault LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -e1
$
glibc собирался c дефолтным таргетом (i686) просто как
$ rpm -bi glibc.spec
В системе стоит glibc-core-i686.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] Re: Q: deparse failed
2005-04-13 16:18 ` Alexey Tourbin
@ 2005-04-13 18:26 ` Anton D. Kachalov
2005-04-13 22:29 ` [devel] glibc/ld.so Dmitry V. Levin
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Anton D. Kachalov @ 2005-04-13 18:26 UTC (permalink / raw)
To: ALT Devel discussion list
Найди 10 отличий:
$
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64/ld-linux-x86-64.so.2
--library-path
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/lib64
/usr/bin/perl -MO=PerlReq
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
Segmentation fault
$
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64/ld-linux-x86-64.so.2
--library-path
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64:~/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/lib64
/usr/bin/perl -MO=PerlReq
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
syntax OK
$ /lib64/ld-linux-x86-64.so.2 --library-path
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64:~/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/lib64
/usr/bin/perl -MO=PerlReq
/home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
Segmentation fault
Т.е. проблема в том, что ты зря выставляешь LD_LIBRARY_PATH в perl.req.
Выхода из сложившейся ситуации два:
0. пофиксить скрипт, чтобы он выставлял LD_LIBRARY_PATH, если ему не
запретили Свыше.
1. "Свыше" живёт всё в том же perl.req и как-то пытается понять, что среди
либ есть Запретные.
2. "Свыше" - есть сущность в виде макро-рубильника, щёлкающего в спеке
Запретных пакетов.
Rgds,
Anton
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] glibc/ld.so
2005-04-13 18:26 ` Anton D. Kachalov
@ 2005-04-13 22:29 ` Dmitry V. Levin
2005-04-14 5:22 ` [devel] glibc/ld.so Alexey Tourbin
2005-04-14 5:15 ` [devel] Re: Q: deparse failed Alexey Tourbin
2005-04-15 7:19 ` Alexey Tourbin
2 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2005-04-13 22:29 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1597 bytes --]
On Wed, Apr 13, 2005 at 10:26:12PM +0400, Anton D. Kachalov wrote:
> Найди 10 отличий:
>
> $
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64/ld-linux-x86-64.so.2
> --library-path
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/lib64
> /usr/bin/perl -MO=PerlReq
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
> Segmentation fault
>
> $
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64/ld-linux-x86-64.so.2
> --library-path
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64:~/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/lib64
> /usr/bin/perl -MO=PerlReq
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
> syntax OK
>
> $ /lib64/ld-linux-x86-64.so.2 --library-path
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/lib64:~/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/lib64
> /usr/bin/perl -MO=PerlReq
> /home/mouse/hasher/chroot/usr/src/RPM/tmp/glibc-buildroot/usr/bin/mtrace
> Segmentation fault
>
> Т.е. проблема в том, что ты зря выставляешь LD_LIBRARY_PATH в perl.req.
Это намёк на 2 факта:
1. Добавлять %_libdir в LD_LIBRARY_PATH недостаточно, ибо есть ещё /%_lib.
2. Для использования свежесобранной glibc, как правило, использование
свежесобранного же ld.so является необходимым требованием, нарушение
которого грозит SIGSEGV'ами.
Этот факт стоит иметь в виду всем, кто собирает или планирует собирать
glibc.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: glibc/ld.so
2005-04-13 22:29 ` [devel] glibc/ld.so Dmitry V. Levin
@ 2005-04-14 5:22 ` Alexey Tourbin
2005-04-14 10:46 ` Dmitry V. Levin
0 siblings, 1 reply; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-14 5:22 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1096 bytes --]
On Thu, Apr 14, 2005 at 02:29:38AM +0400, Dmitry V. Levin wrote:
> 1. Добавлять %_libdir в LD_LIBRARY_PATH недостаточно, ибо есть ещё /%_lib.
Так сейчас *все* пути добавляется, из-за этого и проблемы:
$ perl -V:libpth
libpth='/usr/local/lib64 /usr/local/lib /lib64 /usr/lib64 /lib /usr/lib';
$
Если добавлять только /usr/lib, то проблема типа решается:
$ LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -MO=PerlReq /home/at/tmp/glibc-buildroot/usr/bin/mtrace
zsh: segmentation fault LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/lib perl -MO=PerlReq
$ LD_LIBRARY_PATH=/home/at/tmp/glibc-buildroot/usr/lib perl -MO=PerlReq /home/at/tmp/glibc-buildroot/usr/bin/mtrace
/home/at/tmp/glibc-buildroot/usr/bin/mtrace syntax OK
$
> 2. Для использования свежесобранной glibc, как правило, использование
> свежесобранного же ld.so является необходимым требованием, нарушение
> которого грозит SIGSEGV'ами.
То есть линкеру небезразлично, какой libc загружать?
Как линкер (статический бинарь) связан с *одной из* загружаемых библиотек?
Даешь glibc-agnostic linker! :)
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] Re: glibc/ld.so
2005-04-14 5:22 ` [devel] glibc/ld.so Alexey Tourbin
@ 2005-04-14 10:46 ` Dmitry V. Levin
0 siblings, 0 replies; 12+ messages in thread
From: Dmitry V. Levin @ 2005-04-14 10:46 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 560 bytes --]
On Thu, Apr 14, 2005 at 09:22:11AM +0400, Alexey Tourbin wrote:
> On Thu, Apr 14, 2005 at 02:29:38AM +0400, Dmitry V. Levin wrote:
> > 2. Для использования свежесобранной glibc, как правило, использование
> > свежесобранного же ld.so является необходимым требованием, нарушение
> > которого грозит SIGSEGV'ами.
>
> То есть линкеру небезразлично, какой libc загружать?
> Как линкер (статический бинарь) связан с *одной из* загружаемых библиотек?
> Даешь glibc-agnostic linker! :)
Наоборот, glibc не безразлично, чем её загрузили.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: Q: deparse failed
2005-04-13 18:26 ` Anton D. Kachalov
2005-04-13 22:29 ` [devel] glibc/ld.so Dmitry V. Levin
@ 2005-04-14 5:15 ` Alexey Tourbin
2005-04-15 7:19 ` Alexey Tourbin
2 siblings, 0 replies; 12+ messages in thread
From: @ 2005-04-14 5:15 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: Q: deparse failed
2005-04-13 18:26 ` Anton D. Kachalov
2005-04-13 22:29 ` [devel] glibc/ld.so Dmitry V. Levin
2005-04-14 5:15 ` [devel] Re: Q: deparse failed Alexey Tourbin
@ 2005-04-15 7:19 ` Alexey Tourbin
2 siblings, 0 replies; 12+ messages in thread
From: @ 2005-04-15 7:19 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-04-15 7:19 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-12 21:42 [devel] Q: deparse failed Anton D. Kachalov
2005-04-12 23:56 ` [devel] " Alexey Tourbin
2005-04-13 0:35 ` Alexey Tourbin
2005-04-13 6:53 ` Anton D. Kachalov
2005-04-13 16:05 ` Alexey Tourbin
2005-04-13 16:18 ` Alexey Tourbin
2005-04-13 18:26 ` Anton D. Kachalov
2005-04-13 22:29 ` [devel] glibc/ld.so Dmitry V. Levin
2005-04-14 5:22 ` [devel] glibc/ld.so Alexey Tourbin
2005-04-14 10:46 ` Dmitry V. Levin
2005-04-14 5:15 ` [devel] Re: Q: deparse failed Alexey Tourbin
2005-04-15 7:19 ` Alexey Tourbin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git