030212.prob.pgsql.umoddi Problem __umoddi3 hp-ux (s.a. 030211.prob.umoddi,030107.postgresql-7.3.1,021212.apache.php.mysql.dbd) - Problem: - apache startet nicht mit php3-modul auf HP-UX: apache does not start with php3-modul on HP-UX: ---%<--- # /usr/local/apache/bin/httpd /usr/lib/dld.sl: Unresolved symbol: __umoddi3 (code) from /usr/local/pgsql/lib/ libpq.sl Syntax error on line 236 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/libphp3.so into server: Not enough space ---%<--- - Ursache: - php3 verwendet postgres. in postgres ist das Symbol umoddi3 enthalten. hp-ux kennt kein umoddi3. php3 uses postgres. into postgres the symbol umoddi3 is contained. hp-ux no umoddi3 knows. ---%<--- # nm /usr/local/pgsql/lib/libpq.sl | grep umoddi __umoddi3 | |undef |code | __umoddi3 | 94624|uext |stub | # chatr /usr/local/pgsql/lib/libpq.sl /usr/local/pgsql/lib/libpq.sl: shared library shared library dynamic path search: SHLIB_PATH disabled second embedded path disabled first Not Defined internal name: libpq.sl.3 static branch prediction disabled data page size: 4K instruction page size: 4K ---%<--- - Frage: - Warum wird das Symbol umoddi3 verwendet? Im Postgres-Source ist nichts zu finden. - Why is the symbol umoddi3 used? In the Postgres SOURCE nothing is to be found. - Wie kann man einen Code ohne umoddi3 erzeugen? How can one produce a code without umoddi3? - Sys-Konfig: gcc version 3.2 HP-UX B.10.20 postgresql-7.3.2 (postgresql-7.3.1) php-3.0.18 Server version: Apache/1.3.27 (Unix) - compile postgresql (Auszug aus 030107.postgresql-7.3.1): - Da libcrypto.sl auch das Symbol umoddi3 enthaelt, wurde es schon ohne -openssl und -zlib probiert. ---%<--- pgver="7.3.2" ## Feb 3 2003 10932k cd postgresql-$pgver OPTIONS=""; OPTIONS="$OPTIONS --with-perl" ## Perl modules #OPTIONS="$OPTIONS --with-python" ## Python modules #OPTIONS="$OPTIONS --with-java" ## JDBC, REQ: Ant (JDK) #OPTIONS="$OPTIONS --with-openssl=/usr/local/lib/ssl" ## support for SSl modules OPTIONS="$OPTIONS --without-openssl" ## Test: kein support for SSl modules OPTIONS="$OPTIONS --without-readline" ## Solaris hat keine readline-lib OPTIONS="$OPTIONS --prefix=$pgprefix" #OPTIONS="$OPTIONS --with-includes=/opt/zlib/include" ## nur bei hpux OPTIONS="$OPTIONS --without-zlib" ## Test: no zlib on hpux echo `date` pgsql ./configure $OPTIONS >> /tmp/install.log ./configure $OPTIONS | tee -a configure.out gmake && gmake install ---%<--- - compile php (Auszug aus 021212.apache.php.mysql.dbd): ---%<--- cd php-$VerPHP gunzip -c ../php3.mime.c.diff-3.0.gz| patch -d functions;ls -l functions/mime* OPTIONS="" ## clean OPTIONS="$OPTIONS --with-dbase" ## kein Prefix (builtin) OPTIONS="$OPTIONS --with-pgsql=$PrefixPSQL" #OPTIONS="$OPTIONS --with-mysql=$PrefixMYSQL" #OPTIONS="$OPTIONS --with-ldap=$PrefixOLDAP" #OPTIONS="$OPTIONS --with-openssl" ## noetig, wenn DB mit ssl compiliert OPTIONS="$OPTIONS --with-config-file-path=$PrefixAPACHE/conf" OPTIONS="$OPTIONS --with-apxs=$PrefixAPACHE/bin/apxs" # APache eXtenSion tool # --enable-versioning when you want to use both php-modules # hpux10.20: versioning... configure: error: versioning is not supported... #OPTIONS="$OPTIONS --enable-versioning --enable-track-vars" #OPTIONS="$OPTIONS --with-xml" echo "`date` php-$VerPHP configure $OPTIONS" >> $LogFile ./configure $OPTIONS | tee configure.out gmake ## Lib auf Vollstaendigkeit pruefen: ldd ./libphp3.so | grep libpq ldd ./libphp3.so | grep libmysql make install ## kopiert module to $PrefixAPACHE/libexec/ (aus httpd.conf) ---%<---