Здравствуйте Уважаемые!Помогите пожалуйста локализовать проблему. Значит есть у меня тестовый писюк, на котором я по большей части экспериментирую. Стоит там:
FreeBSD BSD-NUC 13.0-CURRENT FreeBSD 13.0-CURRENT r340975 BSDSERV amd64И я периодически обновляю дерево сорцов и пересобираю систему. И в какой-то момент собираться она у меня перестала. Выдаёт:
/usr/bin/ld: error: undefined symbol: version
>>> referenced by traceroute.c
>>> traceroute.o:(usage)cc: error: linker command failed with exit code 1 (use -v to see invocation)
Обновляю исходники до актуальной ревизии, и та же херня. Пробовал удалять весь /usr/src и по новой получать, не помогает. Так уже с месяц проблема эта. Сижу можно сказать на "старом" -CURRENT'е :)
Пробовал собирать и в один поток и в несколько, одинаковый результат, подскажите пожалуйста в чём может быть причина?
-------------------------------------------------------------------------
cc -target x86_64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/amd64.amd64/tmp -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -pg -Os -pipe -march=native -DNO__SCCSID -DNO__RCSID -I/usr/src/lib/libc/include -I/usr/src/include -I/usr/src/lib/libc/amd64 -DNLS -D__DBINTERFACE_PRIVATE -I/usr/src/contrib/gdtoa -I/usr/src/contrib/libc-vis -DINET6 -I/usr/obj/usr/src/amd64.amd64/lib/libc -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE -I/usr/src/lib/libmd -I/usr/src/contrib/jemalloc/include -DMALLOC_PRODUCTION -I/usr/src/contrib/tzcode/stdtime -I/usr/src/lib/libc/stdtime -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DWANT_HYPERV -DYP -DNS_CACHING -DSYMBOL_VERSIONING -DNDEBUG -MD -MF.depend.xdryp.po -MTxdryp.po -std=gnu99 -fstack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Qunused-arguments -I/usr/src/lib/libutil -I/usr/src/lib/msun/amd64 -I/usr/src/lib/msun/x86 -I/usr/src/lib/msun/src -c /usr/src/lib/libc/yp/xdryp.c -o xdryp.po
--- all_subdir_secure ---
--- EVP_PKEY_CTX_set_rsa_pss_keygen_md.3.gz ---
gzip -cn /usr/src/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 > EVP_PKEY_CTX_set_rsa_pss_keygen_md.3.gz
--- all_subdir_usr.bin ---
--- all_subdir_usr.bin/shar ---
===> usr.bin/shar (all)
--- shar.1.gz ---
gzip -cn /usr/src/usr.bin/shar/shar.1 > shar.1.gz
--- all_subdir_usr.sbin ---
--- all_subdir_usr.sbin/traceroute ---
/usr/bin/ld: error: undefined symbol: version
>>> referenced by traceroute.c
>>> traceroute.o:(usage)cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [traceroute] Error code 1make[4]: stopped in /usr/src/usr.sbin/traceroute
1 errormake[4]: stopped in /usr/src/usr.sbin/traceroute
*** [all_subdir_usr.sbin/traceroute] Error code 2make[3]: stopped in /usr/src/usr.sbin
--- all_subdir_secure ---
A failure has been detected in another branch of the parallel makemake[5]: stopped in /usr/src/secure/lib/libcrypto
*** [all_subdir_secure/lib/libcrypto] Error code 2make[4]: stopped in /usr/src/secure/lib
1 errormake[4]: stopped in /usr/src/secure/lib
*** [all_subdir_secure/lib] Error code 2make[3]: stopped in /usr/src/secure
1 errormake[3]: stopped in /usr/src/secure
--- all_subdir_usr.sbin ---
--- all_subdir_usr.sbin/tcpdump ---
A failure has been detected in another branch of the parallel makemake[5]: stopped in /usr/src/usr.sbin/tcpdump/tcpdump
--- all_subdir_secure ---
*** [all_subdir_secure] Error code 2make[2]: stopped in /usr/src
--- all_subdir_usr.sbin ---
*** [all_subdir_usr.sbin/tcpdump/tcpdump] Error code 2make[4]: stopped in /usr/src/usr.sbin/tcpdump
1 errormake[4]: stopped in /usr/src/usr.sbin/tcpdump
*** [all_subdir_usr.sbin/tcpdump] Error code 2make[3]: stopped in /usr/src/usr.sbin
--- all_subdir_usr.bin ---
A failure has been detected in another branch of the parallel makemake[4]: stopped in /usr/src/usr.bin/shar
*** [all_subdir_usr.bin/shar] Error code 2make[3]: stopped in /usr/src/usr.bin
1 errormake[3]: stopped in /usr/src/usr.bin
*** [all_subdir_usr.bin] Error code 2make[2]: stopped in /usr/src
--- all_subdir_usr.sbin ---
--- all_subdir_usr.sbin/tzsetup ---
A failure has been detected in another branch of the parallel makemake[4]: stopped in /usr/src/usr.sbin/tzsetup
--- all_subdir_lib ---
A failure has been detected in another branch of the parallel makemake[4]: stopped in /usr/src/lib/libc
*** [all_subdir_lib/libc] Error code 2make[3]: stopped in /usr/src/lib
--- all_subdir_usr.sbin ---
*** [all_subdir_usr.sbin/tzsetup] Error code 2make[3]: stopped in /usr/src/usr.sbin
3 errorsmake[3]: stopped in /usr/src/usr.sbin
*** [all_subdir_usr.sbin] Error code 2make[2]: stopped in /usr/src
--- all_subdir_lib ---
--- all_subdir_lib/libc++ ---
A failure has been detected in another branch of the parallel makemake[4]: stopped in /usr/src/lib/libc++
*** [all_subdir_lib/libc++] Error code 2make[3]: stopped in /usr/src/lib
2 errorsmake[3]: stopped in /usr/src/lib
*** [all_subdir_lib] Error code 2make[2]: stopped in /usr/src
4 errorsmake[2]: stopped in /usr/src
*** [everything] Error code 2make[1]: stopped in /usr/src
1 errormake[1]: stopped in /usr/src
*** [buildworld] Error code 2make: stopped in /usr/src
1 errormake: stopped in /usr/src
> Здравствуйте Уважаемые!
> Помогите пожалуйста локализовать проблему. Значит есть у меня тестовый писюк, на котором
> я по большей части экспериментирую. Стоит там:
> FreeBSD BSD-NUC 13.0-CURRENT FreeBSD 13.0-CURRENT r340975 BSDSERV amd64
> И я периодически обновляю дерево сорцов и пересобираю систему. И в какой-то
> момент собираться она у меня перестала. Выдаёт:
> /usr/bin/ld: error: undefined symbol: version
>>>> referenced by traceroute.c
>>>> traceroute.o:(usage)мягко говоря неуместно спрашивать про freebsd-current, да еще с которой Вы экспериментируете.
Для начала, обнулите /etc/[make|src].conf, выполните правильно svn
и далее нужно правильно собрать, как это сделать, расписано в:
- /usr/src/Makefile
и
- /usr/src/UPDATINGне забывая перед сборкой очистить /usr/obj/
> мягко говоря неуместно спрашивать про freebsd-current, да еще с которой Вы экспериментируете.
> Для начала, обнулите /etc/[make|src].conf, выполните правильно svn
> и далее нужно правильно собрать, как это сделать, расписано в:
> - /usr/src/Makefile
> и
> - /usr/src/UPDATING
> не забывая перед сборкой очистить /usr/obj/Да я понимаю что по всем пунктам в описании сквозит что сам и есть злобный буратино :) Но где как не на форуме искать помощи.
В итоге make.conf и src.conf убрал.
Сделал
rm -rf /usr/obj
rm -rf /usr/src
svnlite co https://svn.freebsd.org/base/head /usr/src
make buildworldПока жду, по результату отпишусь.
> - /usr/src/UPDATINGЭто я уже читал. Единственное что похоже, это:
> 20181211:
> Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
> 7.0.1. Please see the 20141231 entry below for information about
> prerequisites and upgrading, if you are not already using clang 3.5.0
> or higherи
>20181126:
> On amd64, arm64 and armv7 (architectures that install LLVM's ld.lld
> linker as /usr/bin/ld) GNU ld is no longer installed as ld.bfd, as
> it produces broken binaries when ifuncs are in use. Users needing
> GNU ld should install the binutils port or package.Но по первому пункту, я обновляюсь же с -CURRENT'а в котором llvm 6.0.1 так что вроде как не мой случай, а второй пункт... Написано что пользователи которым gnu ld нужен... Я если честно не знаю нужен ли он мне, но думаю если он был бы 100% нужен для сборки системы то это бы указали в заметке более чётко.
> Но по первому пункту, я обновляюсь же с -CURRENT'а в котором llvm
> 6.0.1 так что вроде как не мой случай, а второй пункт...Раньше когда был молодым, то тоже баловался с current, и вы знаете, у меня он тоже иногда не собирался...
>> Но по первому пункту, я обновляюсь же с -CURRENT'а в котором llvm
>> 6.0.1 так что вроде как не мой случай, а второй пункт...
> Раньше когда был молодым, то тоже баловался с current, и вы
> знаете, у меня он тоже иногда не собирался...:) (что означает - это в порядке вещей для current)
Собственно, чтобы следить за развитием CURRENT, imho, следует достаточно
регулярно читать freebsd-current.
> знаете, у меня он тоже иногда собирался...fixed, не благодари
> не забывая перед сборкой очистить /usr/obj/Не помогло. Сделал rm -rf /usr/obj, /etc/make.conf, /etc/src.conf
Выдаёт ровно то же самое.
вполне ожидаемо для CURRENT версии, ничего удивительного тут нет.а чтобы постоянно следить и исправлять вместе с разработчиками такие ошибки, подпишитесь на список рассылки CURRENT и следуйте инструкциям.
В помощь:
https://www.freebsd.org/doc/handbook/current-stable.html
https://ci.freebsd.org/
> вполне ожидаемо для CURRENT версии, ничего удивительного тут нет.
> а чтобы постоянно следить и исправлять вместе с разработчиками такие ошибки, подпишитесь
> на список рассылки CURRENT и следуйте инструкциям.
> В помощь:
> https://www.freebsd.org/doc/handbook/current-stable.html
> https://ci.freebsd.org/Так я же написал вроде вначале где-то, что уже месяц многократно синхронизирую дерево исходников и один и тот же результат.
Последняя информация:
uname -a
---------------------
FreeBSD BSD-NUC 13.0-CURRENT FreeBSD 13.0-CURRENT r340975 BSDSERV amd64cd /usr/src && svnlite info
-----------------------------
Path: .
Working Copy Root Path: /usr/src
URL: https://svn.freebsd.org/base/head
Relative URL: ^/head
Repository Root: https://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 342558
Node Kind: directory
Schedule: normal
Last Changed Author: mav
Last Changed Rev: 342558
Last Changed Date: 2018-12-28 00:15:24 +0500 (Fri, 28 Dec 2018)
Но данная ревизия ничего не значит, потому что с r340975 до r342558 прошло больше месяца и я несколько раз освежал дерево сорцов и пробовал собрать мир. Результат всегда был один и тот же.
Сейчас удалены make.conf и src.conf и результат тот же.
> Но данная ревизия ничего не значит, потому что с r340975 до r342558
> прошло больше месяца и я несколько раз освежал дерево сорцов и
> пробовал собрать мир. Результат всегда был один и тот же.
> Сейчас удалены make.conf и src.conf и результат тот же.Можно ещё попробовать не использовать флаг -j. Какой у вас процессор и какая файловая система используется для /usr/obj?
> Можно ещё попробовать не использовать флаг -j. Какой у вас процессор и
> какая файловая система используется для /usr/obj?Процессор Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz (2304.09-MHz K8-class CPU)
ФС: ZFSЯ пробовал и в один поток собирать, результат тот же. Все src.conf и make.conf удалил, но всё так же.
>> Можно ещё попробовать не использовать флаг -j. Какой у вас процессор и
>> какая файловая система используется для /usr/obj?
> Процессор Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz (2304.09-MHz K8-class CPU)
> ФС: ZFS
> Я пробовал и в один поток собирать, результат тот же. Все src.conf
> и make.conf удалил, но всё так же.Странно это всё. Я обновляю систему на ноуте примерно раз в 1.5-2 месяца, подобных проблем не припомню.
Но видимо нужно пробовать совет Глеба из
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233862
>>> Можно ещё попробовать не использовать флаг -j. Какой у вас процессор и
>>> какая файловая система используется для /usr/obj?
>> Процессор Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz (2304.09-MHz K8-class CPU)
>> ФС: ZFS
>> Я пробовал и в один поток собирать, результат тот же. Все src.conf
>> и make.conf удалил, но всё так же.
> Странно это всё. Я обновляю систему на ноуте примерно раз в 1.5-2
> месяца, подобных проблем не припомню.
> Но видимо нужно пробовать совет Глеба из
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233862Спасибо огромное! Именно мой случай. Проверил сперва сделав
head -1 /usr/src/contrib/traceroute/VERSION
выдаёт пусто, после замены из rescue стал работать корректно. Два виртуальных пива товарищам Андрею и Глебу!
>[оверквотинг удален]
>>> Я пробовал и в один поток собирать, результат тот же. Все src.conf
>>> и make.conf удалил, но всё так же.
>> Странно это всё. Я обновляю систему на ноуте примерно раз в 1.5-2
>> месяца, подобных проблем не припомню.
>> Но видимо нужно пробовать совет Глеба из
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233862
> Спасибо огромное! Именно мой случай. Проверил сперва сделав
> head -1 /usr/src/contrib/traceroute/VERSION
> выдаёт пусто, после замены из rescue стал работать корректно. Два виртуальных пива
> товарищам Андрею и Глебу!есть еще один вариант, если ничего не помогает:
- берете и ставите на флешку последний snapshot
- загружаетесь с флешки
- монтируете с диска /usr/obj
- запускаете сборку
- если все Ok - монтируете корень диска и запускаете установку с указанием DESTINATION
на диск
> есть еще один вариант, если ничего не помогает:
> - берете и ставите на флешку последний snapshot
> - загружаетесь с флешки
> - монтируете с диска /usr/obj
> - запускаете сборку
> - если все Ok - монтируете корень диска и запускаете установку с
> указанием DESTINATION
> на дискСпасибо! Возьму на заметку, я пробовал на шару чинить систему как-то монтируя установочный образ и копируя из него системные папки. Уж не помню получилось или нет, но мыслил примерно так же.