Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.HUSKY
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.HUSKY с датами от 16 Jul 13 10:00:06 до 31 Mar 24 23:49:12, всего сообщений: 5321
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 4462 из 5321 ========================================= RU.HUSKY =
От   : Rinat H. Sadretdinow             2:5020/620         21 Jun 21 11:27:32
Кому : Michael Dukelsky                                    21 Jun 21 11:27:32
Тема : Changes in husky sources
FGHI : area://RU.HUSKY?msgid=2:5020/620+60d05230
На   : area://RU.HUSKY?msgid=2:5020/1042.3+60cbc5f6
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.HUSKY?msgid=2:5020/545+60d09bf7
==============================================================================
Hello Michael!

18 Jun 21 01:00, husky inspector wrote to All:

hi> ===========================
hi> huskylib:
hi> add "bool" definition
hi> Author: Michael Dukelsky <dukelsky@users.noreply.github.com>
hi> Date: 2021-06-17 20:32:23 +0300
hi> Committed by: Michael Dukelsky <dukelsky@users.noreply.github.com>
hi> Files:
hi> M       cvsdate.h
hi> M       huskylib.spec
hi> M       huskylib/WATCOMC.h

В https://github.com/huskyproject/fidoconf ещё fidoconf.spec поправить бы, а то иногда собирается, а иногда нет в зависимости от температуры на Марсе:

~~~
[rhs@sys3175 fidoconf]$ rpmbuild -bb fidoconf.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.VFV8KT
+ umask 022

...

gcc -s -L/usr/lib64 -L. -olinked linked.o  libfidoconfig.a -lhusky
/usr/bin/ld: linked.o: in function `subscribeCheck':
/home/rhs/rpmbuild/BUILD/fidoconf-1.9.20210502/src/linked.c:56: undefined reference to `isLinkOfArea'

...

/home/rhs/rpmbuild/BUILD/fidoconf-1.9.20210502/src/linked.c:140: undefined reference to `readConfig'
/usr/bin/ld: /home/rhs/rpmbuild/BUILD/fidoconf-1.9.20210502/src/linked.c:151: undefined reference to `getLink'
collect2: error: ld returned 1 exit status
make: *** [makefile.inc:57: linked] Error 1
~~~

Параллелизм тут вредит, в соседнем потоке начинается линковка с libfidoconfig.a, но libfidoconfig.a предыдущий поток ещё до конца не собрал, он собирается уже в самом конце, когда все линковки завершились с ошибкой:

~~~
/home/rhs/rpmbuild/BUILD/fidoconf-1.9.20210502/src/tparser.c:3568: undefined reference to `disposeConfig'
collect2: error: ld returned 1 exit status
make: *** [makefile.inc:54: tparser] Error 1
~~~

И лишь в самом конце процесса создаётся libfidoconfig.a:

~~~
ar rs libfidoconfig.a common.o fidoconf.o line.o cfg.o findtok.o areatree.o afixcmd.o afixcmn.o arealist.o version.o grptree.o stat.o
ar: creating libfidoconfig.a
error: Bad exit status from /var/tmp/rpm-tmp.2kGE6W (%build)
~~~

А иногда libfidoconfig.a успевает собраться до начала линковки, раз на раз не приходится.

Потому что макрос %make_buld раскрывается в параллельный вызов make по числу ядер:

~~~
rhs@sys3175 fidoconf]$ rpm -E %make_build
/usr/bin/make -O -j4 V=1 VERBOSE=1
[rhs@sys3175 fidoconf]$
~~~

Лечится элементарно -- в секции %build fidoconf.spec %make_build надо вызывать с ключом -j1 чтобы сборка шла не в несколько потоков как сейчас, а в один:

~~~
%build
%if %{with static}
    %if %{with debug}
        %make_build DEBUG:=1 -j1
    %else
        %make_build -j1
    %endif
%else
    %if %{with debug}
        %make_build DYNLIBS:=1 DEBUG:=1 -j1
    %else
        %make_build DYNLIBS:=1 -j1
    %endif
%endif
~~~

Это не сборка ядра, тут параллельность на время сборки не особо влияет, даже незаметно совсем в несколько потоков собирается fodoconfig или в один.

Bye!

--- GoldED+/LNX 1.1.5-b20180707
* Origin: -= Thunder Bird =- (2:5020/620)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.039285 секунды