pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PHP modules broken?



The files are indeed there:

$ ls -l /opt/local/lib/php/8.3/x86_64/
total 7969
-rwxr-xr-x   1 root     root      145832 Aug 13 03:49 apcu.so
-rwxr-xr-x   1 root     root       69288 Aug 13 03:48 bcmath.so
-rwxr-xr-x   1 root     root       57016 Aug 13 01:24 bz2.so
-rwxr-xr-x   1 root     root      228880 Aug 12 19:59 curl.so
-rwxr-xr-x   1 root     root      131216 Aug 12 22:20 exif.so
-rwxr-xr-x   1 root     root      180280 Aug 12 21:20 gd.so
-rwxr-xr-x   1 root     root      116568 Aug 13 03:54 gmp.so
-rwxr-xr-x   1 root     root       86384 Aug 12 19:36 iconv.so
-rwxr-xr-x   1 root     root      767424 Aug 13 15:36 imagick.so
-rwxr-xr-x   1 root     root      179328 Aug 13 03:53 imap.so
-rwxr-xr-x   1 root     root      882040 Aug 12 19:50 intl.so
-rwxr-xr-x   1 root     root      160768 Aug 12 20:01 ldap.so
-rwxr-xr-x   1 root     root     1388176 Aug 12 17:33 mbstring.so
-rwxr-xr-x   1 root     root       79584 Aug 13 02:26 mcrypt.so
-rwxr-xr-x   1 root     root      292760 Aug 12 19:59 mysqli.so
-rwxr-xr-x   1 root     root     1284008 Aug 13 02:08 opcache.so
-rwxr-xr-x   1 root     root       80200 Aug 13 07:18 pcntl.so
-rwxr-xr-x   1 root     root      195960 Aug 12 17:31 pdo.so
-rwxr-xr-x   1 root     root      105888 Aug 12 19:42 pdo_mysql.so
-rwxr-xr-x   1 root     root       79640 Aug 13 02:27 posix.so
-rwxr-xr-x   1 root     root      895392 Aug 13 15:24 redis.so
-rwxr-xr-x   1 root     root      183096 Aug 13 01:23 sodium.so
-rwxr-xr-x   1 root     root       35176 Aug 13 03:57 sysvsem.so
-rwxr-xr-x   1 root     root      166240 Aug 12 19:17 zip.so
-rwxr-xr-x   1 root     root      105184 Aug 12 19:51 zlib.so


PHP listing the modules shows the same fault:

$ php -m

