Hallo zusammen,
zunächst einmal ein “Hallo” in die Runde da ich neu hier bin.
Ich brauche auf unserem SuSE-9.1-Server PHP mit Interbase-Support.
Bei dieser SuSE-Version wird PHP in der Version 4.3.4 mitgeliefert.
Die Installation von PHP5 würde zviele Abhängigkeits-Konflikte mit
sich bringen und es müßten zuviele Pakete aktuallisiert werden. Also
benutze ich die Version 4.4.2.
Mein configure sieht so aus:
——————————————————————
./configure –prefix=/usr –datadir=/usr/share/php \
–mandir=/usr/share/man –bindir=/usr/bin \
–libdir=/usr/share –includedir=/usr/include \
–sysconfdir=/etc –with-_lib=lib \
–with-config-file-path=/etc –with-exec-dir=/usr/lib/php/bin \
–disable-debug –enable-inline-optimization \
–enable-memory-limit –enable-magic-quotes \
–enable-sigchild –with-openssl \
–with-apxs2=/usr/sbin/apxs2-prefork –with-interbase \
–enable-force-cgi-redirect –enable-libgcc \
–with-zlib –with-mysql \
–with-mysql-sock –with-pgsql \
–with-readline –enable-sockets \
–with-xmlrpc –enable-session \
–with-bz2 –enable-calendar \
–enable-exif –enable-filepro \
–enable-ftp –with-gettext \
–enable-mbstring –with-mcrypt –with-mhash
——————————————————————
Läuft auch ohne Fehler durch. Das Paket
FirebirdSS-1.5.3.4870.i686.rpm ist installiert. Dessen Dateiliste
(in der RPM-Datenbank) sieht so aus (um doc und example verkürzt):
——————————————————————
/opt/firebird
/opt/firebird/README
/opt/firebird/UDF
/opt/firebird/UDF/fbudf.so
/opt/firebird/UDF/fbudf.sql
/opt/firebird/UDF/ib_udf.so
/opt/firebird/UDF/ib_udf.sql
/opt/firebird/WhatsNew
/opt/firebird/aliases.conf
/opt/firebird/bin
/opt/firebird/bin/SSchangeRunUser.sh
/opt/firebird/bin/SSrestoreRootRunUser.sh
/opt/firebird/bin/changeDBAPassword.sh
/opt/firebird/bin/createAliasDB.sh
/opt/firebird/bin/fb_config
/opt/firebird/bin/fb_lock_print
/opt/firebird/bin/fbguard
/opt/firebird/bin/fbmgr.bin
/opt/firebird/bin/fbserver
/opt/firebird/bin/gbak
/opt/firebird/bin/gdef
/opt/firebird/bin/gfix
/opt/firebird/bin/gpre
/opt/firebird/bin/gsec
/opt/firebird/bin/gstat
/opt/firebird/bin/isql
/opt/firebird/bin/qli
/opt/firebird/de_DE.msg
/opt/firebird/firebird.conf
/opt/firebird/firebird.msg
/opt/firebird/fr_FR.msg
/opt/firebird/help
/opt/firebird/help/help.fdb
/opt/firebird/include
/opt/firebird/include/blr.h
/opt/firebird/include/gds.h
/opt/firebird/include/ib_util.h
/opt/firebird/include/ibase.h
/opt/firebird/include/iberror.h
/opt/firebird/include/perf.h
/opt/firebird/intl
/opt/firebird/intl/fbintl
/opt/firebird/ja_JP.msg
/opt/firebird/lib
/opt/firebird/lib/libfbclient.so
/opt/firebird/lib/libfbclient.so.1
/opt/firebird/lib/libfbclient.so.1.5.3
/opt/firebird/lib/libib_util.so
/opt/firebird/misc
/opt/firebird/misc/firebird.init.d.debian
/opt/firebird/misc/firebird.init.d.generic
/opt/firebird/misc/firebird.init.d.gentoo
/opt/firebird/misc/firebird.init.d.mandrake
/opt/firebird/misc/firebird.init.d.suse
/opt/firebird/misc/rc.config.firebird
/opt/firebird/security.fdb
/usr/include/gds.h
/usr/include/ib_util.h
/usr/include/ibase.h
/usr/include/iberror.h
/usr/lib/libfbclient.so
/usr/lib/libfbclient.so.1
/usr/lib/libfbclient.so.1.5.3
/usr/lib/libib_util.so
——————————————————————
Die Option –with-interbase (bei PHP) sucht in /usr/interbase. Also
habe ich einen entsprechenden Symlink angelegt:
/usr/interbase -> /opt/firebird/
Man kann der Option den Pfad auch direkt mitgeben was allerdings
auch nicht funktioniert hat. Das Firebird-Paket hat seine Libs
welche in /opt/firebird/lib liegen:
——————————————————————
16 libfbclient.so -> libfbclient.so.1*
20 2006-03-27 17:23 libfbclient.so.1 -> libfbclient.so.1.5.3*
473112 2006-01-23 14:53 libfbclient.so.1.5.3*
3288 2006-01-23 14:53 libib_util.so
——————————————————————
Auch richtig nach /usr/lib verlinkt:
——————————————————————
36 libib_util.so -> ../../opt/firebird/lib/libib_util.so*
32 libfbclient.so -> /opt/firebird/lib/libfbclient.so*
34 libfbclient.so.1 -> /opt/firebird/lib/libfbclient.so.1*
38 libfbclient.so.1.5.3 -> /opt/firebird/lib/libfbclient.so.1.5.3*
——————————————————————
Ich habe dann in der Datei /etc/ld.so.conf den Pfad:
/opt/firebird/lib
angehängt und ldconfig aufgerufen. Der make läuft auch durch.
Anschließend erstelle ich mit checkinstall ein RPM-Paket was auch
noch keine Fehler ausgibt. Wenn ich es allerdings installieren
möchte erhalte ich:
——————————————————————
rpm -ihv /usr/src/packages/RPMS/i686/php-4.4.2-1.i686.rpm –test
error: Failed dependencies:
libfbclient.so.1 is needed by php-4.4.2-1
——————————————————————
Warum findet er diese Datei nicht obwohl sie da ist?
Viele Grüße
pixel
Es könnte hiermit [1] zu tun haben.
[1] http://www.rpm.org/max-rpm/s1-rpm-depend-auto-depend.html
ich denke nicht dass es damit etwas zu tun hat. Hier geht es ja um RPM’s die
“von Hand” mit Spec-File gebaut werden. Ich benutze jedoch checkinstall
welches lediglich den Installations-Prozess abfängt und daraus ein RPM baut