Created attachment 10117 [details] php-8.1.1 e2k support Прошу забрать правки для собираемости php8.1 на e2k: http://git.altlinux.org/people/mike/packages/php8.1.git?p=php8.1.git;a=shortlog;h=refs/heads/master => http://git.altlinux.org/people/mike/packages/php8.1.git?p=php8.1.git;a=commitdiff;h=98b30175367cb241542fb35f158b2317a2d0f7df http://git.altlinux.org/people/mike/packages/php8.1.git?p=php8.1.git;a=commitdiff;h=b15f00f0581bd7150a92cf3d3a6e1478c0b67fcb Также прилагаю отдельно патч в виде коммита -- постараемся провести в апстрим. Правки в spec-файле: +Patch2000: php-8.1-e2k.patch ... +%ifarch %e2k +%patch2000 -p1 +%endif ... +- makecontext() patch for Elbrus
У меня готовы изменения для коммита: http://git.altlinux.org/people/ilyakurdyukov/packages/php8.1.git Но я еще раз проверяю. На Эльбрусе какая-то проблема со сборкой, собирается быстро, а потом пишет про какой-то lt-php и висит там час. Что это такое? make: Leaving directory '/usr/src/RPM/BUILD/php-source' make: Entering directory '/usr/src/RPM/BUILD/php-source' Build complete. Don't forget to run 'make test'. make: Leaving directory '/usr/src/RPM/BUILD/php-source' <8>Jan 13 07:23:48 lt-php: <12>Jan 13 08:07:44 phpt[3976039]: Basic syslog test <12>Jan 13 08:08:07 lt-php: A test syslog call invocation <12>Jan 13 08:08:07 PHPT: First line <12>Jan 13 08:08:07 PHPT: A simple \x00 message
Отправил task #293412 В общем так, сначала висит-висит около часа, а потом выплёвывает лог от тестов (далее пакет собирается нормально): make: Leaving directory '/usr/src/RPM/BUILD/php-source' <8>Jan 13 07:23:48 lt-php: <12>Jan 13 08:07:44 phpt[3976039]: Basic syslog test <12>Jan 13 08:08:07 lt-php: A test syslog call invocation <12>Jan 13 08:08:07 PHPT: First line <12>Jan 13 08:08:07 PHPT: A simple \x00 message make: Entering directory '/usr/src/RPM/BUILD/php-source' ===================================================================== PHP : /usr/src/RPM/BUILD/php-source/sapi/cli/php PHP_SAPI : cli PHP_VERSION : 8.1.1 ZEND_VERSION: 4.1.1 PHP_OS : Linux - Linux localhost.localdomain 5.4.163-elbrus-8c2-alt2.23.2 #1 SMP Fri Dec 24 19:11:05 UTC 2021 e2k INI actual : /usr/src/RPM/BUILD/php-source/tmp-php.ini More .INIs : --------------------------------------------------------------------- PHP : /usr/src/RPM/BUILD/php-source/sapi/phpdbg/phpdbg PHP_SAPI : phpdbg PHP_VERSION : 8.1.1 ZEND_VERSION: 4.1.1 PHP_OS : Linux - Linux localhost.localdomain 5.4.163-elbrus-8c2-alt2.23.2 #1 SMP Fri Dec 24 19:11:05 UTC 2021 e2k INI actual : /usr/src/RPM/BUILD/php-source/tmp-php.ini More .INIs : --------------------------------------------------------------------- CWD : /usr/src/RPM/BUILD/php-source Extra dirs : VALGRIND : Not used ===================================================================== TIME START 2022-01-13 07:19:39 ===================================================================== TEST 1/12068 [tests/run-test/extensions-shared.phpt]
Это таким образом php запускает тесты в параллельном режиме.
Created attachment 10119 [details] фрагмент dmesg (Ответ для ilyakurdyukov на комментарий #1) > На Эльбрусе какая-то проблема со сборкой, собирается быстро, а потом пишет > про какой-то lt-php и висит там час. Что это такое? Раз в итоге собирается -- соберём и будем смотреть результат; "lt-" мне лично напоминает libtool, а в dmesg -w при этой сборке довольно активно что-то летит: [670550.796695] PAGE FAULT. Page is not writable: IP=00000000008cf308 phpdbg(pid=4003963) [670550.796705] SIGSEGV. Page fault: IP=00000000008cf2f0(interrupt IP=00000000008cf308) phpdbg(pid=4003963) [670550.796708] PAGE FAULT. Signal 11 for address 0x455556815078: IP=00000000008cf308 phpdbg(pid=4003963) Полагаю, уже после попадания начальной сборки в sisyphus_e2k (для большего удобства воспроизведения) будем показывать ядерщикам МЦСТ.
тесты сейчас проверяются только для x86_64. поправьте спекфайл, отключив %ifarch x86_64 exit 1 %endif и увидите, падает ли на e2k.
Нет смысла перезапускать, потому что ошибки всё равно пишутся в лог. В логе я вижу только две: TEST FAILURE: ../php-source/ext/standard/tests/general_functions/proc_nice_basic.diff -- 001+ bool(false) 001- bool(true) -- ../php-source/ext/standard/tests/general_functions/proc_nice_basic.diff result ends. TEST FAILURE: ../php-source/ext/standard/tests/file/disk_free_space_basic.diff -- -- Free Space after writing to a file float(%f) 012+ Free Space Value Is Incorrect 013+ float(233616683008) 014+ float(233616740352) 012- Free Space Value Is Correct *** Testing with Binary Input *** float(%f) -- -- ../php-source/ext/standard/tests/file/disk_free_space_basic.diff result ends.
применено.