php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8320 Comiling with Adabas failes
Submitted: 2000-12-19 07:25 UTC Modified: 2001-02-27 11:30 UTC
From: pr at ic-marl dot de Assigned:
Status: Closed Package: Adabas-D related
PHP Version: 4.0.4pl1 OS: Linux version 2.2.14
Private report: No CVE-ID: None
 [2000-12-19 07:25 UTC] pr at ic-marl dot de
./configure --with-mysql --with-adabas=/var/adabas --with-apache=../apache_1.3.14 --enable-track-vars 

no errors

make:

gcc -I. -I/usr/src/php-4.0.3pl1/ext/odbc -I/usr/src/php-4.0.3pl1 -I/usr/src/php-4.0.3pl1/main -I/usr/src/apache_1.3.14/src/include -I/usr/src/apache_1.3.14/src/os/unix -I/usr/src/php-4.0.3pl1/Zend -I/usr/src/php-4.0.3pl1 -I/usr/src/php-4.0.3pl1/ext/mysql/libmysql -I/var/adabas/incl -I/usr/src/php-4.0.3pl1/ext/xml/expat/xmltok -I/usr/src/php-4.0.3pl1/ext/xml/expat/xmlparse -I/usr/src/php-4.0.3pl1/TSRM -DXML_BYTE_ORDER=12 -g -O2 -c php_odbc.c && touch php_odbc.lo 
php_odbc.c: In function `odbc_column_lengths': 
php_odbc.c:619: `SQLINTEGER' undeclared (first use in this function) 
php_odbc.c:619: (Each undeclared identifier is reported only once 
php_odbc.c:619: for each function it appears in.) 
php_odbc.c:619: parse error before `len' 
php_odbc.c:647: `SQLUSMALLINT' undeclared (first use in this function) 
php_odbc.c:648: `len' undeclared (first use in this function) 

make[3]: *** [php_odbc.lo] Error 1 
make[3]: Leaving directory `/usr/src/php-4.0.3pl1/ext/odbc' 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory `/usr/src/php-4.0.3pl1/ext/odbc' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/usr/src/php-4.0.3pl1/ext' 
make: *** [all-recursive] Error 1 

if i add 
#define SQLINTEGER ULONG
#define SQLUSMALLINT USHORT
into php_odbc.h i got no errors in here.

but the i got an error while making Apache 1.3.14

gcc  -DLINUX=2 -I/usr/src/php-4.0.3pl1 -I/usr/src/php-4.0.3pl1/main -I/usr/src/php-4.0.3pl1/main -I/usr/src/php-4.0.3pl1/Zend -I/usr/src/php-4.0.3pl1/Zend -I/usr/src/php-4.0.3pl1/TSRM -I/usr/src/php-4.0.3pl1/TSRM -I/usr/src/php-4.0.3pl1 -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED `./apaci`    \
      -o httpd buildmark.o modules.o modules/standard/libstandard.a modules/php4/libphp4.a main/libmain.a ./os/unix/libos.a ap/libap.a  lib/expat-lite/libexpat.a  -Wl,-rpath,/var/adabas/lib -Wl,-rpath,/usr/src/php-4.0.3pl1/ext/odbc  -rdynamic -L/var/adabas/lib -L/usr/src/php-4.0.3pl1/ext/odbc -Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4    -lpam  -ldl -lodbc_adabas -lsqlrte -lsqlptc -lresolv -lm -ldl -lcrypt -lnsl  -lresolv   -lm -lcrypt
/var/adabas/lib/libsqlrte.a(ven06c.o): In function `vfstatus':
ven06c.o(.text+0x129a): undefined reference to `_xstat'
/var/adabas/lib/libsqlrte.a(ven06c.o): In function `sqlferase':
ven06c.o(.text+0x25db): undefined reference to `_xstat'
/var/adabas/lib/libsqlrte.a(ven13c.o): In function `sql13c_open_xuser_file':
ven13c.o(.text+0xa51): undefined reference to `_xstat'
/var/adabas/lib/libsqlrte.a(ven41c.o): In function `sql41_create_fifo':
ven41c.o(.text+0x7f2): undefined reference to `_xmknod'
/var/adabas/lib/libsqlrte.a(ven41c.o): In function `sql41_get_server_key':
ven41c.o(.text+0xa46): undefined reference to `_xstat'
/var/adabas/lib/libsqlrte.a(ven41c.o): In function `sql41_get_csl_key':
ven41c.o(.text+0xb01): undefined reference to `_xstat'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/usr/src/apache_1.3.14/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/usr/src/apache_1.3.14'
make: *** [build] Error 2

is tihs a php problem?
and i thought the
#define SQLINTEGER ULONG
#define SQLUSMALLINT USHORT
thing is already fixed!

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-12-21 04:09 UTC] pr at ic-marl dot de
The error still occures in version 4.0.4

