2016-12-24 2 views
3

Ich versuche, ein PHP-Programm zu schreiben, das PThreads auf einem Orange PI PC2 erfordert. pthreads benötigt zts, was normalerweise nicht in PHP enthalten ist, aber während der Build-Zeit einfach hinzugefügt werden kann.PHP7 kompiliert nicht auf arm64 (OrangePI PC2)

Leider bekomme ich den folgenden Fehler beim Versuch, PHP 7 zu erstellen. Ich habe 7.0.14 und 7.1 versucht. Alles funktioniert perfekt auf einem Raspberry Pi (nicht 64 Bit). Kann jemand diesen Fehler beheben?

[email protected]:~/php-7.1.0$ make -j2 
/bin/bash /home/orangepi/php-7.1.0/libtool --silent --preserve-dup-deps --mode=compile /home/orangepi/php-7.1.0/meta_ccld -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/home/orangepi/php-7.1.0/ext/opcache/ -DPHP_ATOM_INC -I/home/orangepi/php-7.1.0/include -I/home/orangepi/php-7.1.0/main -I/home/orangepi/php-7.1.0 -I/home/orangepi/php-7.1.0/ext/date/lib -I/usr/include/libxml2 -I/home/orangepi/php-7.1.0/ext/sqlite3/libsqlite -I/home/orangepi/php-7.1.0/TSRM -I/home/orangepi/php-7.1.0/Zend -D_REENTRANT -I/usr/include -g -O2 -fvisibility=hidden -pthread -DZTS -DZEND_SIGNALS -c /home/orangepi/php-7.1.0/ext/opcache/ZendAccelerator.c -o ext/opcache/ZendAccelerator.lo 
/bin/bash /home/orangepi/php-7.1.0/libtool --silent --preserve-dup-deps --mode=compile /home/orangepi/php-7.1.0/meta_ccld -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/home/orangepi/php-7.1.0/ext/opcache/ -DPHP_ATOM_INC -I/home/orangepi/php-7.1.0/include -I/home/orangepi/php-7.1.0/main -I/home/orangepi/php-7.1.0 -I/home/orangepi/php-7.1.0/ext/date/lib -I/usr/include/libxml2 -I/home/orangepi/php-7.1.0/ext/sqlite3/libsqlite -I/home/orangepi/php-7.1.0/TSRM -I/home/orangepi/php-7.1.0/Zend -D_REENTRANT -I/usr/include -g -O2 -fvisibility=hidden -pthread -DZTS -DZEND_SIGNALS -c /home/orangepi/php-7.1.0/ext/opcache/zend_accelerator_blacklist.c -o ext/opcache/zend_accelerator_blacklist.lo 
mkdir: cannot create directory 'ext/opcache/.libs': File exists 
/bin/bash /home/orangepi/php-7.1.0/libtool --silent --preserve-dup-deps --mode=compile /home/orangepi/php-7.1.0/meta_ccld -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/home/orangepi/php-7.1.0/ext/opcache/ -DPHP_ATOM_INC -I/home/orangepi/php-7.1.0/include -I/home/orangepi/php-7.1.0/main -I/home/orangepi/php-7.1.0 -I/home/orangepi/php-7.1.0/ext/date/lib -I/usr/include/libxml2 -I/home/orangepi/php-7.1.0/ext/sqlite3/libsqlite -I/home/orangepi/php-7.1.0/TSRM -I/home/orangepi/php-7.1.0/Zend -D_REENTRANT -I/usr/include -g -O2 -fvisibility=hidden -pthread -DZTS -DZEND_SIGNALS -c /home/orangepi/php-7.1.0/ext/opcache/zend_accelerator_debug.c -o ext/opcache/zend_accelerator_debug.lo 
/bin/bash /home/orangepi/php-7.1.0/libtool --silent --preserve-dup-deps --mode=compile /home/orangepi/php-7.1.0/meta_ccld -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/home/orangepi/php-7.1.0/ext/opcache/ -DPHP_ATOM_INC -I/home/orangepi/php-7.1.0/include -I/home/orangepi/php-7.1.0/main -I/home/orangepi/php-7.1.0 -I/home/orangepi/php-7.1.0/ext/date/lib -I/usr/include/libxml2 -I/home/orangepi/php-7.1.0/ext/sqlite3/libsqlite -I/home/orangepi/php-7.1.0/TSRM -I/home/orangepi/php-7.1.0/Zend -D_REENTRANT -I/usr/include -g -O2 -fvisibility=hidden -pthread -DZTS -DZEND_SIGNALS -c /home/orangepi/php-7.1.0/ext/opcache/zend_accelerator_hash.c -o ext/opcache/zend_accelerator_hash.lo 
/bin/bash /home/orangepi/php-7.1.0/libtool --silent --preserve-dup-deps --mode=compile /home/orangepi/php-7.1.0/meta_ccld -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/home/orangepi/php-7.1.0/ext/opcache/ -DPHP_ATOM_INC -I/home/orangepi/php-7.1.0/include -I/home/orangepi/php-7.1.0/main -I/home/orangepi/php-7.1.0 -I/home/orangepi/php-7.1.0/ext/date/lib -I/usr/include/libxml2 -I/home/orangepi/php-7.1.0/ext/sqlite3/libsqlite -I/home/orangepi/php-7.1.0/TSRM -I/home/orangepi/php-7.1.0/Zend -D_REENTRANT -I/usr/include -g -O2 -fvisibility=hidden -pthread -DZTS -DZEND_SIGNALS -c /home/orangepi/php-7.1.0/ext/opcache/zend_accelerator_module.c -o ext/opcache/zend_accelerator_module.lo 
/tmp/ccuWeYfe.s: Assembler messages: 
/tmp/ccuWeYfe.s:951: Error: operand 3 should be an integer register -- `mul x1,x1,1048576' 
/tmp/ccuWeYfe.s:952: Error: operand 3 should be an integer register -- `smulh x0,x1,1048576' 
Makefile:1000: recipe for target 'ext/opcache/zend_accelerator_module.lo' failed 
make: *** [ext/opcache/zend_accelerator_module.lo] Error 1 
make: *** Waiting for unfinished jobs.... 

Ich habe überall, suchte und fand nur eine ähnliche issue dokumentiert, aber noch nicht in der Vergangenheit diese bekommen kann.

+1

FYI - Nach 2 Tagen dieses dumme Problem, habe ich es durch Entfernen ext/opcache und eine '/ buildconf --force' übergeben. Dies entfernt eindeutig Opcache, die zu Leistungsproblemen führen können, aber mein Zweck ist nur CLI. Alles funktioniert, aber ich würde gerne sehen, ob es eine echte Lösung gibt. – Ryan

+0

Ich pflege den nextcloud snap (zu dem du verlinkt hast) und ich bekomme das gleiche mit 7.0.14 und 7.1. Wir stecken fest am 7.0.12. Ich hatte auch kein Glück. – Kyle

+0

I [protokolliert einen Fehler gegen PHP] (https://bugs.php.net/bug.php?id=73898), vielleicht haben sie einen Ratschlag. – Kyle

Antwort

1

Bug #73898, dies wurde sowohl in 7.0.15 und 7.1.1 behoben (ich habe gerade beide verifiziert).