From: jake dot pogorelec at ntalife dot com
Operating system: 64-Bit Centos 6
PHP version: 7.1.24
Package: PDO ODBC
Bug Type: Bug
Bug description:Issues in
Description:
------------
Im not sure this is where this belongs but I wasn't sure where to put it
so Im posting it here, please let me know if it needs to be somewhere
else. We are in the process of upgrading from php 5.6.* to 7.1.* before
the EOL early next month and ran into a snag. the snag seems to be due
to PHPNG changes https://wiki.php.net/phpng-upgrading) that were made
back in 7, but do not have solutions readily available.
Historicall we have used IUS to get compliant packages (Regular redhat
repos are too old to be compliant in the ways we need) and the we
stimulate those with manually compiled packages.
One of the packages that we have been maintaining "manually" (building
with phpize, configure, "make", & "make install") after each php update
is "PDO_ODBC v1.0.1 using unixODBC v2.3.2" (we use this driver manager
heavily for DB2 on iSeries, mysql, AND Sql Server database connections).
The package has built pretty much without issue until the 5->7 upgrade
process which has failed and gotten a LOT of errors related to various
Zend library methods I have been working my way through with things I
can fix, but I dont know how to fix the last few of them (most are
related to type mismatches such as "unary *", "zval", "struct zval *",
.
It seems in 5.6 the Zend functions were alot different although some of
the issues we fixed in the previous version (changin SDWORD to SQLULEN,
etc...)
Test script:
---------------
cd ./PDO_ODBC-1.0.1
phpize
./configure --with-pdo-odbc=unixODBC
make
Expected result:
----------------
Successful Build
Actual result:
--------------
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c: In function
âodbc_stmt_executeâ:
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:183: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:186: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:186: error: incompatible type
for argument 1 of â_convert_to_stringâ
/usr/include/php/Zend/zend_operators.h:253: note: expected âstruct
zval *â but argument is of type âzvalâ
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:189: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:190: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:193: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:194: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c: In function
âodbc_stmt_param_hookâ:
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:312: warning: passing argument
4 of âSQLDescribeParamâ from incompatible pointer type
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:387: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:430: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:430: error: incompatible type
for argument 1 of â_convert_to_stringâ
/usr/include/php/Zend/zend_operators.h:253: note: expected âstruct
zval *â but argument is of type âzvalâ
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:432: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:433: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:435: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:438: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:441: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:441: error: incompatible type
for argument 1 of â_convert_to_stringâ
/usr/include/php/Zend/zend_operators.h:253: note: expected âstruct
zval *â but argument is of type âzvalâ
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:445: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:446: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:450: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:451: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:459: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:473: error: incompatible type
for argument 1 of â_zval_ptr_dtor_nogcâ
/usr/include/php/Zend/zend_variables.h:37: note: expected âstruct zval
*â but argument is of type âzvalâ
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:474: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:477: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:477: error: incompatible type
for argument 1 of â_convert_to_stringâ
/usr/include/php/Zend/zend_operators.h:253: note: expected âstruct
zval *â but argument is of type âzvalâ
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:491: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:491: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:492: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:493: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:494: error: invalid type
argument of âunary *â (have âzvalâ)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c: In function
âodbc_stmt_describeâ:
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:552: warning: passing argument
7 of âSQLDescribeColâ from incompatible pointer type
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:592: error: âstruct
pdo_column_dataâ has no member named ânamelenâ
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:593: warning: assignment from
incompatible pointer type
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:787:34: error: macro
"ZVAL_STRINGL" passed 4 arguments, but takes just 3
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c: In function
âodbc_stmt_get_attrâ:
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:787: error: âZVAL_STRINGLâ
undeclared (first use in this function)
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:787: error: (Each undeclared
identifier is reported only once
/usr/local/lib/PDO_ODBC-1.0.1/odbc_stmt.c:787: error: for each function
it appears in.)
--
Edit bug report at https://bugs.php.net/bug.php?id=77132&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=77132&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=77132&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=77132&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=77132&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=77132&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=77132&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=77132&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=77132&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=77132&r=support
Expected behavior: https://bugs.php.net/fix.php?id=77132&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=77132&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=77132&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=77132&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=77132&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=77132&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=77132&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=77132&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=77132&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=77132&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=77132&r=mysqlcfg