Making all in odbc
make[2]: Entering directory `/usr/src/php-4.0.4/ext/odbc'
make[3]: Entering directory `/usr/src/php-4.0.4/ext/odbc'
gcc  -I. -I/usr/src/php-4.0.4/ext/odbc -I/usr/src/php-4.0.4/main -I/usr/src/php-4.0.4 -I/usr/src/apache_1.3.14/src/include -I/usr/src/apache_1.3.14/src/os/unix -I/usr/src/php-4.0.4/Zend -I/usr/src/php-4.0.4/ext/mysql/libmysql -I/var/adabas/incl -I/usr/src/php-4.0.4/ext/xml/expat/xmltok -I/usr/src/php-4.0.4/ext/xml/expat/xmlparse -I/usr/src/php-4.0.4/TSRM  -DXML_BYTE_ORDER=12 -g -O2  -c php_odbc.c && touch php_odbc.lo
php_odbc.c: In function `odbc_column_lengths':
php_odbc.c:650: `SQLUSMALLINT' undeclared (first use in this function)
php_odbc.c:650: (Each undeclared identifier is reported only once
php_odbc.c:650: for each function it appears in.)
make[3]: *** [php_odbc.lo] Error 1
make[3]: Leaving directory `/usr/src/php-4.0.4/ext/odbc'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/php-4.0.4/ext/odbc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/php-4.0.4/ext'
make: *** [all-recursive] Error 1
 [2001-01-03 09:50 UTC] pr at ic-marl dot de
./configure (with ./configure --with-mysql --with-adabas=/var/adabas --with-apache=../apache_1.3.14 --enable-track-vars ) makes no problems. make end with the folowing:

Making all in odbc
make[2]: Entering directory `/usr/src/php-4.0.4/ext/odbc'
make[3]: Entering directory `/usr/src/php-4.0.4/ext/odbc'
gcc  -I. -I/usr/src/php-4.0.4/ext/odbc -I/usr/src/php-4.0.4/main -I/usr/src/php-4.0.4 -I/usr/src/apache_1.3.14/src/include -I/usr/src/apache_1.3.14/src/os/unix -I/usr/src/php-4.0.4/Zend -I/usr/src/php-4.0.4/ext/mysql/libmysql -I/var/adabas/incl -I/usr/src/php-4.0.4/ext/xml/expat/xmltok -I/usr/src/php-4.0.4/ext/xml/expat/xmlparse -I/usr/src/php-4.0.4/TSRM  -DXML_BYTE_ORDER=12 -g -O2  -c php_odbc.c && touch php_odbc.lo
php_odbc.c: In function `odbc_column_lengths':
php_odbc.c:650: `SQLUSMALLINT' undeclared (first use in this function)
php_odbc.c:650: (Each undeclared identifier is reported only once
php_odbc.c:650: for each function it appears in.)
php_odbc.c:651: `len' undeclared (first use in this function)
make[3]: *** [php_odbc.lo] Error 1
make[3]: Leaving directory `/usr/src/php-4.0.4/ext/odbc'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/php-4.0.4/ext/odbc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/php-4.0.4/ext'
make: *** [all-recursive] Error 1


my ext/odbc/php_odbc.c looks like:


#if defined(HAVE_SOLID) || defined(HAVE_SOLID_30)
 /* this seems to be necessary for Solid2.3 ( tested by
  * tammy@synchronis.com) and Solid 3.0 (tested by eric@terra.telemediair.nl)
  * Solid does not seem to declare a SQLINTEGER, but it does declare a
  * SQL_INTEGER which does not work (despite being the same type as a SDWORD.
  * Solid 3.5 does not have this issue.
  */
  defined(HAVE_ADABAS);

  SQLINTEGER len;
#endif

 [2001-02-27 10:33 UTC] pr at ic-marl dot de
4.0.4pl1 still has the same problem

./configure --with-mysql --with-adabas=/var/adabas/ --with-apache=../apache_1.3.17 --enable-track-vars

-> no problems

make
[...]
Making all in odbc
make[2]: Entering directory `/usr/src/php-4.0.4pl1/ext/odbc'
make[3]: Entering directory `/usr/src/php-4.0.4pl1/ext/odbc'
gcc  -I. -I/usr/src/php-4.0.4pl1/ext/odbc -I/usr/src/php-4.0.4pl1/main -I/usr/src/php-4.0.4pl1 -I/usr/src/apache_1.3.17/src/include -I/usr/src/apache_1.3.17/src/os/unix -I/usr/src/php-4.0.4pl1/Zend -I/usr/src/php-4.0.4pl1/ext/mysql/libmysql -I/var/adabas//incl -I/usr/src/php-4.0.4pl1/ext/xml/expat/xmltok -I/usr/src/php-4.0.4pl1/ext/xml/expat/xmlparse -I/usr/src/php-4.0.4pl1/TSRM  -DXML_BYTE_ORDER=12 -g -O2  -c php_odbc.c && touch php_odbc.lo
php_odbc.c: In function `odbc_column_lengths':
php_odbc.c:650: `SQLUSMALLINT' undeclared (first use in this function)
php_odbc.c:650: (Each undeclared identifier is reported only once
php_odbc.c:650: for each function it appears in.)
make[3]: *** [php_odbc.lo] Error 1
make[3]: Leaving directory `/usr/src/php-4.0.4pl1/ext/odbc'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/php-4.0.4pl1/ext/odbc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/php-4.0.4pl1/ext'
make: *** [all-recursive] Error 1

is no one developing the odbc interface for php?
 [2001-02-27 11:30 UTC] kara@php.net
Fixed in CVS

As to the missing symbols reported, please upgrade to a
newer version of the Adabas libs.
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Fri Aug 07 14:01:26 2020 UTC