php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #55009 Error when compile
Submitted: 2011-06-08 08:33 UTC Modified: 2011-06-13 10:46 UTC
Votes:6
Avg. Score:5.0 ± 0.0
Reproduced:6 of 6 (100.0%)
Same Version:5 (83.3%)
Same OS:5 (83.3%)
From: hexes at mail dot ru Assigned: thekid (profile)
Status: Closed Package: Sybase-ct (ctlib) related
PHP Version: 5.3.6 OS: Linux 2.6.36-gentoo-r5
Private report: No CVE-ID: None
 [2011-06-08 08:33 UTC] hexes at mail dot ru
Description:
------------
In file included from /var/tmp/portage/dev-lang/php-5.3.6/work/sapis-
build/cli/ext/sybase_ct/php_sybase_ct.h:63,
                 from /var/tmp/portage/dev-lang/php-5.3.6/work/sapis-
build/cli/ext/sybase_ct/php_sybase_ct.c:30:
/opt/sybase/OCS-15_0/include/ctpublic.h:269: error: expected declaration 
specifiers or ‘...’ before ‘SQLDA’
/var/tmp/portage/dev-lang/php-5.3.6/work/sapis-
build/cli/ext/sybase_ct/php_sybase_ct.c: In function ‘_client_message_handler’:
/var/tmp/portage/dev-lang/php-5.3.6/work/sapis-
build/cli/ext/sybase_ct/php_sybase_ct.c:391: warning: format ‘%d’ expects type 
‘int’, but argument 5 has type ‘long int’
make: *** [ext/sybase_ct/php_sybase_ct.lo] Error 1
make: *** Waiting for unfinished jobs....
emake failed



I think that error can be in config.m4 (str 60):

elif test -f $SYBASE_CT_INCDIR/libsybct.so; then

$PHP_SYBASE_CT = '/opt/sybase/OCS-15_0'
$SYBASE_CT_INCDIR = $PHP_SYBASE_CT/include
But libraries are located in:
$SYBASE_CT_LIBDIR=$PHP_SYBASE_CT/lib

ls /opt/sybase/OCS-15_0/include/

bkpublic.h
cobpub.cbl
csconfig.h
cspublic.h
cstypes.h
ctpublic.h
mcconfig.h
mcpublic.h
mctypes.h
oscompat.h
oserror.h
ospublic.h
sqlca.h
sqlda.h
srverror.h
srv.h
sybdb.h
sybdbn.h
syberror.h
sybesql.c
sybfront.h
sybhesql.cbl
sybhesql.h
sybhstmt.h
syblogin.h
sybtesql.cbl
sybtesql.h


ls -1 /opt/sybase/OCS-15_0/lib/
libs.a
libsmapp.a
libsybblk.a
libsybblk_r.a
libsybblk_r.so
libsybblk.so
libsybcobct.a
libsybcobct_r.a
libsybcomn.a
libsybcomn_r.a
libsybcomn_r.so
libsybcomn.so
libsybcs.a
libsybcs_r.a
libsybcs_r.so
libsybcs.so
libsybct.a
libsybct_r.a
libsybct_r.so
libsybct.so
libsybdb.a
libsybdb.so
libsybdldap.so.15.0.0
libsybdldap.so.15.0.3
libsybfssl.so.15.0.0
libsybfssl.so.15.0.3
libsybintl.a
libsybintl_r.a
libsybintl_r.so
libsybintl.so
libsybskrb.so.15.0.0
libsybskrb.so.15.0.3
libsybtcl.a
libsybtcl_r.a
libsybtcl_r.so
libsybtcl.so
libsybunic.a
libsybunic.so

And also, there is no libs:
PHP_ADD_LIBRARY(cs,, SYBASE_CT_SHARED_LIBADD)
PHP_ADD_LIBRARY(ct,, SYBASE_CT_SHARED_LIBADD)
PHP_ADD_LIBRARY(comn,, SYBASE_CT_SHARED_LIBADD)
PHP_ADD_LIBRARY(intl,, SYBASE_CT_SHARED_LIBADD)


Patches

