gd-libary Installation auf minimal openBSD

Das php-gd Paket konnte ich nicht installieren, weil mir Libarys aus der xbase gefehlt haben. Die Pakete runtergeladen, und die entsprechenden Daten in die Verzeichnisse habe ich bereits geschoben. Falls jemand ähnliche Probleme hat.

wget der Set-Datei (xbase54.tgz)
tar -C / -xzphf xbase54.tgz ./usr/X11R6/lib/libfreetype.so.20.1
usw...

Danach kann man das GD-Päckchen bequem installieren.

phpinfo zeigt mir auch die erfolgreiche Einbindung der gd.ini an aber ich habe das Gefühl, dass der Modul nicht richtig geladen wird.

Das Modul befindet sich unter:
/usr/local/lib/php-5.3/modules/gd.so

Wenn ich das Laden über die Apache-Konfig veranlasse, erhalte ich folgende Fehlermeldung:

httpd2: Syntax error on line 67 of /etc/apache2/httpd2.conf: Cannot load /usr/local/lib/php-5.3/modules/gd.so into server: Cannot load specified object


$ ldconfig -r
/var/run/ld.so.hints:
search directories: /usr/lib:/usr/X11R6/lib:/usr/local/lib
0:-lgssapi.6.0 => /usr/lib/libgssapi.so.6.0
1:-lhdb.0.0 => /usr/lib/libhdb.so.0.0
2:-lkafs5.0.0 => /usr/lib/libkafs5.so.0.0
3:-lobjc.5.0 => /usr/lib/libobjc.so.5.0
4:-lpthread.17.3 => /usr/lib/libpthread.so.17.3
5:-lreadline.3.0 => /usr/lib/libreadline.so.3.0
6:-lrpcsvc.1.2 => /usr/lib/librpcsvc.so.1.2
7:-lskey.5.1 => /usr/lib/libskey.so.5.1
8:-lroken.0.0 => /usr/lib/libroken.so.0.0
9:-lheimbase.0.0 => /usr/lib/libheimbase.so.0.0
10:-lncurses.12.1 => /usr/lib/libncurses.so.12.1
11:-lpanelw.5.0 => /usr/lib/libpanelw.so.5.0
12:-lsndio.4.0 => /usr/lib/libsndio.so.4.0
13:-lsqlite3.23.0 => /usr/lib/libsqlite3.so.23.0
14:-lwrap.4.0 => /usr/lib/libwrap.so.4.0
15:-lX11.15.2 => /usr/X11R6/lib/libX11.so.15.2
16:-lusbhid.5.0 => /usr/lib/libusbhid.so.5.0
17:-lcharset.1.1 => /usr/local/lib/libcharset.so.1.1
18:-liconv.6.0 => /usr/local/lib/libiconv.so.6.0
19:-lasprintf.1.0 => /usr/local/lib/libasprintf.so.1.0
20:-locurses.5.0 => /usr/lib/libocurses.so.5.0
21:-lz.4.1 => /usr/lib/libz.so.4.1
22:-lgettextlib.3.1 => /usr/local/lib/libgettextlib.so.3.1
23:-lpcre.3.0 => /usr/local/lib/libpcre.so.3.0
24:-lfreetype.20.0 => /usr/X11R6/lib/libfreetype.so.20.0
25:-lpcre16.0.0 => /usr/local/lib/libpcre16.so.0.0
26:-lpcrecpp.3.3 => /usr/local/lib/libpcrecpp.so.3.3
27:-ltermcap.12.1 => /usr/lib/libtermcap.so.12.1
28:-ldb.5.0 => /usr/local/lib/libdb.so.5.0
29:-lmilter.2.1 => /usr/lib/libmilter.so.2.1
30:-lapr-1.4.6 => /usr/local/lib/libapr-1.so.4.6
31:-laprutil-1.4.1 => /usr/local/lib/libaprutil-1.so.4.1
32:-lxml2.15.0 => /usr/local/lib/libxml2.so.15.0
33:-lotermcap.5.0 => /usr/lib/libotermcap.so.5.0
34:-lmysqlclient.23.0 => /usr/local/lib/libmysqlclient.so.23.0
35:-levent.3.1 => /usr/lib/libevent.so.3.1
36:-lmcrypt.8.7 => /usr/local/lib/libmcrypt.so.8.7
37:-ljpeg.66.0 => /usr/local/lib/libjpeg.so.66.0
38:-lpng.17.0 => /usr/local/lib/libpng.so.17.0
39:-lpanel.5.0 => /usr/lib/libpanel.so.5.0
40:-lgpg-error.3.2 => /usr/local/lib/libgpg-error.so.3.2
41:-lksba.0.2 => /usr/local/lib/libksba.so.0.2
42:-lgettextpo.5.0 => /usr/local/lib/libgettextpo.so.5.0
43:-lstdc++.55.0 => /usr/lib/libstdc++.so.55.0
44:-lidn.17.0 => /usr/local/lib/libidn.so.17.0
45:-lform.5.0 => /usr/lib/libform.so.5.0
46:-lcurl.23.0 => /usr/local/lib/libcurl.so.23.0
47:-lkadm5clnt.0.0 => /usr/lib/libkadm5clnt.so.0.0
48:-liberty.10.1 => /usr/lib/libiberty.so.10.1
49:-lassuan.1.1 => /usr/local/lib/libassuan.so.1.1
50:-lgettextsrc.3.0 => /usr/local/lib/libgettextsrc.so.3.0
51:-lt1.6.0 => /usr/local/lib/libt1.so.6.0
52:-lusb-1.0.1.0 => /usr/local/lib/libusb-1.0.so.1.0
53:-lbz2.10.4 => /usr/local/lib/libbz2.so.10.4
54:-lpth.20.25 => /usr/local/lib/libpth.so.20.25
55:-lc.69.0 => /usr/lib/libc.so.69.0
56:-ledit.4.1 => /usr/lib/libedit.so.4.1
57:-lpython2.7.0.0 => /usr/local/lib/libpython2.7.so.0.0
58:-lelf.1.1 => /usr/local/lib/libelf.so.1.1
59:-lkadm5srv.0.0 => /usr/lib/libkadm5srv.so.0.0
60:-lcrypto.22.0 => /usr/lib/libcrypto.so.22.0
61:-lgcrypt.18.0 => /usr/local/lib/libgcrypt.so.18.0
62:-lexpat.10.0 => /usr/lib/libexpat.so.10.0
63:-lgio-2.0.3600.1 => /usr/local/lib/libgio-2.0.so.3600.1
64:-lglib-2.0.3600.1 => /usr/local/lib/libglib-2.0.so.3600.1
65:-lgmodule-2.0.3600.1 => /usr/local/lib/libgmodule-2.0.so.3600.1
66:-lgobject-2.0.3600.1 => /usr/local/lib/libgobject-2.0.so.3600.1
67:-lperl.13.0 => /usr/lib/libperl.so.13.0
68:-lcom_err.19.0 => /usr/lib/libcom_err.so.19.0
69:-lffi.0.0 => /usr/local/lib/libffi.so.0.0
70:-lpcap.7.0 => /usr/lib/libpcap.so.7.0
71:-lusb.10.0 => /usr/local/lib/libusb.so.10.0
72:-lintl.6.0 => /usr/local/lib/libintl.so.6.0
73:-lgthread-2.0.3600.1 => /usr/local/lib/libgthread-2.0.so.3600.1
74:-lkdc.0.0 => /usr/lib/libkdc.so.0.0
75:-lltdl.5.0 => /usr/local/lib/libltdl.so.5.0
76:-lsigsegv.1.0 => /usr/local/lib/libsigsegv.so.1.0
77:-lasn1.19.0 => /usr/lib/libasn1.so.19.0
78:-lsigc-2.0.2.0 => /usr/local/lib/libsigc-2.0.so.2.0
79:-lcurses.12.1 => /usr/lib/libcurses.so.12.1
80:-lformw.5.0 => /usr/lib/libformw.so.5.0
81:-lnspr4.23.0 => /usr/local/lib/libnspr4.so.23.0
82:-lpcreposix.1.5 => /usr/local/lib/libpcreposix.so.1.5
83:-lssh2.6.0 => /usr/local/lib/libssh2.so.6.0
84:-lplc4.23.0 => /usr/local/lib/libplc4.so.23.0
85:-lkvm.13.1 => /usr/lib/libkvm.so.13.1
86:-lpng16.17.0 => /usr/local/lib/libpng16.so.17.0
87:-ltermlib.12.1 => /usr/lib/libtermlib.so.12.1
88:-lXpm.8.0 => /usr/X11R6/lib/libXpm.so.8.0
89:-lplds4.23.0 => /usr/local/lib/libplds4.so.23.0
90:-lcroco-0.6.4.0 => /usr/local/lib/libcroco-0.6.so.4.0
91:-lfreebl3.33.3 => /usr/local/lib/libfreebl3.so.33.3
92:-lmenu.5.0 => /usr/lib/libmenu.so.5.0
93:-lnss3.33.3 => /usr/local/lib/libnss3.so.33.3
94:-lnssckbi.33.3 => /usr/local/lib/libnssckbi.so.33.3
95:-lnssdbm3.33.3 => /usr/local/lib/libnssdbm3.so.33.3
96:-lnssutil3.33.3 => /usr/local/lib/libnssutil3.so.33.3
97:-lsmime3.33.3 => /usr/local/lib/libsmime3.so.33.3
98:-lsoftokn3.33.3 => /usr/local/lib/libsoftokn3.so.33.3
99:-lmenuw.5.0 => /usr/lib/libmenuw.so.5.0
100:-lssl3.33.3 => /usr/local/lib/libssl3.so.33.3
101:-lGeoIP.8.0 => /usr/local/lib/libGeoIP.so.8.0
102:-lGeoIPUpdate.1.0 => /usr/local/lib/libGeoIPUpdate.so.1.0
103:-lutil.11.5 => /usr/lib/libutil.so.11.5
104:-lssl.19.0 => /usr/lib/libssl.so.19.0
105:-lossaudio.3.1 => /usr/lib/libossaudio.so.3.1
106:-lncursesw.12.1 => /usr/lib/libncursesw.so.12.1
107:-lghttp.1.0 => /usr/local/lib/libghttp.so.1.0
108:-lkrb5.19.0 => /usr/lib/libkrb5.so.19.0
109:-lwind.0.0 => /usr/lib/libwind.so.0.0
110:-lmysqlclient_r.23.0 => /usr/local/lib/libmysqlclient_r.so.23.0
111:-lm.8.0 => /usr/lib/libm.so.8.0
112:-ldb_cxx.6.0 => /usr/local/lib/libdb_cxx.so.6.0

