ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Как победить eu-elflint с его unknown symbol binding?
@ 2010-05-11 10:42 Ivan A. Melnikov
  2010-05-11 10:51 ` Andrey Rahmatullin
  2010-05-11 11:53 ` Alexey Tourbin
  0 siblings, 2 replies; 4+ messages in thread
From: Ivan A. Melnikov @ 2010-05-11 10:42 UTC (permalink / raw)
  To: devel


Здравствуйте.

Пытаюсь собрать boost 1.43.0, пока при помощи gear-rpm -ba в локальной
системе (Сизиф x86_64). В конце сборки получаю кучу ошибок от
eu-elflint (кусок лога ниже). Google и search.altlinux.org не помогли.
Подскажите, пожалуйста, как с этим бороться.

Кусок лога сборки:

Stripping binaries in /tmp/boost-buildroot (executable,shared)
Verifying ELF objects in /tmp/boost-buildroot (arch=normal,fhs=normal,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
section [ 3] '.dynsym': symbol 115: unknown symbol binding
section [ 3] '.dynsym': symbol 121: unknown symbol binding
section [ 3] '.dynsym': symbol 122: unknown symbol binding
section [ 3] '.dynsym': symbol 123: unknown symbol binding
section [ 3] '.dynsym': symbol 137: unknown symbol binding
section [ 3] '.dynsym': symbol 147: unknown symbol binding
section [ 3] '.dynsym': symbol 150: unknown symbol binding
section [ 3] '.dynsym': symbol 152: unknown symbol binding
section [ 3] '.dynsym': symbol 153: unknown symbol binding
section [ 3] '.dynsym': symbol 154: unknown symbol binding
section [ 3] '.dynsym': symbol 156: unknown symbol binding
section [ 3] '.dynsym': symbol 170: unknown symbol binding
section [ 3] '.dynsym': symbol 172: unknown symbol binding
section [ 3] '.dynsym': symbol 174: unknown symbol binding
section [ 3] '.dynsym': symbol 177: unknown symbol binding
section [ 3] '.dynsym': symbol 180: unknown symbol binding
section [ 3] '.dynsym': symbol 189: unknown symbol binding
section [ 3] '.dynsym': symbol 190: unknown symbol binding
section [ 3] '.dynsym': symbol 200: unknown symbol binding
section [ 3] '.dynsym': symbol 201: unknown symbol binding
section [ 3] '.dynsym': symbol 208: unknown symbol binding
section [ 3] '.dynsym': symbol 214: unknown symbol binding
section [ 3] '.dynsym': symbol 215: unknown symbol binding
section [ 3] '.dynsym': symbol 216: unknown symbol binding
section [ 3] '.dynsym': symbol 217: unknown symbol binding
section [ 3] '.dynsym': symbol 218: unknown symbol binding
section [ 3] '.dynsym': symbol 227: unknown symbol binding
section [ 3] '.dynsym': symbol 232: unknown symbol binding
section [ 3] '.dynsym': symbol 234: unknown symbol binding
section [ 3] '.dynsym': symbol 235: unknown symbol binding
section [ 3] '.dynsym': symbol 237: unknown symbol binding
section [ 3] '.dynsym': symbol 238: unknown symbol binding
section [ 3] '.dynsym': symbol 239: unknown symbol binding
section [ 3] '.dynsym': symbol 240: unknown symbol binding
section [ 3] '.dynsym': symbol 241: unknown symbol binding
section [ 3] '.dynsym': symbol 245: unknown symbol binding
section [ 3] '.dynsym': symbol 247: unknown symbol binding
section [ 3] '.dynsym': symbol 249: unknown symbol binding
section [ 3] '.dynsym': symbol 250: unknown symbol binding
section [ 3] '.dynsym': symbol 256: unknown symbol binding
section [ 3] '.dynsym': symbol 257: unknown symbol binding
section [ 3] '.dynsym': symbol 258: unknown symbol binding
section [ 3] '.dynsym': symbol 259: unknown symbol binding
section [ 3] '.dynsym': symbol 261: unknown symbol binding
section [ 3] '.dynsym': symbol 262: unknown symbol binding
section [ 3] '.dynsym': symbol 263: unknown symbol binding
section [ 3] '.dynsym': symbol 264: unknown symbol binding
section [ 3] '.dynsym': symbol 266: unknown symbol binding
section [ 3] '.dynsym': symbol 267: unknown symbol binding
section [ 3] '.dynsym': symbol 269: unknown symbol binding
section [ 3] '.dynsym': symbol 270: unknown symbol binding
section [ 3] '.dynsym': symbol 271: unknown symbol binding
section [ 3] '.dynsym': symbol 274: unknown symbol binding
section [ 3] '.dynsym': symbol 276: unknown symbol binding
section [ 3] '.dynsym': symbol 277: unknown symbol binding
section [ 3] '.dynsym': symbol 278: unknown symbol binding
section [ 3] '.dynsym': symbol 279: unknown symbol binding
section [ 3] '.dynsym': symbol 281: unknown symbol binding
section [ 3] '.dynsym': symbol 283: unknown symbol binding
section [ 3] '.dynsym': symbol 287: unknown symbol binding
section [ 3] '.dynsym': symbol 289: unknown symbol binding
section [ 3] '.dynsym': symbol 290: unknown symbol binding
section [ 3] '.dynsym': symbol 291: unknown symbol binding
section [ 3] '.dynsym': symbol 296: unknown symbol binding
section [ 3] '.dynsym': symbol 297: unknown symbol binding
section [ 3] '.dynsym': symbol 298: unknown symbol binding
section [ 3] '.dynsym': symbol 301: unknown symbol binding
section [ 3] '.dynsym': symbol 302: unknown symbol binding
section [ 3] '.dynsym': symbol 303: unknown symbol binding
section [ 3] '.dynsym': symbol 304: unknown symbol binding
section [ 3] '.dynsym': symbol 305: unknown symbol binding
section [ 3] '.dynsym': symbol 307: unknown symbol binding
section [ 3] '.dynsym': symbol 315: unknown symbol binding
section [ 3] '.dynsym': symbol 319: unknown symbol binding
section [ 3] '.dynsym': symbol 323: unknown symbol binding
section [ 3] '.dynsym': symbol 324: unknown symbol binding
section [ 3] '.dynsym': symbol 331: unknown symbol binding
section [ 3] '.dynsym': symbol 338: unknown symbol binding
section [ 3] '.dynsym': symbol 340: unknown symbol binding
section [ 3] '.dynsym': symbol 341: unknown symbol binding
section [ 3] '.dynsym': symbol 349: unknown symbol binding
section [ 3] '.dynsym': symbol 359: unknown symbol binding
section [ 3] '.dynsym': symbol 360: unknown symbol binding
section [ 3] '.dynsym': symbol 369: unknown symbol binding
section [ 3] '.dynsym': symbol 370: unknown symbol binding
section [ 3] '.dynsym': symbol 371: unknown symbol binding
section [ 3] '.dynsym': symbol 372: unknown symbol binding
section [ 3] '.dynsym': symbol 375: unknown symbol binding
section [ 3] '.dynsym': symbol 377: unknown symbol binding
section [ 3] '.dynsym': symbol 378: unknown symbol binding
section [ 3] '.dynsym': symbol 379: unknown symbol binding
section [ 3] '.dynsym': symbol 380: unknown symbol binding
section [ 3] '.dynsym': symbol 383: unknown symbol binding
section [ 3] '.dynsym': symbol 384: unknown symbol binding
section [ 3] '.dynsym': symbol 385: unknown symbol binding
section [ 3] '.dynsym': symbol 386: unknown symbol binding
section [ 3] '.dynsym': symbol 388: unknown symbol binding
section [ 3] '.dynsym': symbol 389: unknown symbol binding
section [ 3] '.dynsym': symbol 392: unknown symbol binding
section [ 3] '.dynsym': symbol 402: unknown symbol binding
section [ 3] '.dynsym': symbol 403: unknown symbol binding
section [ 3] '.dynsym': symbol 404: unknown symbol binding
section [ 3] '.dynsym': symbol 410: unknown symbol binding
section [ 3] '.dynsym': symbol 414: unknown symbol binding
section [ 3] '.dynsym': symbol 419: unknown symbol binding
section [ 3] '.dynsym': symbol 420: unknown symbol binding
section [ 3] '.dynsym': symbol 428: unknown symbol binding
section [ 3] '.dynsym': symbol 430: unknown symbol binding
section [ 3] '.dynsym': symbol 431: unknown symbol binding
section [ 3] '.dynsym': symbol 439: unknown symbol binding
section [ 3] '.dynsym': symbol 440: unknown symbol binding
section [ 3] '.dynsym': symbol 441: unknown symbol binding
section [ 3] '.dynsym': symbol 446: unknown symbol binding
section [ 3] '.dynsym': symbol 447: unknown symbol binding
section [ 3] '.dynsym': symbol 449: unknown symbol binding
section [ 3] '.dynsym': symbol 450: unknown symbol binding
section [ 3] '.dynsym': symbol 452: unknown symbol binding
section [ 3] '.dynsym': symbol 454: unknown symbol binding
section [ 3] '.dynsym': symbol 455: unknown symbol binding
section [ 3] '.dynsym': symbol 456: unknown symbol binding
section [ 3] '.dynsym': symbol 457: unknown symbol binding
section [ 3] '.dynsym': symbol 458: unknown symbol binding
section [ 3] '.dynsym': symbol 459: unknown symbol binding
section [ 3] '.dynsym': symbol 465: unknown symbol binding
section [ 3] '.dynsym': symbol 466: unknown symbol binding
section [ 3] '.dynsym': symbol 467: unknown symbol binding
section [ 3] '.dynsym': symbol 468: unknown symbol binding
section [ 3] '.dynsym': symbol 474: unknown symbol binding
section [ 3] '.dynsym': symbol 480: unknown symbol binding
section [ 3] '.dynsym': symbol 482: unknown symbol binding
section [ 3] '.dynsym': symbol 485: unknown symbol binding
section [ 3] '.dynsym': symbol 486: unknown symbol binding
section [ 3] '.dynsym': symbol 491: unknown symbol binding
section [ 3] '.dynsym': symbol 493: unknown symbol binding
section [ 3] '.dynsym': symbol 495: unknown symbol binding
section [ 3] '.dynsym': symbol 496: unknown symbol binding
section [ 3] '.dynsym': symbol 498: unknown symbol binding
section [ 3] '.dynsym': symbol 500: unknown symbol binding
section [ 3] '.dynsym': symbol 516: unknown symbol binding
section [ 3] '.dynsym': symbol 517: unknown symbol binding
section [ 3] '.dynsym': symbol 519: unknown symbol binding
section [ 3] '.dynsym': symbol 520: unknown symbol binding
section [ 3] '.dynsym': symbol 521: unknown symbol binding
section [ 3] '.dynsym': symbol 535: unknown symbol binding
section [ 3] '.dynsym': symbol 536: unknown symbol binding
section [ 3] '.dynsym': symbol 538: unknown symbol binding
section [ 3] '.dynsym': symbol 539: unknown symbol binding
section [ 3] '.dynsym': symbol 544: unknown symbol binding
section [ 3] '.dynsym': symbol 545: unknown symbol binding
section [ 3] '.dynsym': symbol 546: unknown symbol binding
section [ 3] '.dynsym': symbol 548: unknown symbol binding
section [ 3] '.dynsym': symbol 551: unknown symbol binding
section [ 3] '.dynsym': symbol 561: unknown symbol binding
section [ 3] '.dynsym': symbol 567: unknown symbol binding
section [ 3] '.dynsym': symbol 594: unknown symbol binding
section [ 3] '.dynsym': symbol 606: unknown symbol binding
section [ 3] '.dynsym': symbol 607: unknown symbol binding
section [ 3] '.dynsym': symbol 610: unknown symbol binding
section [ 3] '.dynsym': symbol 613: unknown symbol binding
section [ 3] '.dynsym': symbol 616: unknown symbol binding
section [ 3] '.dynsym': symbol 617: unknown symbol binding
section [ 3] '.dynsym': symbol 632: unknown symbol binding
section [ 3] '.dynsym': symbol 633: unknown symbol binding
section [ 3] '.dynsym': symbol 638: unknown symbol binding
verify-elf: WARNING: ./usr/lib64/libboost_math_tr1-st.so.1.43.0: eu-elflint failed

[... skip ...]

section [ 3] '.dynsym': symbol 1561: unknown symbol binding
section [ 3] '.dynsym': symbol 1577: unknown symbol binding
verify-elf: WARNING: ./usr/lib64/libboost_wave.so.1.43.0: eu-elflint failed
ошибка: Неверный код возврата из /tmp/rpm-tmp.5122 (%install)


Ошибки сборки пакетов:
    Неверный код возврата из /tmp/rpm-tmp.5122 (%install)
-- 
WBR,
Ivan A. Melnikov


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Как победить eu-elflint с его unknown symbol binding?
  2010-05-11 10:42 [devel] Как победить eu-elflint с его unknown symbol binding? Ivan A. Melnikov
@ 2010-05-11 10:51 ` Andrey Rahmatullin
  2010-05-11 12:32   ` Ivan A. Melnikov
  2010-05-11 11:53 ` Alexey Tourbin
  1 sibling, 1 reply; 4+ messages in thread
From: Andrey Rahmatullin @ 2010-05-11 10:51 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 624 bytes --]

On Tue, May 11, 2010 at 02:42:48PM +0400, Ivan A. Melnikov wrote:
> системе (Сизиф x86_64). В конце сборки получаю кучу ошибок от
> eu-elflint (кусок лога ниже).
Это ворнинги.

> Подскажите, пожалуйста, как с этим бороться.
Никто не знает, да и не борется никто.

> ошибка: Неверный код возврата из /tmp/rpm-tmp.5122 (%install)
Ошибка где-то в скипнутом.

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

В Fedora в пакете openldap-servers лежит сервис ldap.
В Debian в пакете slapd лежит сервис slapd.
Мы отличились. В пакете openldap-servers лежит сервис slapd :)
		-- lav in #14701

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Как победить eu-elflint с его unknown symbol binding?
  2010-05-11 10:42 [devel] Как победить eu-elflint с его unknown symbol binding? Ivan A. Melnikov
  2010-05-11 10:51 ` Andrey Rahmatullin
@ 2010-05-11 11:53 ` Alexey Tourbin
  1 sibling, 0 replies; 4+ messages in thread
From: Alexey Tourbin @ 2010-05-11 11:53 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2464 bytes --]

On Tue, May 11, 2010 at 02:42:48PM +0400, Ivan A. Melnikov wrote:
> Пытаюсь собрать boost 1.43.0, пока при помощи gear-rpm -ba в локальной
> системе (Сизиф x86_64). В конце сборки получаю кучу ошибок от
> eu-elflint (кусок лога ниже). Google и search.altlinux.org не помогли.
> Подскажите, пожалуйста, как с этим бороться.

elfutils плохо понимает новые символы STB_GNU_UNIQUE.

elfutils/libebl/eblsymbolbindingname.c:
    83            if (binding >= STB_LOPROC && binding <= STB_HIPROC)
    84              snprintf (buf, len, "LOPROC+%d", binding - STB_LOPROC);
    85            else if (binding == STB_GNU_UNIQUE
    86                     && (ident = elf_getident (ebl->elf, NULL)) != NULL
    87                     && ident[EI_OSABI] == ELFOSABI_LINUX)
    88              return "GNU_UNIQUE";

Кажется binutils всегда выставляет ident[EI_OSABI] в 0, то есть
generic System V ABI.  ident[EI_OSABI] это восьмой байт в файле,
легко проверить.  Например /usr/bin/perl:
00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|

В binutils код другой.

binutils/binutils/readelf.c:
  7883        if (binding >= STB_LOPROC && binding <= STB_HIPROC)
  7884          snprintf (buff, sizeof (buff), _("<processor specific>: %d"),
  7885                    binding);
  7886        else if (binding >= STB_LOOS && binding <= STB_HIOS)
  7887          {
  7888            if (binding == STB_GNU_UNIQUE
  7889                && (elf_header.e_ident[EI_OSABI] == ELFOSABI_LINUX
  7890                    /* GNU/Linux is still using the default value 0.  */
  7891                    || elf_header.e_ident[EI_OSABI] == ELFOSABI_NONE))
  7892              return "UNIQUE";
  7893            snprintf (buff, sizeof (buff), _("<OS specific>: %d"), binding);
  7894          }

> section [ 3] '.dynsym': symbol 632: unknown symbol binding
> section [ 3] '.dynsym': symbol 633: unknown symbol binding
> section [ 3] '.dynsym': symbol 638: unknown symbol binding
> verify-elf: WARNING: ./usr/lib64/libboost_math_tr1-st.so.1.43.0: eu-elflint failed
> 
> [... skip ...]
> 
> section [ 3] '.dynsym': symbol 1561: unknown symbol binding
> section [ 3] '.dynsym': symbol 1577: unknown symbol binding
> verify-elf: WARNING: ./usr/lib64/libboost_wave.so.1.43.0: eu-elflint failed
> ошибка: Неверный код возврата из /tmp/rpm-tmp.5122 (%install)

Тем не мене, это только warning.
Там ещё где-то должен быть error.

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Как победить eu-elflint с его unknown symbol binding?
  2010-05-11 10:51 ` Andrey Rahmatullin
@ 2010-05-11 12:32   ` Ivan A. Melnikov
  0 siblings, 0 replies; 4+ messages in thread
From: Ivan A. Melnikov @ 2010-05-11 12:32 UTC (permalink / raw)
  To: devel

В Tue, 11 May 2010 16:51:02 +0600
Andrey Rahmatullin <wrar@altlinux.org> пишет:
> 
> > ошибка: Неверный код возврата из /tmp/rpm-tmp.5122 (%install)
> Ошибка где-то в скипнутом.
> 

Спасибо всем ответившим, и извините за лишний шум, действительно ошибка
не в этом. Почему-то несмотря на

%add_verify_elf_skiplist %_libdir/*boost*python*.so.*

verify_elf ругался на (специально) недолинкованную
./usr/lib64/libboost_python.so.1.43.0.

Пойду попробую разобраться.

-- 
WBR,
Ivan A. Melnikov


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-05-11 12:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-11 10:42 [devel] Как победить eu-elflint с его unknown symbol binding? Ivan A. Melnikov
2010-05-11 10:51 ` Andrey Rahmatullin
2010-05-11 12:32   ` Ivan A. Melnikov
2010-05-11 11:53 ` 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