Не собирается мир - llvm

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-10 17:30:31

Добрый день всем!

Помогите советом! Есть машинка

Код: Выделить всё

FreeBSD gw.local 12.4-RELEASE-p2 FreeBSD 12.4-RELEASE-p2 #11 r372180M: Tue Feb 21 16:56:55 MSK 2023     root@gw.local:/usr/obj/usr/src/i386.i386/sys/GW  i386
FreeBSD 12.4-RELEASE-p2 #11 r372180M: Tue Feb 21 16:56:55 MSK 2023
    root@gw.local:/usr/obj/usr/src/i386.i386/sys/GW i386
FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)
CPU: Intel(R) Pentium(R) D CPU 2.80GHz (2800.06-MHz 686-class CPU)
  Origin="GenuineIntel"  Id=0xf64  Family=0xf  Model=0x6  Stepping=4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0xe49d<SSE3,DTES64,MON,DS_CPL,EST,CNXT-ID,CX16,xTPR,PDCM>
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant
real memory  = 536870912 (512 MB)...
% swapinfo
Device 1K-blocks Used Avail Capacity
/dev/md0 2097152 6560 2090592 0%

Уже неделю пытаюсь собрать мир. Чаще всего вываливается по Signal 9 где-то в районе llvm:

Код: Выделить всё

llvm-tblgen -gen-callingconv  -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV  -d RISCVGenCallingConv.inc.d -o RISCVGenCallingConv.inc  /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td
llvm-tblgen -gen-compress-inst-emitter  -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV  -d RISCVGenCompressInstEmitter.inc.d -o RISCVGenCompressInstEmitter.inc  /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td
llvm-tblgen -gen-dag-isel  -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV  -d RISCVGenDAGISel.inc.d -o RISCVGenDAGISel.inc  /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td
*** Signal 9
Killed
*** Error code 137
*** Error code 1
*** Error code 1
*** Error code 1
Пару раз просто отваливалась ssh-сессия. Может, я чего-то не дочитал? Как отключить этот RISCV или вообще этот llvm?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1983
Зарегистрирован: 2008-09-08 21:59:56

Не собирается мир - llvm

Непрочитанное сообщение Neus » 2023-03-12 21:47:57

Хрен ты на 512 мб что-то соберёшь.
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Не собирается мир - llvm

Непрочитанное сообщение Demis » 2023-03-13 11:11:27

Я-бы попробовал пересобраться с ключами:

Код: Выделить всё

make -j1 buildworld
make -j1 buildkernel
(Возможно пару раз...)
Будет долго, нудно (у меня около 23 часов занимает, правда памяти больше), но мне помогает...
Только сначала полностью вычистите старые хвосты от сборки.

guest
проходил мимо

Не собирается мир - llvm

Непрочитанное сообщение guest » 2023-03-13 12:26:26

real memory = 536870912 (512 MB)...

% swapinfo
Device 1K-blocks Used Avail Capacity
/dev/md0 2097152 6560 2090592 0%

Уже неделю пытаюсь собрать мир. Чаще всего вываливается по Signal 9 где-то в районе llvm:
1. платформа i386
2. У Вас ОП=512MB : прямо скажем не много, но как бы ничего...
3. смотрим swap - 2GB (мало для сборки)

как и что Вы собираете, нам неизвестно... тогда

1) buildworld -j 1
2) swap увеличить до 3GB

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Не собирается мир - llvm

Непрочитанное сообщение Demis » 2023-03-13 14:23:12

И ещё насчет "(Возможно пару раз...)".
Когда:
Первоначально почистились (можно по классике).

Код: Выделить всё

cd /usr/obj && chflags -R noschg *
cd /usr/obj && chflags -R noschg *
rm -rf * && ls (если ls понулям) то:
cd /usr/src && make cleandir
cd /usr/src && make cleandir (дважды !)
Запустили первый раз "make -j1 buildworld".
Если стопорнулось - не чистимся.
Записали в сторонку последние строк 10-15 (бывает и поболее нужно).
Повторяем "make -j1 buildworld".
Если опять стопорнулось - не чистимся.
Записали в сторонку последние строк 10-15.
И так до упора, либо если "последние строк 10-15" перестали меняться (т.е. точно всегда одинаковые),
вот тогда уже предмет поиска "а что не так"...
И так-же с кернелом...

Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-14 9:47:37