Jemand eine Idee?
 
Es handelt sich dabei um ein PHP-Modul nicht um ein Apache-Modul. Man kann es also nicht über die Apache-Konfiguration einbinden. Es wird im Normalfall automatisch von PHP eingebunden, wenn es sich im "extension_dir" befindet. Ob es korrekt geladen ist, erkennst du, wenn in deiner phpinfo() ein Abschnitt wie der folgende auftaucht:

gd_installed.jpg


Wichtig ist dabei vor allem die erste Zeile "GD Support enabled".
 
Dafür gibt es eine php-GD.ini, die sich im selben Pfad befindet wie die php.ini.
Diese enhält die extension=gd.so eintrag.

Dann müsstes es eigentlich sauber geladen werden.

Die PHPInfo zeigt mir den GD - Support nicht an.

Habe nur folgendes:
Additional .ini files parsed /etc/php-5.3/curl.ini, /etc/php-5.3/gd.ini, /etc/php-5.3/mcrypt.ini, /etc/php-5.3/mysql.ini, /etc/php-5.3/mysqli.ini

Deshalb wundert mich das ganze und weiß nicht wie ich vorgehen soll.
 
Code:
php -r 'phpinfo();' |grep extension_dir

Bekommst du bei diesem Befehl den Ordner angezeigt, in dem sich die gd.so befindet?
 
