Bug 1215626

Summary: php8-apcu & php8-imagick fail to load on MicroOS/aarch64
Product: [openSUSE] openSUSE Tumbleweed Reporter: spff <dave-fhfr>
Component: OtherAssignee: Simon Lees <simonf.lees>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: emiliano.langella, guillaume.gardet
Version: Current   
Target Milestone: ---   
Hardware: aarch64   
OS: SUSE Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description spff 2023-09-23 02:03:57 UTC
User-Agent:       Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/117.0
Build Identifier: 

PHP Warning:  PHP Startup: Unable to load dynamic library 'apcu.so' (tried: /usr/lib64/php8/extensions/apcu.so (/usr/lib64/php8/extensions/apcu.so: undefined symbol: php_strlcpy), /usr/lib64/php8/extensions/apcu.so.so (/usr/lib64/php8/extensions/apcu.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib64/php8/extensions/imagick.so (/usr/lib64/php8/extensions/imagick.so: undefined symbol: php_strlcpy), /usr/lib64/php8/extensions/imagick.so.so (/usr/lib64/php8/extensions/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Reproducible: Always

Steps to Reproduce:
1. Install php8-cli, php8-apcu & php8-imagick
2. run `php -m`
Actual Results:  
spff@spee:~> php -m
PHP Warning:  PHP Startup: Unable to load dynamic library 'apcu.so' (tried: /usr/lib64/php8/extensions/apcu.so (/usr/lib64/php8/extensions/apcu.so: undefined symbol: php_strlcpy), /usr/lib64/php8/extensions/apcu.so.so (/usr/lib64/php8/extensions/apcu.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib64/php8/extensions/imagick.so (/usr/lib64/php8/extensions/imagick.so: undefined symbol: php_strlcpy), /usr/lib64/php8/extensions/imagick.so.so (/usr/lib64/php8/extensions/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
[snip]

Expected Results:  
apcu & imagick are listed in the output under [PHP Modules]

$ file /usr/lib64/php8/extensions/apcu.so /usr/lib64/php8/extensions/imagick.so
/usr/lib64/php8/extensions/apcu.so:    ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eaaf9054df149367987f242aeed0f8995b9e7334, stripped
/usr/lib64/php8/extensions/imagick.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1788ab8893a28346b7c55bdc22806df7eab24387, stripped

$ cat /etc/os-release
NAME="openSUSE MicroOS"
# VERSION="20230910"
ID="opensuse-microos"
ID_LIKE="suse opensuse opensuse-tumbleweed"
VERSION_ID="20230910"
PRETTY_NAME="openSUSE MicroOS"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:microos:20230910"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:MicroOS"
LOGO="distributor-logo-MicroOS"

spff@spee:~> uname -a
Linux spee 6.4.12-1-default #1 SMP PREEMPT_DYNAMIC Fri Aug 25 08:26:31 UTC 2023 (f5aa89b) aarch64 aarch64 aarch64 GNU/Linux

$ php -v 2> /dev/null
PHP 8.2.10 (cli) (built: Sep  1 2023 00:00:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies

$ php -m 2> /dev/null
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gmp
hash
iconv
intl
json
libxml
mbstring
openssl
pcntl
pcre
PDO
pdo_sqlite
posix
random
redis
Reflection
session
SimpleXML
SPL
sqlite3
standard
sysvsem
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache
Comment 1 Simon Lees 2023-09-26 10:03:10 UTC
Just trying to work out, have these ever loaded on MicroOS, either the x86_64 or the aarch64? I'm also not exactly sure how / if installing packages like this is supported on MicroOS.
Comment 2 spff 2023-09-26 10:42:43 UTC
I must have misunderstood something if installing packages is not supported on MicroOS but the problem exists on Tumbleweed as well anyways. I've just reproduced the problem as described in Tumbleweed aarch64. The modules are working as expected on x86_64 though.
Comment 3 Simon Lees 2023-09-26 10:56:04 UTC
/usr/lib64/php8/extensions/apcu.so.so the .so.so looks pretty suspicious i'll have to have a look at what is going on in the aarch64 builds.
Comment 4 Arjen de Korte 2023-12-06 18:16:46 UTC
*** Bug 1217785 has been marked as a duplicate of this bug. ***
Comment 5 Guillaume GARDET 2024-02-07 15:37:20 UTC
Does the problem still occur with latest Tumbleweed?