newbie: informix+php4 problem
Posted in 2000
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Internationalization & Character Sets
Hi all, I try to configure php4 with informix as Apache module. Without informix support there are no problems. With it I got the following error in the debug.log: CONFIGURE: './configure' '--with-apache=../apache133' '--enable-track-vars' '--enable-ftp' '--with-informix=yes' '--enable-libgcc' '-- enable-bcmatch=yes' '--enable-memory-limit=yes' '--enable-magic-quotes=yes' '--enable-trans-sid=yes' '--enable-nodebug=yes' ... gcc -o conftest -g -O2 -I/usr/local/informix/incl/esql -D_POSIX_PTHREAD_SEMANTICS -R/usr/local/informix/lib -L/usr/local/informix/lib -R/usr/ local/informix/lib/esql -L/usr/local/informix/lib/esql conftest.c -lgd -lresolv -lresolv -lm -ldl -lcrypt -lnsl -lsocket -lsocket -lgcc -lixs ql -lixasf -lixgen -lixos -lixgls -laio 1>&5 Undefined first referenced symbol in file ifx_checkAPI /usr/local/informix/lib/esql/libixsql.so ld: fatal: Symbol referencing errors. No output written to conftest collect2: ld returned 1 exit status Environment: Solaris 2.6 php4.0.1.p12 INFORMIX-ESQL Version 7.20.UC2 DB-Access Version 7.31.UC2A Thats all I know. I haven't installed the db and we have no information about it :-( Thanks a lot, Winni
wsoltys@lycos.de wrote: > I try to configure php4 with informix as Apache module. Without > informix support there are no problems. With it I got the following > error in the debug.log: > > CONFIGURE: './configure' '--with-apache=../apache133' > '--enable-track-vars' '--enable-ftp' '--with-informix=yes' > '--enable-libgcc' '-- > enable-bcmatch=yes' '--enable-memory-limit=yes' > '--enable-magic-quotes=yes' '--enable-trans-sid=yes' > '--enable-nodebug=yes' > ... > gcc -o conftest -g -O2 -I/usr/local/informix/incl/esql > -D_POSIX_PTHREAD_SEMANTICS -R/usr/local/informix/lib > -L/usr/local/informix/lib -R/usr/ > local/informix/lib/esql -L/usr/local/informix/lib/esql conftest.c > -lgd -lresolv -lresolv -lm -ldl -lcrypt -lnsl -lsocket -lsocket -lgcc > -lixs > ql -lixasf -lixgen -lixos -lixgls -laio 1>&5 > Undefined first referenced > symbol in file > ifx_checkAPI > /usr/local/informix/lib/esql/libixsql.so > ld: fatal: Symbol referencing errors. No output written to conftest > collect2: ld returned 1 exit status > > Environment: > Solaris 2.6 > php4.0.1.p12 > INFORMIX-ESQL Version 7.20.UC2 > DB-Access Version 7.31.UC2A > > Thats all I know. I haven't installed the db and we have no > information about it :-( The link line needs to reference $INFORMIXDIR/lib/esql/checkapi.o. It should be doing that automatically, but configuring PHP 4.0.0 on Linux with a standard Informix installation was an utter pig of a job, not least because it uses libtool and libtool makes assumptions which are not valid for Informix libraries. Oh well, I did it, eventually, *but* eventually was indeed the operative term! It was excruciatingly painful, and took far too long (multiple hours, with multiple attempts). And I've still got to work out how to get it to build out of the box, rather than the excruciatingly hacked way that I did it. On the other hand, I had no problems on Solaris 7, but I was using CSDK, not ESQL/C 7.20. In fact, you should *not* be using ESQL/C 7.20 with IDS 7.31; you should be using CSDK 2.40 or later. In fact, there used to be a bug in the esql scrpit such that when you ran 'esql -libs' it did not list the checkapi.o file, leading to erroneous link lines. You can verify this for yourself by running 'esql -libs'. And then you can upgrade to CSDK 2.40 or later, which is available free of charge from Intraware (at http://www.intraware.com/). You'll have to sign up, but they are pretty good about not pestering you with a lot of emails. And Perl 5.6.0 didn't exactly configure without problems either. I got far too many core dumps from (of all things) the shell. I've no idea what was up with the box I was using, but it was not the normal happy experience I've had. -- Yours, Jonathan Leffler (Jonathan.Leffler@Informix.com) #include <disclaimer.h> Guardian of DBD::Informix v1.00.PC1 -- http://www.perl.com/CPAN "I don't suffer from insanity; I enjoy every minute of it!"
Thanks Jonathan for this detailed explanation ! I got it work with the CSDK. But now with a sample connection I got the following error: Warning: ifx_pconnect : E [SQLSTATE=IX 001 SQLCODE=-1829] in /usr/local/httpd/htdocs/php/db_test.php on line 8 I tried all envs(informixdir,ld_library...) to our broken informix dir and later to the csdk but I got always the same error. The sqlhost is correct and with perl is a connection possible. Can you translate the error message ? Thanks, Winni On Mon, 17 Jul 2000 10:15:37 -0700, Jonathan Leffler <jleffler@informix.com> wrote: >wsoltys@lycos.de wrote: >> I try to configure php4 with informix as Apache module. Without >> informix support there are no problems. With it I got the following >> error in the debug.log: >> >> CONFIGURE: './configure' '--with-apache=../apache133' >> '--enable-track-vars' '--enable-ftp' '--with-informix=yes' >> '--enable-libgcc' '-- >> enable-bcmatch=yes' '--enable-memory-limit=yes' >> '--enable-magic-quotes=yes' '--enable-trans-sid=yes' >> '--enable-nodebug=yes' >> ... >> gcc -o conftest -g -O2 -I/usr/local/informix/incl/esql >> -D_POSIX_PTHREAD_SEMANTICS -R/usr/local/informix/lib >> -L/usr/local/informix/lib -R/usr/ >> local/informix/lib/esql -L/usr/local/informix/lib/esql conftest.c >> -lgd -lresolv -lresolv -lm -ldl -lcrypt -lnsl -lsocket -lsocket -lgcc >> -lixs >> ql -lixasf -lixgen -lixos -lixgls -laio 1>&5 >> Undefined first referenced >> symbol in file >> ifx_checkAPI >> /usr/local/informix/lib/esql/libixsql.so >> ld: fatal: Symbol referencing errors. No output written to conftest >> collect2: ld returned 1 exit status >> >> Environment: >> Solaris 2.6 >> php4.0.1.p12 >> INFORMIX-ESQL Version 7.20.UC2 >> DB-Access Version 7.31.UC2A >> >> Thats all I know. I haven't installed the db and we have no >> information about it :-( > >The link line needs to reference $INFORMIXDIR/lib/esql/checkapi.o. > >It should be doing that automatically, but configuring PHP 4.0.0 on >Linux with a standard Informix installation was an utter pig of a job, >not least because it uses libtool and libtool makes assumptions which >are not valid for Informix libraries. Oh well, I did it, eventually, >*but* eventually was indeed the operative term! It was excruciatingly >painful, and took far too long (multiple hours, with multiple attempts). >And I've still got to work out how to get it to build out of the box, >rather than the excruciatingly hacked way that I did it. > >On the other hand, I had no problems on Solaris 7, but I was using >CSDK, not ESQL/C 7.20. In fact, you should *not* be using ESQL/C 7.20 >with IDS 7.31; you should be using CSDK 2.40 or later. In fact, there >used to be a bug in the esql scrpit such that when you ran 'esql -libs' >it did not list the checkapi.o file, leading to erroneous link lines. >You can verify this for yourself by running 'esql -libs'. And then you >can upgrade to CSDK 2.40 or later, which is available free of charge >from >Intraware (at http://www.intraware.com/). You'll have to sign up, but >they are pretty good about not pestering you with a lot of emails. > >And Perl 5.6.0 didn't exactly configure without problems either. I >got far too many core dumps from (of all things) the shell. I've no >idea what was up with the box I was using, but it was not the normal >happy experience I've had. > >-- >Yours, >Jonathan Leffler (Jonathan.Leffler@Informix.com) #include <disclaimer.h> >Guardian of DBD::Informix v1.00.PC1 -- http://www.perl.com/CPAN > "I don't suffer from insanity; I enjoy every minute of it!"