New comment by newbluemoon on void-packages repository https://github.com/void-linux/void-packages/issues/21982#issuecomment-629478749 Comment: Running `% strace -e trace=open php -r 'print_r(get_loaded_extensions());'` on armv7l yields ``` --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769a5380} --- --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769a5368} --- --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769a5370} --- --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769a5378} --- Array ( [0] => Core [1] => date [2] => libxml [3] => pcre [4] => zlib [5] => ctype [6] => dba [7] => dom [8] => fileinfo [9] => filter [10] => hash [11] => json [12] => mbstring [13] => pcntl [14] => SPL [15] => PDO [16] => readline [17] => Reflection [18] => session [19] => SimpleXML [20] => standard [21] => tokenizer [22] => xml [23] => xmlreader [24] => xmlwriter [25] => mysqlnd ) +++ exited with 0 +++ ``` The same command on armv7l-musl: ``` open("/etc/ld-musl-armhf.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libreadline.so.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libdb-5.3.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libgdbm.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libxml2.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libonig.so.5", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libcrypto.so.45", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libncursesw.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libicui18n.so.64", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libicuuc.so.64", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libicudata.so.64", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/liblzma.so.5", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libstdc++.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769fb000} --- --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769fafe8} --- --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769faff0} --- --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x769faff8} --- open("/etc/localtime", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC) = 3 open("/usr/bin/php-cli.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/etc/php/php-cli.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/bin/php.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/etc/php/php.ini", O_RDONLY|O_LARGEFILE) = 3 open("/etc/php/conf.d", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/usr/lib/php/modules/mysqli", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/php/modules/mysqli.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/usr/lib/php/modules/sqlite3", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/php/modules/sqlite3.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libsqlite3.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 Array ( [0] => Core [1] => date [2] => libxml [3] => pcre [4] => zlib [5] => ctype [6] => dba [7] => dom [8] => fileinfo [9] => filter [10] => hash [11] => json [12] => mbstring [13] => pcntl [14] => SPL [15] => PDO [16] => readline [17] => Reflection [18] => session [19] => SimpleXML [20] => standard [21] => tokenizer [22] => xml [23] => xmlreader [24] => xmlwriter [25] => mysqlnd [26] => mysqli [27] => sqlite3 ) +++ exited with 0 +++ ``` Where does the `ILL_ILLOPC` come from? It doesn’t show up in native builds. Musl cross-builds seems to be able to work around it, glibc doesn’t.