File (last revision 2011-06-14 03:53 UTC by hexes at mail dot ru)
Files (last revision 2011-06-14 03:52 UTC by hexes at mail dot ru)

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-06-09 01:25 UTC] felipe@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: thekid
 [2011-06-09 10:11 UTC] hexes at mail dot ru
/var/tmp/portage/dev-lang/php-5.3.6/work/sapis-
build/cli/ext/sybase_ct/php_sybase_ct.c:391: warning: format ‘%d’ expects type 
‘int’, but argument 5 has type ‘long int’

just change %d to %ld.
 [2011-06-11 20:25 UTC] thekid@php.net
-Status: Assigned +Status: Feedback
 [2011-06-11 20:25 UTC] thekid@php.net
This is the error as far as I see:

/opt/sybase/OCS-15_0/include/ctpublic.h:269: error: expected declaration 
specifiers or ‘...’ before ‘SQLDA’

It doesn't look like this has anything to do with PHP.
 [2011-06-11 20:29 UTC] felipe@php.net
But using INCDIR on:
elif test -f $SYBASE_CT_INCDIR/libsybct.so; then

seems wrong.
 [2011-06-13 10:32 UTC] thekid@php.net
The "$SYBASE_CT_INCDIR/libsybct.so" issue was fixed by SVN rev 311917 in bug Bug #53540.

$ svn up ext/sybase_ct/config.m4
At revision 312114.

$ grep libsybct ext/sybase_ct/config.m4
  elif test -f $SYBASE_CT_LIBDIR/libsybct64.so && test $PHP_SYBASE_64 = "yes"; then
  elif test -f $SYBASE_CT_LIBDIR/libsybct.so; then

I also merged that to 5_3 and 5_4

Guess this really is about the ‘%d’ vs. ‘%ld’ warning here.
 [2011-06-13 10:43 UTC] thekid@php.net
Automatic comment from SVN on behalf of thekid
Revision: http://svn.php.net/viewvc/?view=revision&revision=312115
Log: - Fix compiler warning about long vs. int in printf()
# See bug #55009
# Compare to _server_message_handler() a little below, where this
# is done the same way
 [2011-06-13 10:45 UTC] thekid@php.net
Automatic comment from SVN on behalf of thekid
Revision: http://svn.php.net/viewvc/?view=revision&revision=312116
Log: - MFH suppression of compiler warning noted in bug #55009
 [2011-06-13 10:45 UTC] thekid@php.net
Automatic comment from SVN on behalf of thekid
Revision: http://svn.php.net/viewvc/?view=revision&revision=312117
Log: - MFH suppression of compiler warning noted in bug #55009
 [2011-06-13 10:46 UTC] thekid@php.net
-Status: Feedback +Status: Closed
 [2011-06-13 10:46 UTC] thekid@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 [2011-06-14 05:50 UTC] hexes at mail dot ru
2 thekid@php.net:
That's good, but i think (Of course, I tried to use it) that trouble with 
compilation not only in lib path. I had changed config.m4, but when i compile it 
again i again get this message, and compilation braked.

I couldn't use last snapshot (as you advise me in bug #55022) because i use only 
packages from portage (Gentoo).

You say that "It doesn't look like this has anything to do with PHP."
But early i always you this files (will attache it) and everything was ok.
 [2011-06-14 06:02 UTC] hexes at mail dot ru
«But early i always you this»
i'm sorry, should be:
«But early i always use this»
 [2012-04-17 07:46 UTC] hexes at mail dot ru
In file included from /home/tmp/portage/dev-lang/php-5.3.10/work/sapis-
build/cli/ext/sybase_ct/php_sybase_ct.h:62:0,
                 from /home/tmp/portage/dev-lang/php-5.3.10/work/sapis-
build/cli/ext/sybase_ct/php_sybase_ct.c:29:
/opt/sybase/OCS-15_0/include/ctpublic.h:269:63: error: expected declaration 
specifiers or ‘...’ before ‘SQLDA’
make: *** [ext/sybase_ct/php_sybase_ct.lo] Error 1
make: *** Waiting for unfinished jobs....

Anyone try to compile it?
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Oct 15 12:01:27 2024 UTC