PHP Warning:  PHP Startup: Unable to load dynamic library 'gd.so' (tried: /opt/local/lib/php/8.3/x86_64/gd.so (ld.so.1: php83: fatal: libc.so.1: open failed: No such file or directory), /opt/local/lib/php/8.3/x86_64/gd.so.so (ld.so.1: php83: fatal: /opt/local/lib/php/8.3/x86_64/gd.so.so: open failed: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/local/lib/php/8.3/x86_64/imagick.so (ld.so.1: php83: fatal: libc.so.1: open failed: No such file or directory), /opt/local/lib/php/8.3/x86_64/imagick.so.so (ld.so.1: php83: fatal: /opt/local/lib/php/8.3/x86_64/imagick.so.so: open failed: No such file or directory)) in Unknown on line 0
[PHP Modules]
apcu
bcmath
bz2
Core
ctype
curl
date
dom
exif
fileinfo
filter
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
random
readline
redis
Reflection
session
SimpleXML
sodium
SPL
standard
sysvsem
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Furthermore, the ldd command produces this:

$ ldd /opt/local/lib/php/8.3/x86_64/gd.so 
    libgd.so.3 =>     /opt/local/lib/libgd.so.3
    libintl.so.8 =>     /opt/local/lib/libintl.so.8
    libiconv.so.2 =>     /opt/local/lib/libiconv.so.2
    libfreetype.so.6 =>     /opt/local/lib/libfreetype.so.6
    libbz2.so.0 =>     /opt/local/lib/libbz2.so.0
    libpng16.so.16 =>     /opt/local/lib/libpng16.so.16
    libbrotlidec.so.1 =>     /opt/local/lib/libbrotlidec.so.1
    libraqm.so.0 =>     /opt/local/lib/libraqm.so.0
    libfontconfig.so.1 =>     /opt/local/lib/libfontconfig.so.1
    libimagequant.so.0.4 =>     /opt/local/lib/libimagequant.so.0.4
    libtiff.so.6 =>     /opt/local/lib/libtiff.so.6
    liblzma.so.5 =>     /opt/local/lib/liblzma.so.5
    libpthread.so.1 =>     /lib/64/libpthread.so.1
    librt.so.1 =>     /lib/64/librt.so.1
    libLerc.so.4 =>     /opt/local/lib/libLerc.so.4
    libjbig.so.2 =>     /opt/local/lib/libjbig.so.2
    libjpeg.so.8 =>     /opt/local/lib/libjpeg.so.8
    libz.so.1 =>     /opt/local/lib/libz.so.1
    libm.so.2 =>     /lib/64/libm.so.2
    libwebp.so.7 =>     /opt/local/lib/libwebp.so.7
    libumem.so.1 =>     /lib/64/libumem.so.1
    libgomp.so.1 =>     /opt/local/gcc13/x86_64-sun-solaris2.11/lib/amd64/libgomp.so.1
    libgcc_s.so.1 =>     /opt/local/gcc13/x86_64-sun-solaris2.11/lib/amd64/libgcc_s.so.1
    libc.so.1 =>     /lib/64/libc.so.1
    libbrotlicommon.so.1 =>     /opt/local/lib/libbrotlicommon.so.1
    libharfbuzz.so.0 =>     /opt/local/lib/libharfbuzz.so.0
    libfribidi.so.0 =>     /opt/local/lib/libfribidi.so.0
    libexpat.so.1 =>     /opt/local/lib/libexpat.so.1
    libsocket.so.1 =>     /lib/64/libsocket.so.1
    libnsl.so.1 =>     /lib/64/libnsl.so.1
    libstdc++.so.6 =>     /opt/local/gcc13/x86_64-sun-solaris2.11/lib/amd64/libstdc++.so.6
    libsharpyuv.so.0 =>     /opt/local/lib/libsharpyuv.so.0
    libdl.so.1 =>     /lib/64/libdl.so.1
    libglib-2.0.so.0 =>     /opt/local/lib/libglib-2.0.so.0
    libgraphite2.so.3 =>     /opt/local/lib/libgraphite2.so.3
    libmp.so.2 =>     /lib/64/libmp.so.2
    libmd.so.1 =>     /lib/64/libmd.so.1
    libatomic.so.1 =>     /opt/local/gcc13/x86_64-sun-solaris2.11/lib/amd64/libatomic.so.1
    libpcre2-8.so.0 =>     /opt/local/lib/libpcre2-8.so.0
    libc.so.1 (ILLUMOS_0.57) =>     (version not found)

Maybe a hint is in the final line? "version not found" is not something I got when running this ldd command with php 8.3.31 installed, just before the "pkgin upgrade" to 8.3.33.


When I now "truss" it, like Jonathan did, I get this (cropped to the gd and imagick modules):

$ truss php -v 2>&1 | grep lib/php

[...]
stat("/opt/local/lib/php/8.3/x86_64/gd.so.so", 0xFFFFFC7FFFDF41E0) Err#2 ENOENT
PHP Warning:  PHP Startup: Unable to load dynamic library 'gd.so' (tried: /opt/local/lib/php/8.3/x86_64/gd.so (ld.so.1: php83: fatal: libc.so.1: open failed: No such file or directory), /opt/local/lib/php/8.3/x86_64/gd.so.so (ld.so.1: php83: fatal: /opt/local/lib/php/8.3/x86_64/gd.so.so: open failed: No such file or directory)) in Unknown on line 0write(2, " P H P   W a r n i n g :".., 350)    = 350
[...]
stat("/opt/local/lib/php/8.3/x86_64/imagick.so", 0xFFFFFC7FFFDF41E0) = 0
resolvepath("/opt/local/lib/php/8.3/x86_64/imagick.so", "/opt/local/lib/php/8.3/x86_64/imagick.so", 1023) = 40
open("/opt/local/lib/php/8.3/x86_64/imagick.so", O_RDONLY) = 3
stat("/opt/local/lib/php/8.3/x86_64/imagick.so.so", 0xFFFFFC7FFFDF41E0) Err#2 ENOENT
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/local/lib/php/8.3/x86_64/imagick.so (ld.so.1: php83: fatal: libc.so.1: open failed: No such file or directory), /opt/local/lib/php/8.3/x86_64/imagick.so.so (ld.so.1: php83: fatal: /opt/local/lib/php/8.3/x86_64/imagick.so.so: open failed: No such file or directory)) in Unknown on line 0write(2, " P H P   W a r n i n g :".., 370)    = 370
[...]


BTW, I also get this "Unable to load dynamic library 'gd.so'" error on a separate testbox with PHP 8.5, so PHP 8.3, 8.4 and 8.5 are giving me headaches all of a sudden.


On 11-09-2026 08:47, P Gman wrote:
Looks like the dependency links broke somehow. Is it possible
something has moved?

Did you confirm with something like ldd /opt/local/lib/php/8.3/x86_64/gd.so ?

On Thu, Sep 10, 2026 at 11:22 PM Jonathan Perkin <jperkin%pkgsrc.org@localhost> wrote:
I tried to reproduce this to see if there's an issue with my packages,
but it appears to work fine for me:

   $ pkg_add php83-imagick php83-gd

   $ php -v
   PHP 8.3.33 (cli) (built: Sep 10 2026 19:39:51) (NTS)
   Copyright (c) The PHP Group
   Zend Engine v4.3.33, Copyright (c) Zend Technologies

   $ php -m
   [PHP Modules]
   Core
   ctype
   date
   dom
   fileinfo
   filter
   gd
   hash
   imagick
   json
   libxml
   mysqlnd
   openssl
   pcre
   Phar
   random
   readline
   Reflection
   session
   SimpleXML
   SPL
   standard
   tokenizer
   xml
   xmlreader
   xmlwriter

and if I truss it it's definitely loading the modules ok:

   $ truss php -v 2>&1 | grep lib/php
   stat("/opt/local/lib/php/8.3/x86_64/gd.so", 0xFFFFFAFFFFDF6860) = 0
   resolvepath("/opt/local/lib/php/8.3/x86_64/gd.so", "/opt/local/lib/php/8.3/x86_64/gd.so", 1023) = 35
   open("/opt/local/lib/php/8.3/x86_64/gd.so", O_RDONLY) = 3
   stat("/opt/local/lib/php/8.3/x86_64/imagick.so", 0xFFFFFAFFFFDF6860) = 0
   resolvepath("/opt/local/lib/php/8.3/x86_64/imagick.so", "/opt/local/lib/php/8.3/x86_64/imagick.so", 1023) = 40
   open("/opt/local/lib/php/8.3/x86_64/imagick.so", O_RDONLY) = 3

Does anyone who understands PHP better than me know what's going on?
While pkgin says that the packages are installed, could you double check
that the files are actually on disk?

--
Jonathan Perkin                    pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com


Home | Main Index | Thread Index | Old Index