Skip to content

Unable to load dynamic library 'imagick' & 'apcu' with php-legacy-8.2.19-2

Description:

Today, after upgrading my system (pacman -Syu), nextcloud stopped working and occ upgrade returned this error:

[root@MyBox ~]# occ upgrade
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick' (tried: /usr/lib/php-legacy/modules/imagick (/usr/lib/php-legacy/modules/imagick: cannot open shared object file: No such file or directory), /usr/lib/php-legacy/modules/imagick.so (/usr/lib/php-legacy/modules/imagick.so: undefined symbol: php_strlcpy)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'apcu' (tried: /usr/lib/php-legacy/modules/apcu (/usr/lib/php-legacy/modules/apcu: cannot open shared object file: No such file or directory), /usr/lib/php-legacy/modules/apcu.so (/usr/lib/php-legacy/modules/apcu.so: undefined symbol: php_strlcpy)) in Unknown on line 0
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
[root@MyBox ~]#

I checked the php-legacy packages I had in /var/cache/pacman/pkg, and this is what I found:

[musikolo@MyBox pkg]$ ls -ltr php-legacy*
-rw-r--r-- 1 root root  103928 Mar  3 17:29 php-legacy-imagick-3.7.0-8-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root     566 Mar  3 17:29 php-legacy-imagick-3.7.0-8-aarch64.pkg.tar.xz.sig
-rw-r--r-- 1 root root   50188 Mar  3 18:37 php-legacy-apcu-5.1.23-3-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root     566 Mar  3 18:37 php-legacy-apcu-5.1.23-3-aarch64.pkg.tar.xz.sig
-rw-r--r-- 1 root root 4226844 May  7 12:01 php-legacy-8.2.19-1-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root 2583016 May  7 12:02 php-legacy-fpm-8.2.19-1-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root   27072 May  7 12:02 php-legacy-gd-8.2.19-1-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root     566 May  7 12:02 php-legacy-gd-8.2.19-1-aarch64.pkg.tar.xz.sig
-rw-r--r-- 1 root root     566 May  7 12:02 php-legacy-fpm-8.2.19-1-aarch64.pkg.tar.xz.sig
-rw-r--r-- 1 root root     566 May  7 12:02 php-legacy-8.2.19-1-aarch64.pkg.tar.xz.sig
-rw-r--r-- 1 root root 4280804 May 20 00:02 php-legacy-8.2.19-2-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root 2595512 May 20 00:03 php-legacy-fpm-8.2.19-2-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root   27228 May 20 00:03 php-legacy-gd-8.2.19-2-aarch64.pkg.tar.xz
-rw-r--r-- 1 root root     566 May 20 00:03 php-legacy-8.2.19-2-aarch64.pkg.tar.xz.sig
-rw-r--r-- 1 root root     566 May 20 00:03 php-legacy-gd-8.2.19-2-aarch64.pkg.tar.xz.sig
-rw-r--r-- 1 root root     566 May 20 00:03 php-legacy-fpm-8.2.19-2-aarch64.pkg.tar.xz.sig
[musikolo@MyBox pkg]$

I downgraded all new 8.2.19-2 packages back to 8.2.19-1, and that solved the issue on both occ and nexcloud. I noticed the php-legacy-imagick and php-legacy-apcu packages didn't get an update in quite a long time, so I wonder whether rebuilding those might address this issue.

Additional info:

  • OS: ARM Arch Linux
  • Platform: Raspberry Pi 4B.
  • Kernel: 6.6.31-2-rpi
  • Nginx version: 1.26.0-3
  • Nextcloud version: 29.0.1-1
  • PHP-Legacy installed packages:
- php-legacy-8.2.19-1
- php-legacy-apcu-5.1.23-3
- php-legacy-fpm-8.2.19-1
- php-legacy-gd-8.2.19-1
- php-legacy-imagick-3.7.0-8

If anything else is needed, please let me know.

Thanks.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information