#9044 [Opn->Fbk]: Compiling with latest Openlink ODBC fails with PHP4
| From: | kalowsky@php.net | Date: | Wed, 16 Oct 2002 17:06:10 +0000 |
| Subject: | #9044 [Opn->Fbk]: Compiling with latest Openlink ODBC fails with PHP4 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-22588@lists.php.net to get a copy of this message | ||
ID: 9044
Updated by: kalowsky@php.net
Reported By: antiphobo@paradise.net.nz
-Status: Open
+Status: Feedback
Bug Type: Compile Failure
Operating System: Redhat Linux (Cobalt RAQ2)
PHP Version: All PHP4 (402, 404sp1 atleast)
New Comment:
You need to give more detailed information on what exactly the errors
are. OpenLink works just fine on the three test platforms I'm using,
and has worked fine since 4.1 release. You should really though being
using the --with-iodbc flag, as --with-openlink is deprecated.
Previous Comments:
------------------------------------------------------------------------
[2002-10-16 10:26:36] adg@designers.cl
sorry i'm late... (1 year) ...
I think teh problem could be the glibc version...
I have installed php4.2.2(also 4.2.1 and 4.2.3) +
apache(1.3.27 and the now httpd release at this
time 2.0.43) in the Red Hat 7.3 version, and
everithing works fine (except for a problem in the
Openlink lite version driver for SQL-Server whe
you make a odbc_exec() call), but when i've tryed
to install the same configuration in the redhat
7.2 throws the same make-error taht you comment...
try to update to rh 7.3 (maybe 8.0), or update
glibc or the lib used to compile...
Sorry if i'm wrong...
Regards Adriano
------------------------------------------------------------------------
[2001-02-06 21:52:36] antiphobo@paradise.net.nz
Copied contents of /ext/odbc/ of PHP404sp1 and tried compiling this
with PHP403sp1 ... Compile fine; but Driver Not Capable error
continues.
------------------------------------------------------------------------
[2001-02-03 14:49:56] antiphobo@paradise.net.nz
Allegedly PHP404sp1 fixes this Openlink problem ... but see bug id
http://bugs.php.net/?id=9088&edit=1 for
why i couldnt get PHP404sp1 to
work with apache :(
------------------------------------------------------------------------
[2001-02-01 17:44:06] antiphobo@paradise.net.nz
Compiling Openlink4 with PHP 403sp1 and Apache 1.3.12 using the custom
iodbc.h file I have included WORKS "FINE":
as in
- it compiles without errors
- has warning: `SQL_LEN_DATA_AT_EXEC' redefined
- produces a fully PHP-functional apache webserver
I still cannot manage to properly communicate to talbles using
Openlink4, however, I recieve:
SQL error: [OpenLink][ODBC][Driver]Syntax error or access, SQL state
37000 in SQLExecDirect for complex selects such as "SELECT TOP 10
RECORD_NR, StatusField, ExtendedStatusField, PICTURE, SURNAME,
FIRSTNAME, FORM, DOB, DESTINATION, EXPIRY FROM (SELECT TOP 10 * FROM
WELLGIRLS ORDER BY RECORD_NR ASC,RECORD_NR ASC) ORDER BY RECORD_NR
DESC,RECORD_NR DESC"
and for simple selects "SELECT * FROM TABLENAME", i get
Warning: SQL error: [OpenLink][ODBC][Driver]Driver not capable, SQL
state S1C00 in SQLExecDirect in
/home/sites/home/web/current/Admin/admin_odbcsetup.php on line 125
The battle continues ...
- Siggy
------------------------------------------------------------------------
[2001-02-01 16:16:49] antiphobo@paradise.net.nz
Modified Openlink3.2 iodbc.h so that it could be used with openlink4:
contents of /usr/local/openlink/odbcsdk/include/iodbc.h now:
##########################################
#ifndef _CONFIG_H
#define _CONFIG_H
# if !defined(WINDOWS) && !defined(WIN32_SYSTEM)
# define _UNIX_
# include <stdlib.h>
# include <sys/types.h>
# define MEM_ALLOC(size) (malloc((size_t)(size)))
# define MEM_FREE(ptr) {if(ptr) free(ptr);}
# define STRCPY(t, s) (strcpy((char*)(t), (char*)(s)))
# define STRNCPY(t,s,n) (strncpy((char*)(t), (char*)(s),
(size_t)(n)))
# define STRCAT(t, s) (strcat((char*)(t), (char*)(s)))
# define STRNCAT(t,s,n) (strncat((char*)(t), (char*)(s),
(size_t)(n)))
# define STREQ(a, b) (strcmp((char*)(a), (char*)(b)) == 0)
# define STRLEN(str) ((str)? strlen((char*)(str)):0)
# define EXPORT
# define CALLBACK
# define FAR
# endif /* _UNIX_ */
# if defined(WINDOWS) || defined(WIN32_SYSTEM)
# include <windows.h>
# include <windowsx.h>
# ifdef _MSVC_
# define MEM_ALLOC(size) (fmalloc((size_t)(size)))
# define MEM_FREE(ptr) ((ptr)? ffree((PTR)(ptr)):0))
# define STRCPY(t, s) (fstrcpy((char FAR*)(t), (char
FAR*)(s)))
# define STRNCPY(t,s,n) (fstrncpy((char FAR*)(t), (char
FAR*)(s), (size_t)(n)))
# define STRLEN(str) ((str)? fstrlen((char FAR*)(str)):0)
# define STREQ(a, b) (fstrcmp((char FAR*)(a), (char FAR*)(b)
== 0)
# endif
# ifdef _BORLAND_
# define MEM_ALLOC(size) (farmalloc((unsigned long)(size))
# define MEM_FREE(ptr) ((ptr)? farfree((void far*)(ptr)):0)
# define STRCPY(t, s) (_fstrcpy((char FAR*)(t), (char
FAR*)(s)))
# define STRNCPY(t,s,n) (_fstrncpy((char FAR*)(t), (char
FAR*)(s), (size_t)(n)))
# define STRLEN(str) ((str)? _fstrlen((char FAR*)(str)):0)
# define STREQ(a, b) (_fstrcmp((char FAR*)(a), (char
FAR*)(b) == 0)
# endif
# endif /* WINDOWS */
# define SYSERR (-1)
# ifndef NULL
# define NULL ((void FAR*)0UL)
# endif
#endif
##########################################
Compiled OK(version 404sp1); './configure'
'--with-openlink=/usr/local/openlink' '--with-mysql'
'--with-apache=../apache_1.3.17' '--enable-track-vars'
Caused This WARNING when make-ing:
make[3]: Entering directory `/tmp/php-4.0.4pl1/ext/odbc'
gcc -I. -I/tmp/php-4.0.4pl1/ext/odbc -I/tmp/php-4.0.4pl1/main
-I/tmp/php-4.0.4pl1 -I/tmp/apache_1.3.17/src/include
-I/tmp/apache_1.3.17/src/os/unix -I/tmp/php-4.0.4pl1/Zend
-I/tmp/php-4.0.4pl1/ext/mysql/libmysql
-I/usr/local/openlink/odbcsdk/include
-I/tmp/php-4.0.4pl1/ext/xml/expat/xmltok
-I/tmp/php-4.0.4pl1/ext/xml/expat/xmlparse -I/tmp/php-4.0.4pl1/TSRM
-DXML_BYTE_ORDER=12 -g -O2 -c php_odbc.c && touch php_odbc.lo
In file included from php_odbc.h:128,
from php_odbc.c:31:
/usr/local/openlink/odbcsdk/include/udbcext.h:47: warning:
`SQL_LEN_DATA_AT_EXEC' redefined
/usr/local/openlink/odbcsdk/include/sqlext.h:250: warning: this is the
location of the previous definition
***
Now Apache won't run; NOTHING reported in /etc/httpd/logs - where can i
find failure reason?
Trying again with older versions of PHP and Apache.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/9044
--
Edit this bug report at http://bugs.php.net/?id=9044&edit=1