php-5.3 -r 'phpinfo();' |grep extension_dir
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php-5.3/modules/gd.so' - Cannot load specified object in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php-5.3/modules/gd.so' - Cannot load specified object in Unknown on line 0
PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in Command line code on line 1
extension_dir => /usr/local/lib/php-5.3/modules => /usr/local/lib/php-5.3/modules
sqlite3.extension_dir => no value => no value
 
Nachtrag: Du bist aber offenbar nicht der einzige mit diesem Problem auf OBSD. Das Netz ist voll mit dieser Fehlermeldung. Bei manchen half wohl ein Rekompilieren mit -pthreads als CFLAG, andere stellten durch 'env LD_DEBUG=1 php' fest, dass irgendwelche Libs im System fehlten.
 
Neuinstallation mit full-sets hat nichts gebracht.

Aus den Ports ist eine Kompilierung auch nicht möglich.
Fatal: building ports requires correctly installed X11 (in graphics/gd)
*** Error 1 in /usr/ports/graphics/gd (/usr/ports/infrastructure/mk/bsd.port.mk:3437 '.BEGIN': @exit 1)

Obwohl X11 installiert ist - anscheinend nicht korrekt.
 
Hab mit OpenBSD noch nicht wirklich gearbeitet, aber hat das evtl. auch zusätzliche Devel-Pakete für X11 zur Verfügung? Ansonsten werden ggf. einfach die Header-Dateien oder die Libs nicht gefunden weil -I oder -L für den Compiler nicht korrekt gesetzt wird.

Ich an deiner Stelle würde bei so viel Ärger den Kram ja einfach mal komplett aus den Original Sources installieren. Die configure-Parameter, die ich immer für PHP verwende sind dabei die folgenden:

Code:
./configure --with-gnu-ld --enable-shared --enable-static --with-tsrm-pthreads --with-zlib-dir=/usr --with-pcre-dir=/usr --enable-zip --with-xsl=/usr --with-libxml-dir=/usr --with-iconv-dir=/usr --with-libexpat-dir=/usr --with-libxml-dir=/usr --enable-wddx --enable-sysvshm --enable-sysvsem --enable-sysvmsg --enable-sockets --enable-soap --with-openssl-dir=/usr --enable-shmop --with-mm=/usr --disable-session --with-recode --with-readline --with-mysql=/server/mysql1 --enable-mbstring --with-gettext --with-png-dir --with-jpeg-dir --with-gd --with-pcre-dir --with-gmp --with-mhash --with-freetype-dir --with-xpm-dir --with-pcre-dir --enable-exif --enable-dba=shared --with-curl --with-bz2 --enable-bcmath --enable-dmalloc --enable-sigchild --enable-intl --enable-debug --with-apxs2=/server/apache/bin/apxs --prefix=/server/apache --with-pear=/server/apache/bin --with-config-file-path=/server/conf
Die Pfade müssen natürlich an dein System angepasst werden.
 
Zurück
Oben