PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: "Meng, Ming" <ming dot meng at jackson dot com>
Subject: build DBD 1.1 fro ASE15.0.3 in AIX 5.3
Date: Jul 8 2010 6:17PM

 I got the following eror when compile DBD 1.10.  I got it compiled eventually but some test cases are failed.  this is runing on AIX 5.3.0.0 for sybase 15.0.3.

Please advise.

Here is the detail step followed:

1. down load DBD 1.10

2. run perl Makefile.PL

3. run make and got the error.

1506-173 (W) Option c is not valid. Enter xlc for list of valid options.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2830.14: 1506-041 (E) The invocation of macro strchr contains fewer arguments than are required by the macro definition.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2830.26: 1506-041 (E) The invocation of macro strrchr contains fewer arguments than are required by the macro definition.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2831.14: 1506-041 (E) The invocation of macro strcpy contains fewer arguments than are required by the macro definition.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2831.25: 1506-041 (E) The invocation of macro strcat contains fewer arguments than are required by the macro definition.
1506-173 (W) Option c is not valid. Enter xlc for list of valid options.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2830.14: 1506-041 (E) The invocation of macro strchr contains fewer arguments than are required by the macro definition.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2830.26: 1506-041 (E) The invocation of macro strrchr contains fewer arguments than are required by the macro definition.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2831.14: 1506-041 (E) The invocation of macro strcpy contains fewer arguments than are required by the macro definition.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.h", line 2831.25: 1506-041 (E) The invocation of macro strcat contains fewer arguments than are required by the macro definition.
ld: 0706-005 Cannot find or open file: Sybase.o
        ld:open(): A file or directory in the path name does not exist.
ld: 0706-005 Cannot find or open file: dbdimp.o
        ld:open(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255.
4. updated Makefile to use xlc_r instead cc_r and run make again. got a different error:

    xlc_r -c  -I/dba/sybase/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI  -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O    -DVERSION=\"1.10\"  -DXS_VERSION=\"1.10\"  "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"   Sybase.c
        xlc_r -c  -I/dba/sybase/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI  -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O    -DVERSION=\"1.10\"  -DXS_VERSION=\"1.10\"  "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"   dbdimp.c
Running Mkbootstrap for DBD::Sybase ()
        chmod 644 Sybase.bs
        rm -f blib/arch/auto/DBD/Sybase/Sybase.so
        LD_RUN_PATH="" ld  -L/dba/sybase/lib -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:Sybase.exp -bnoentry -lpthreads -lc_r Sybase.o  dbdimp.o  -o blib/arch/auto/DBD/Sybase/Sybase.so   -L/dba/sybase/lib -lsybct -lsybcs -lsybtcl -lsybcomn -lsybintl -lsybblk -ldl -lm
ld: 0711-317 ERROR: Undefined symbol: .uniconv_GetExpansion
ld: 0711-317 ERROR: Undefined symbol: .uniconv_HandleGet
ld: 0711-317 ERROR: Undefined symbol: .uniconv_GetExpansionFactor
ld: 0711-317 ERROR: Undefined symbol: .uniconv_SetSubstituteChar
ld: 0711-317 ERROR: Undefined symbol: .uniconv_SetDBCSSubstituteChar
ld: 0711-317 ERROR: Undefined symbol: .uniutf8_unistrFromUTF8
ld: 0711-317 ERROR: Undefined symbol: .uniconv_HandleFree
ld: 0711-317 ERROR: Undefined symbol: .uniconv_unistrToS
ld: 0711-317 ERROR: Undefined symbol: .uniconv_unistrFromS
ld: 0711-317 ERROR: Undefined symbol: .uniutf8_unistrToUTF8
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 The error code from the last command is 8.
5. add sybuuic to the libpath and run make again. no errors.

EXTRALIBS = -L/dba/sybase/lib -lsybct -lsybcs -lsybtcl -lsybcomn -lsybintl -lsybblk -lsybunic
LDLOADLIBS = -L/dba/sybase/lib -lsybct -lsybcs -lsybtcl -lsybcomn -lsybintl -lsybblk -ldl -lm -lsybunic

6. run make test.

      PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/autocommit....ok
t/base..........ok
t/exec..........ok
t/fail..........ok
t/login.........ok
t/main..........ok
        2/36 skipped: requires ASE 15.5
t/multi_sth.....ok
t/nsql..........ok
t/place.........ok
t/thread........skipped
        all skipped: this DBD::Sybase not configured to support iThreads
t/xblk..........ok 43/62#     Failed test (t/xblk.t at line 284)
t/xblk..........ok 51/62#     Failed test (t/xblk.t at line 318)
t/xblk..........NOK 52#     Failed test (t/xblk.t at line 319)
t/xblk..........NOK 53#     Failed test (t/xblk.t at line 320)
t/xblk..........ok 61/62#     Failed test (t/xblk.t at line 359)
t/xblk..........NOK 62# Looks like you failed 5 tests of 62.
t/xblk..........dubious
        Test returned status 5 (wstat 1280, 0x500)
DIED. FAILED tests 44, 52-54, 62
        Failed 5/62 tests, 91.94% okay
t/xblob.........ok
Failed Test Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/xblk.t       5  1280    62    5   8.06%  44 52-54 62
1 test and 2 subtests skipped.
Failed 1/12 test scripts, 91.67% okay. 5/231 subtests failed, 97.84% okay.
make: 1254-004 The error code from the last command is 2.