Created attachment 9849 [details] Полный лог сборки Действия: sudo apt-get install binutils-source SRC=`find /usr/src -type f -name 'binutils-*.tar'` mkdir -p src/binutils tar -x --strip-components=1 -f $SRC -C src/binutils mkdir -p build/obj_binutils cd build/obj_binutils ../../src/binutils/configure --target=aarch64-linux-gnu --prefix= --with-sysroot=/aarch64-linux-gnu/libc --disable-multilib make -j`nproc` VERBOSE=1 Ожидаемый результат: собираются as, ar, nm, и вот это всё. Наблюдаемый результат: ошибка CC targ-map.o yes checking for string.h... CC sim-arange.o In file included from /usr/include/signal.h:328, from ../../gnulib/import/signal.h:52, from targ-map.c:7: targ-map.c:412:17: error: initializer element is not constant 412 | { "SIGSTKSZ", SIGSTKSZ, TARGET_SIGSTKSZ }, | ^~~~~~~~ targ-map.c:412:17: note: (near initialization for ‘cb_init_signal_map[18].host_val’) make[4]: *** [Makefile:522: targ-map.o] Error 1 make[4]: *** Waiting for unfinished jobs....
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=39d53d04357606a15efd400147fa7369d71baf2c
А вы разве gdb собираете? Если вам не нужен gdb, то и sim не надо собирать. См. http://git.altlinux.org/gears/b/binutils.git?p=binutils.git;a=blob;f=alt/binutils.spec;h=af4187efb13dcf4c89947034bf7db4e5999901fe;hb=HEAD#l79 Мы хотим, чтобы каталоги gdb, gdbserver, gdbsupport и sim вообще не попадали в binutils-source? Можно попробовать освоить новую директиву exclude: в gear-rules.
(In reply to Gleb F-Malinovskiy from comment #2) > А вы разве gdb собираете? И gdb тоже. > Если вам не нужен gdb, то и sim не надо собирать. > > См. > http://git.altlinux.org/gears/b/binutils.git?p=binutils.git;a=blob;f=alt/ > binutils.spec;h=af4187efb13dcf4c89947034bf7db4e5999901fe;hb=HEAD#l79 > > Мы хотим, чтобы каталоги gdb, gdbserver, gdbsupport и sim вообще не попадали > в binutils-source? Я - нет. Я хочу собрать multitarget gdb.
Можно явно перечислить, что я хочу собрать: make -j`nproc` all-bfd all-binutils all-gas all-gold all-gprof all-ld all-lto-plugin all-libelf Но тогда придётся отслеживать появление новых (и удаление старых) целей. Это совсем занудно, хотелось бы, чтобы make -j`nproc` "просто работал". А для multitarget gdb всё равно нужно собирать sim.
Применил патч https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=39d53d04357606a15efd400147fa7369d71baf2c #287637 FAILED #1 [test-only] sisyphus binutils.git=2.37-alt3 Упали тесты. Без патча падают точно так же: #287640 FAILED #1 [test-only] sisyphus binutils.git=2.37-alt2
(In reply to Alexey Sheplyakov from comment #5) > Применил патч > https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff; > h=39d53d04357606a15efd400147fa7369d71baf2c > > #287637 FAILED #1 [test-only] sisyphus binutils.git=2.37-alt3 > > Упали тесты. Без патча падают точно так же: > > #287640 FAILED #1 [test-only] sisyphus binutils.git=2.37-alt2 Это похоже на https://sourceware.org/bugzilla/show_bug.cgi?id=28158
binutils-1:2.37-alt3 -> sisyphus: Wed Oct 20 2021 Gleb F-Malinovskiy <glebfm@altlinux> 1:2.37-alt3 - Fixed FTBFS with glibc 2.34 (ALT#41173). - glibc-source: excluded source files related to gdb (ALT#41172).
(In reply to Alexey Sheplyakov from comment #3) > И gdb тоже. Это плохая идея потому что binutils и gdb имеют совершенно разные циклы разработки. Какая-то вермия gdb конечно есть в git-овом бранче binutils-2_37-branch, но никаких исправлений для gdb в этот бранч не бекпортируется. See also: https://sourceware.org/pipermail/gdb/2014-August/044487.html (In reply to Alexey Sheplyakov from comment #4) > Можно явно перечислить, что я хочу собрать: > > make -j`nproc` all-bfd all-binutils all-gas all-gold all-gprof all-ld > all-lto-plugin all-libelf Это странный подход, самое простое было бы удалить каталоги связанные с gdb и собирать так же, как вы собирали раньше. (In reply to Alexey Sheplyakov from comment #5) > Упали тесты. Без патча падают точно так же: > #287640 FAILED #1 [test-only] sisyphus binutils.git=2.37-alt2 Угу, тестовая пересборка тоже показывала это, но срочности исправления никакой не было. (In reply to Alexey Sheplyakov from comment #6) > Это похоже на https://sourceware.org/bugzilla/show_bug.cgi?id=28158 Нет, дело было в наших патчах на тесты.