php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #3386 Unresolved symbol: ifx_checkAPI
Submitted: 2000-02-02 09:55 UTC Modified: 2000-10-05 06:41 UTC
From: petr dot husak at meiller dot com Assigned: afalout
Status: Closed Package: Informix related
PHP Version: 4.0 Beta 3 OS: hpux 10.20
Private report: No CVE-ID:
 [2000-02-02 09:55 UTC] petr dot husak at meiller dot com
When I use function ifx_connect(), httpd instance crashes and in the logfile appears record:

/usr/lib/dld.sl: Unresolved symbol: ifx_checkAPI (code)  from /apl/informix/lib/
esql/libifsql.sl

I use Iformix SE 7.22 and Inf. client sdk v2.40 uc11.
I've compiled php4 with informix support and the phpinfo() shows information about the informix extension well.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-05-30 03:01 UTC] afalout at cvs dot php dot net

 [2000-06-09 12:03 UTC] stas at cvs dot php dot net
no user feedback
 [2000-06-09 12:09 UTC] stas at cvs dot php dot net
Actually, not close yet. It should be in "Assigned', not 'Feedback'...
 [2000-07-30 09:49 UTC] zak@php.net
Has there been any progress on this bug?
 [2000-08-03 06:55 UTC] afalout@php.net
I was examining an option to add described statemens to makefiles but after taking in account differences between CSDK, ESQL/C in different versions, I gave up. It seems that Informix spend half of there time renaming files in new versions. Just adding checkapi.o  should work, but location of that file changes trough versions too. Then, I noted that there are simmilar problem caused and fixed the same way, that do not nececery relate to checkapi.o in error message.

This information should be sufficient for users to resolve this issue. It should go to FAQ or manual or somewhere.

Closed.
 [2000-08-03 06:57 UTC] afalout@php.net
Closed. For real this time...I hope.
 [2000-10-05 06:41 UTC] afalout@php.net
I added additional comments to this workaround from Danny that apply to libtool in V4:

---------------------------------------
The work-around suggested by Andrej is still valid, but libtool does not
like those "libifsql.a libifasf.a ..." libraries, you have to specify them
as '-lifsql -lifasf ...' etc..

This will use the shared (.so) libraries, which is not a problem (unless you
move the binary to another machine with a different Informix server or
client version, in that case you should use the static libraries). If you
need the static Informix libraries, copy them to a separate directory and
add that directory to your $LDFLAGS when running configure for PHP and for
Apache, this way the linker won't find the shared libraries and use the
static ones. This is the way I build Apache/modphp4 because I have to
distribute the binary to SVR4  Unix servers running different Informix
server versions (7.21, 7.22, 7.23, 7.30 and 7.31).


Danny
---

 [2002-10-22 14:47 UTC] Hans-Theo dot Bister at t-online dot de
This may help somebody who is not so much in the stuff (like me) If you have to struggle with Apache,Informix and PHP installation troubles, have a look at this install-solution wich solved my problems in september 2002
Thanks to Paul Gardiner again, who helped me in further informix-problems, i could adjust his script for the actuall versions of HP-UX and INFORMIX.

Theo

--------------------------------------------------------------------------------------------------------------------------------------------
# QUICK INSTALL Apache 1.3.26 with static PHP-Modul (Informix  + mySQL Unterst├╝tzung)
# for HP-UX 11.00   Model 700/800
# a little modifyed by Hans-Theo Bister (with Informix-Fix)
#
# Nessesary preinstalls:
# Packages: bison, flex, libiconv, mysql, gcc-3.2
# APACHE_SOURCE=/users/apache-1.3.26/apache-1.3.26-ss-11.00.tar
# PHP_SOURCE=/users/apache-1.3.26/php-4.2.3.tar
# mySQL installed to /opt/mysql
# Informix installed to /usr/informix
# run Script as user web etc. , not as user root.
# Only start apache (./apachectl start) using ports < 1024 need root-rights
#
 
PATH=$PATH:/usr/local/bin; export PATH
INFORMIXDIR=/usr/informix; export INFORMIXDIR
 
# set IFX_LIBS to library dirs so configure doesn't try to configure them
IFX_LIBS="-L$INFORMIXDIR/lib -L$INFORMIXDIR/lib/esql"
IFX_INCDIR="$INFORMIXDIR/incl/esql"
IFX_LIBDIR="-L$INFORMIXDIR/lib -L$INFORMIXDIR/lib/esql"
 
export IFX_LIBS IFX_INCDIR IFX_LIBDIR
 
 
APACHE_VER=apache-1.3.26; export APACHE_VER
APACHE_TAR=apache-1.3.26-ss-11.00.tar; export APACHE_TAR
 
PHP_VER=php-4.2.3; export PHP_VER
PHP_TAR=php-4.2.3.tar; export PHP_TAR
 
echo "Static Module PHP4 with Apache, mySQL and Informix for HPUX 11.00\n"
echo "Ensure httpd is stopped.\n"
 
echo "Apache Version:            $APACHE_VER"
echo "Apache Tarfile             $APACHE_TAR"
echo "PHP4 Version:              $PHP_VER"
echo "PHP4 Tar File:             $PHP_TAR"
echo "\n---------------------------------------------------------------------\n"
 
cd /users/apache-1.3.26

#gunzip -c apache_1.3.26.tar.gz | tar xf -
echo "$APACHE_VER delete ..."
rm -rf $APACHE_VER
echo "\nApache extract ..."
tar -xvf $APACHE_TAR
 
echo "\nApache configure ..."
cd $APACHE_VER
./configure --with-layout=Apache
cd ..
 
#gunzip -c php-4.2.3.tar.gz | tar xf -
echo "$PHP_VER delete ..."
rm -rf $PHP_VER
echo "\nphp  extract ..."
tar -xvf $PHP_TAR
echo "\nphp  configure ..."
cd $PHP_VER
./configure --with-mysql=/opt/mysql       \
  --with-apache=../$APACHE_VER  \
  --with-informix=/usr/informix
 
echo "\nphp  make  ..."
make
echo "\nphp  make install ..."
make install
 
 
#Put in here the output of "esql -libs"  !
IFX_LIBS="/usr/informix/lib/esql/libixos.a  \
/usr/informix/lib/esql/libixgen.a           \
/usr/informix/lib/esql/libixsql.a           \
/usr/informix/lib/libixasf.a                \
/usr/informix/lib/esql/libixos.a            \
/usr/informix/lib/esql/libixgen.a           \
/usr/informix/lib/esql/libixgls.a           \
-lnsl_s -lm -lV3 -lcl -lsec /usr/informix/lib/esql/libixglx.a"
 
# Add any extra libs in here if required
LIBS="$IFX_LIBS"
export LIBS

 
echo "\nApache  configure activate php ..."
cd ../$APACHE_VER
./configure --with-layout=Apache --activate-module=src/modules/php4/libphp4.a
 
# (The above line is correct! Yes, we know libphp4.a does not exist at this
#stage. It isn't supposed to.  It will be created.)
echo "\nApache  make  jetzt mit php ..."
make
#(you should now have an httpd binary which you can copy to your Apache bin dir
#if is is your first install then you need to "make install" as well)> > 
echo "\nApache  make install      now with php ..."
make install
 
echo "\n  copy  php.ini  ..."
cd ../$PHP_VER
cp php.ini-dist /usr/local/lib/php.ini
 
# don't forget to edit  httpd.conf and php.ini  ...
echo "\n  done  \n"
-------------------------------------------------------------
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Fri Apr 18 05:03:21 2014 UTC