Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Feb 2000 22:00:03 +0000
From:      Tom Bowyer <tab1@clara.co.uk>
To:        freebsd-questions@freebsd.org
Subject:   PHP & Informix
Message-ID:  <389DEEE3.1F9FAF0F@clara.co.uk>

next in thread | raw e-mail | index | archive | help
Hi all,
 
I have a real opportunity to use FreeBSD at work if I can compile PHP
with Informix support.

I am using (trying to use):

titan# uname -a
FreeBSD titan.tab1.clara.co.uk 3.4-STABLE FreeBSD 3.4-STABLE #5: Sun
Feb  6 17:38:15 GMT 2000
root@titan.tab1.clara.co.uk:/usr/src/sys/compile/TAB1  i386

Apache 1.3.11
PHP 3.0.14
Informix Client SDK for Linux
Linux base 6.1

I have $INFORMIXDIR set and I have $INFORMIXDIR/bin in my path.

esql runs okay. With linux_base 5.2 it just seg faulted.

Then I basically follow the INSTALL doc in the php distribution
replacing "--with-mysql=..." with "--with-informix"

titan# cd /usr/local/src/php3
titan# ./configure --with-apache=../apache --with-informix
--enable-track-vars
titan# make
titan# make install
titan# cd ../apache

All okay and then I get this:

-----------------------------------------------------------------------
titan# ./configure --prefix=/usr/local/apache
--activate-module=src/modules/php3/libphp3.a

Configuring for Apache, Version 1.3.11
 + using installation path layout: Apache (config.layout)
 + activated php3 module (modules/php3/libphp3.a)
Creating Makefile
Creating Configuration.apaci in src
Creating Makefile in src
  + configured for FreeBSD 3.4 platform
  + setting C compiler to gcc
  + setting C pre-processor to gcc -E
  + checking for system header files
  + adding selected modules
     o php3_module uses ConfigStart/End
  + checking sizeof various data types
  + doing sanity check on compiler and options
** A test compilation with your Makefile configuration
** failed.  The below error output from the compilation
** test will give you an idea what is failing. Note that
** Apache requires an ANSI C Compiler, such as gcc.

cd ..; gcc  -funsigned-char -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite
-DNO_DL_NEEDED `./apaci`     -o helpers/dummy helpers/dummy.c
-Lmodules/php3 -L../modules/php3 -L../../modules/php3
-lmodphp3                   -L/opt/informix/lib -L/opt/informix/lib/esql
-lifsql -lifasf -lifgen -lifos -lifgls -lnetstub -lc -ldl -lcrypt
/opt/informix/lib/esql/checkapi.o -lifglx    -lpam -lm -lcrypt   -lcrypt
/opt/informix/lib/esql/libifos.so: warning: mktemp() possibly used
unsafely; consider using mkstemp()
/usr/libexec/elf/ld: cannot open -ldl: No such file or directory
*** Error code 1

Stop.
======== Error Output for sanity check ========
============= End of Error Report =============
Aborting!
---------------------------------------------------------------------------------

From my reading of mailing list archives I see that -ldl does not exist
in FreeBSD, and the required functions are in -lc (Am I wrong about
this?) and so I edit /usr/local/apache/src/modules/php3/libphp3.module
and from the libs line I remove -ldl (-lc is already there).

Then I get:

---------------------------------------------------------------------------------
titan# ./configure --prefix=/usr/local/apache
--activate-module=src/modules/php3
/libphp3.a

Configuring for Apache, Version 1.3.11
 + using installation path layout: Apache (config.layout)
 + activated php3 module (modules/php3/libphp3.a)
Creating Makefile
Creating Configuration.apaci in src
Creating Makefile in src
 + configured for FreeBSD 3.4 platform
 + setting C compiler to gcc
 + setting C pre-processor to gcc -E
 + checking for system header files
 + adding selected modules
    o php3_module uses ConfigStart/End
 + checking sizeof various data types
 + doing sanity check on compiler and options
** A test compilation with your Makefile configuration
** failed.  The below error output from the compilation
** test will give you an idea what is failing. Note that
** Apache requires an ANSI C Compiler, such as gcc.

cd ..; gcc  -funsigned-char -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite
-DNO_DL
_NEEDED `./apaci`     -o helpers/dummy helpers/dummy.c   -Lmodules/php3
-L../mod
ules/php3 -L../../modules/php3 -lmodphp3
-L/opt/informix/lib -
L/opt/informix/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls -lnetstub
-lc -lc
rypt /opt/informix/lib/esql/checkapi.o -lifglx    -lpam -lm -lcrypt
-lcrypt
/opt/informix/lib/esql/libifos.so: warning: mktemp() possibly used
unsafely; con
sider using mkstemp()
/opt/informix/lib/esql/libifgen.so: undefined reference to
`__strtod_internal'
/opt/informix/lib/esql/libifgen.so: undefined reference to `stdout'
/opt/informix/lib/libifasf.so: undefined reference to `__ctype_b'
/opt/informix/lib/libifasf.so: undefined reference to `__rawmemchr'
/opt/informix/lib/esql/libifsql.so: undefined reference to
`__strtol_internal'
/opt/informix/lib/esql/libifsql.so: undefined reference to `__bzero'
/opt/informix/lib/esql/libifgls.so: undefined reference to
`__strtoul_internal'/opt/informix/lib/esql/libifos.so: undefined
reference to `__ctype_toupper'
/opt/informix/lib/esql/libifgen.so: undefined reference to `nl_langinfo'
/opt/informix/lib/esql/libifgen.so: undefined reference to `stdin'
/opt/informix/lib/esql/libifos.so: undefined reference to `getspnam'
/opt/informix/lib/esql/libifgen.so: undefined reference to `_IO_getc'
/opt/informix/lib/esql/libifos.so: undefined reference to `setmntent'
/opt/informix/lib/esql/libifos.so: undefined reference to `endmntent'
/opt/informix/lib/esql/libifgen.so: undefined reference to
`__assert_fail'
/opt/informix/lib/esql/libifos.so: undefined reference to
`__h_errno_location'
/opt/informix/lib/esql/libifsql.so: undefined reference to `stderr'
/opt/informix/lib/esql/libifgen.so: undefined reference to `ecvt'
/opt/informix/lib/esql/libifos.so: undefined reference to `getmntent'
/opt/informix/lib/esql/libifsql.so: undefined reference to `__xstat'
/opt/informix/lib/esql/libifsql.so: undefined reference to
`__errno_location'
/opt/informix/lib/esql/libifgen.so: undefined reference to `_IO_putc'
/opt/informix/lib/libifasf.so: undefined reference to `__ctype_tolower'
*** Error code 1

Stop.
======== Error Output for sanity check ========
============= End of Error Report =============

 Aborting!
----------------------------------------------------------------

The question(s):

1) Do I simply need to add in another library somewhere in replacment
for -ldl?

2) Since esql is running under linux emulation do I need to do the
compilations of php & apache under linux mode as well? If so how would I
dos this?

3) Would it be easier to use some kind of ODBC soloution rather than
trying to compile in the informix support?

All ideas gratefully received

Tom.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?389DEEE3.1F9FAF0F>