guest писал(а):
2023-03-13 12:26:26
Septima писал(а):
2023-03-10 17:30:31
real memory = 536870912 (512 MB)...

% swapinfo
Device 1K-blocks Used Avail Capacity
/dev/md0 2097152 6560 2090592 0%

Уже неделю пытаюсь собрать мир. Чаще всего вываливается по Signal 9 где-то в районе llvm:
1. платформа i386
2. У Вас ОП=512MB : прямо скажем не много, но как бы ничего...
Да вот всегда (от 4.Х до 8.Х включительно) было нормально, а тут решил на свежее перейти. Машинка современную винду не тянет для комфортной работы уже. В HARDWARE написано, что Ok; встало без проблем, работает в качестве роутера/dns/dhcp нормально и даже без свопа. А тут понадобился openvpn... Обновил порты - а оно мне говорит "не буду со старым pkg, clang (кажется - не помню уже). Вот и полез обновлять систему по старой памяти, заодно хотел, наконец, повыкидывать лишнее, типа IPv6, X-libsы, sendmail и прочее. А тут - вот оно... Своп включил, но это не решило... :(
guest писал(а):
2023-03-13 12:26:26
3. смотрим swap - 2GB (мало для сборки)
Гм... Дык, вроде, 5 метров всего из него используется... В пике или перед смертью не удалось поймать, но так, эпизодически, в процессе сборки больше не наблюдалось.
guest писал(а):
2023-03-13 12:26:26
как и что Вы собираете, нам неизвестно...
Да всё по хэндбуку, как учили (может, уже старая редакция, но - как помню):
cd /usr/src
svnup stable
make clean
make buildworld...

Удивило, что 3,5 гигов свободных в /usr уже не хватает для мира - перенёс obj/ на другой раздел...
guest писал(а):
2023-03-13 12:26:26
тогда

1) buildworld -j 1
2) swap увеличить до 3GB
Сейчас попробую...

ЗЫ: Ядро пересобралось без проблем

lazhu
сержант
Сообщения: 254
Зарегистрирован: 2013-08-10 14:28:38
Контактная информация:

Не собирается мир - llvm

Непрочитанное сообщение lazhu » 2023-03-14 11:03:40

Надо было не париться и ставить openvpn пакетом.
llvm это набор компиляторов, 512 RAM + 2gb swap для сборки точно не хватит

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Не собирается мир - llvm

Непрочитанное сообщение Demis » 2023-03-14 11:14:52

А почему "svnup stable" берёте?
(хотя в шапке у Вас "12.4-RELEASE-p2")

guest
проходил мимо

Не собирается мир - llvm

Непрочитанное сообщение guest » 2023-03-14 11:20:06

Да вот всегда (от 4.Х до 8.Х включительно) было нормально, а тут решил на свежее перейти.
времена "царя гороха"? ничего что система с тех пор серьезно изменилась?
Обновил порты - а оно мне говорит "не буду со старым pkg, clang
что помешало обновить pkg и далее пакеты?
Логи то Вы смотрели? А то, рушится на сборке llvm... в логах то что?
Когда критично с ОП, можно в /etc/src.conf задать single-threaded для линкера lld:
LDFLAGS.lld+= -Wl,--no-threads
и увеличить лимит pageout
# vm.pageout_oom_seq=120
это в дополнение к -j1 при buildworld

guest
проходил мимо

Не собирается мир - llvm

Непрочитанное сообщение guest » 2023-03-14 11:32:14

А почему "svnup stable" берёте?
дык ТП со времен NON-SMP FreeBSD 4.x ничего нового про систему не узнал :(
отсюда использование svnup, проблемы со swap, с pkg, clang, llvm...
судя по всему и ПК времен 90x (i386) и памяти 512MB

Я ни в коем разе не осуждаю ТП за ПК, похвально выжать из старой
железки все что можно, но она умерла лет 20 назад.

ps. Что мешало сделать cross build i386 на другой машине, хоть под виртуалкой!

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Не собирается мир - llvm

Непрочитанное сообщение Demis » 2023-03-14 11:35:30

Похоже на то!

За ключик "vm.pageout_oom_seq" - СПАСИБО!
Не знал.
А бывает очень нужно. Возьму на заметку (и линк до кучи https://bugs.freebsd.org/bugzilla/show_ ... ?id=231457).

guest
проходил мимо

Не собирается мир - llvm

Непрочитанное сообщение guest » 2023-03-14 12:26:35

IPv6, X-libsы, sendmail
sorry, забыл про верхнее:
- ipv6 - крайне не рекомендую отключать НИ В ОДНОЙ ОС (столько ошибок из-за него вылезает, девелоперы
там забудут, тут забудут...)
- X'овые библиотеки - да бог с ними, если будете ставить софт из пакетов,
лучше не трогайте, будет проще обновляться, не так много консольных
приложений и сервисов их используют в качестве зависимостей
ps. можно конечно заморочиться для экономии места и собирать
из портов, но тогда лучше иметь машину для сборки
- sendmail будет вырезан из 14.0-RELEASE

pps. Если хочется урезать систему, без сторонней машины для сборки не обойтись, а у Вас старый ПК...

Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-14 20:06:27

Demis писал(а):
2023-03-14 11:14:52
А почему "svnup stable" берёте?
(хотя в шапке у Вас "12.4-RELEASE-p2")
Дыкть, из /usr/local/svnup.conf:

Код: Выделить всё

[release]
branch=base/releng/12.4
target=/usr/src

[ports]
branch=ports/head
target=/usr/ports

[stable]
branch=base/stable/12
target=/usr/src
Вроде ж как - 12-я ветка. Выйдет 12.5 - автоматом система обновится. Мне на той машинке сильно новых наворотов не надо - она не смогёть... Или что сейчас рекомендуют в обществе?

Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-14 20:25:43

guest писал(а):
2023-03-14 11:20:06
Septima писал(а):
2023-03-14 9:47:37
Да вот всегда (от 4.Х до 8.Х включительно) было нормально, а тут решил на свежее перейти.
времена "царя гороха"? ничего что система с тех пор серьезно изменилась?
Старое админское правило: "Работает? - НЕ ТРОГАЙ!!!" К томуж, некоторое начальство тоже считает, что нет смысла тратить деньги на замену старого ящика, который вполне справляется с работой МСЭ... :( Вот и "приходится" поддерживать жизнь в системах. 4.Х, конечно, в живых уже нет, но память о ней жива. :) А 7.3 ещё работает...
guest писал(а):
2023-03-14 11:20:06
Septima писал(а):
2023-03-14 9:47:37
Обновил порты - а оно мне говорит "не буду со старым pkg, clang
что помешало обновить pkg и далее пакеты?
Ничего. Обновил. Но подумал, что пора, наверное, и систему обновить.
guest писал(а):
2023-03-14 11:20:06
Логи то Вы смотрели? А то, рушится на сборке llvm... в логах то что?
Смотрел. В messages пусто - текучка от dhcpd, sshd... Других логов, отвечающих за процесс компиляции не увидел.
guest писал(а):
2023-03-14 11:20:06
Когда критично с ОП, можно в /etc/src.conf задать single-threaded для линкера lld:
LDFLAGS.lld+= -Wl,--no-threads
и увеличить лимит pageout
# vm.pageout_oom_seq=120
это в дополнение к -j1 при buildworld
Спасибо, попробую...

Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-14 20:33:00

guest писал(а):
2023-03-14 11:32:14
дык ТП со времен NON-SMP FreeBSD 4.x ничего нового про систему не узнал
отсюда использование svnup, проблемы со swap, с pkg, clang, llvm...
судя по всему и ПК времен 90x (i386) и памяти 512MB
Я б тогда, может, и 3.Х вспомнил бы... А так - передали из головной конторы системник, который под 8 виндой просто не жилец, вот я и приспособил его под нужды...
guest писал(а):
2023-03-14 11:32:14
Я ни в коем разе не осуждаю ТП за ПК, похвально выжать из старой
железки все что можно, но она умерла лет 20 назад.
Та не - оно ещё как Ленин: живее всех живых! :)
guest писал(а):
2023-03-14 11:32:14
ps. Что мешало сделать cross build i386 на другой машине, хоть под виртуалкой!
Ничего. Просто не думал я, что так всё пошло вслед за виндою по пути выжирания всех доступных ресурсов, начиная от памяти... :( Фря издавно славилась умеренностью к железу...

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Не собирается мир - llvm

Непрочитанное сообщение snorlov » 2023-03-14 21:47:23

Я бы посмотрел в сторону /etc/make.conf и /etc/src.conf на тему CPUTYPE

Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-15 9:22:43

snorlov писал(а):
2023-03-14 21:47:23
Я бы посмотрел в сторону /etc/make.conf и /etc/src.conf на тему CPUTYPE
$ head -2 /etc/make.conf

Код: Выделить всё

CPUTYPE?=pentium4
NO_CPU_CFLAGS=false

Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-15 9:41:06

guest писал(а):
2023-03-14 11:32:14
отсюда использование svnup
Гм... Пардон, а это уже сейчас "не модно"? Чем svnup плох? Или сейчас модно весь git вытягивать и на системе хранить?
guest писал(а):
2023-03-14 11:32:14
судя по всему и ПК времен 90x (i386) и памяти 512MB
Ну, за двухядерный, почти 3-ГГцовый 4-й пень в 90-х тебе бы душу продали не то, что отдельные люди - институты бы целиком в рабство отдались... :)
А ставить х64 на 512 метров без особой перспективы наращивания, на мой взгляд, всё равно, что сенбернара в переноске для шпица держать... А покупать за свои деньги оборудование для конторы - я пока не директор и шансов на это исчезающе мало. :(

Septima
проходил мимо
Сообщения: 8
Зарегистрирован: 2023-03-10 17:24:14

Не собирается мир - llvm

Непрочитанное сообщение Septima » 2023-03-15 10:45:12

guest писал(а):
2023-03-14 11:20:06
LDFLAGS.lld+= -Wl,--no-threads

Код: Выделить всё

c++ -O2 -pipe -fno-common -I/var/obj/usr/src/i386.i386/tmp/obj-tools/lib/clang/libllvm -I/usr/src/lib/clang/include -I/usr/src/contrib/llvm-project/llvm/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_VCS_VERSION_INC -DNDEBUG -DLLVM_DEFAULT_TARGET_TRIPLE=\"i386-unknown-freebsd12.4\" -DLLVM_HOST_TRIPLE=\"i386-unknown-freebsd12.4\" -DDEFAULT_SYSROOT=\"/var/obj/usr/src/i386.i386/tmp\" -DLLVM_TARGET_ENABLE_X86 -DLLVM_NATIVE_ASMPARSER=LLVMInitializeX86AsmParser -DLLVM_NATIVE_ASMPRINTER=LLVMInitializeX86AsmPrinter -DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeX86Disassembler -DLLVM_NATIVE_TARGET=LLVMInitializeX86Target -DLLVM_NATIVE_TARGETINFO=LLVMInitializeX86TargetInfo -DLLVM_NATIVE_TARGETMC=LLVMInitializeX86TargetMC -ffunction-sections -fdata-sections -gline-tables-only -Wno-format-zero-length -Qunused-arguments -I/var/obj/usr/src/i386.i386/tmp/legacy/usr/include -fno-exceptions -fno-rtti -std=c++14 -stdlib=libc++ -Wno-c++11-extensions  -Wl,--gc-sections -static -Wl,--no-threads  -L/var/obj/usr/src/i386.i386/tmp/legacy/usr/lib -o llvm-tblgen.full  AsmMatcherEmitter.o AsmWriterEmitter.o AsmWriterInst.o Attributes.o CTagsEmitter.o CallingConvEmitter.o CodeBeadsGen.o CodeEmitterGen.o CodeGenDAGPatterns.o CodeGenHwModes.o CodeGenInstruction.o CodeGenMapTable.o CodeGenRegisters.o CodeGenSchedule.o CodeGenTarget.o DAGISelEmitter.o DAGISelMatcher.o DAGISelMatcherEmitter.o DAGISelMatcherGen.o DAGISelMatcherOpt.o DFAEmitter.o DFAPacketizerEmitter.o DirectiveEmitter.o DisassemblerEmitter.o ExegesisEmitter.o FastISelEmitter.o FixedLenDecoderEmitter.o GICombinerEmitter.o GlobalISel/CodeExpander.o GlobalISel/GIMatchDag.o GlobalISel/GIMatchDagEdge.o GlobalISel/GIMatchDagInstr.o GlobalISel/GIMatchDagOperands.o GlobalISel/GIMatchDagPredicate.o GlobalISel/GIMatchDagPredicateDependencyEdge.o GlobalISel/GIMatchTree.o GlobalISelEmitter.o InfoByHwMode.o InstrDocsEmitter.o InstrInfoEmitter.o IntrinsicEmitter.o OptEmitter.o OptParserEmitter.o OptRSTEmitter.o PredicateExpander.o PseudoLoweringEmitter.o RISCVCompressInstEmitter.o RegisterBankEmitter.o RegisterInfoEmitter.o SDNodeProperties.o SearchableTableEmitter.o SubtargetEmitter.o SubtargetFeatureInfo.o TableGen.o Types.o WebAssemblyDisassemblerEmitter.o X86DisassemblerTables.o X86EVEX2VEXTablesEmitter.o X86FoldTablesEmitter.o X86ModRMFilters.o X86RecognizableInstr.o /var/obj/usr/src/i386.i386/tmp/obj-tools/lib/clang/libllvmminimal/libllvmminimal.a -L/var/obj/usr/src/i386.i386/tmp/obj-tools/lib/libexecinfo -lexecinfo -L/var/obj/usr/src/i386.i386/tmp/obj-tools/lib/libelf -lelf -L/var/obj/usr/src/i386.i386/tmp/obj-tools/lib/ncurses/ncursesw -lncursesw -L/var/obj/usr/src/i386.i386/tmp/obj-tools/lib/libthr -lpthread  -legacy
ld: error: unknown argument '--no-threads'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [llvm-tblgen.full] Error code 1

make[3]: stopped in /usr/src/usr.bin/clang/llvm-tblgen
1 error

make[3]: stopped in /usr/src/usr.bin/clang/llvm-tblgen

guest
проходил мимо

Не собирается мир - llvm

Непрочитанное сообщение guest » 2023-03-15 15:11:52

cputype и флаги оптимизации
- довольно опасно задавать для сборки мира,
не рекомендуется, для сборки портов можно.
Все это можно увидеть в макросах сборки

svn - Вы ж не отслеживаете развитие системы, что там доступно и до какого времени..?
смотрим https://svnweb.freebsd.org/ и видим что последнее что там есть 12.x - Вам повезло
- зачем же вытягивать Весь git? git clone что нужно
- LDFLAGS.lld+= -Wl,--no-threads для i386 не пробовал и желания создавать виртуалку для
проверки нет, sorry. Линкер ld.lld до какой-то версии by default работал как single-thread,
позже by default как thread, потом добавили --no-thread.
Почему у Вас: ld: error: unknown argument '--no-threads' - очень странно:
- проблема с правильностью сборки
- проблема с sources
- проблема с флагами в /etc/make.conf или /etc/src.conf

ps. Ничего плохого в использовании старого ПК нет, вот только руководство все
время теперь будет Вам подсовывать старый хлам.
В остальном - удачи.