Re: make test failed for perl module DBD-Oracle-1.70
"Martin J. Evans" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.general |
|---|---|
| Organization | at home |
| Message-ID | <[email protected]> |
On 19/03/2014 18:31, Jillapelli, Ramakrishna wrote:
> Hi,
>
> struck with “DBD-Oracle-1.70”
You are likely to get more/better help if you tell us more. Platform?
Perl version and where it came from? compiler? Oracle you are compiling
against - full Oracle or Instant Client and version?
Anyway, I can guess some from the following:
> Make test returned the following error:
>
> cp lib/DBD/Oracle/Troubleshooting/Win32.pod
> blib/lib/DBD/Oracle/Troubleshooting/Win32.pod
>
> cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
>
> /usr/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME"
> => "DBD::Oracle", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => []);'
>
> /usr/bin/perl -p -e "s/~DRIVER~/Oracle/g"
> /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/Driver.xst
> > Oracle.xsi
You are possibly using perl 5.10.1 - pretty old now but should still be
ok. /usr/opt is an unusual place to see Perl so I'm guessing this is a
Perl installed via your operating system vendor.
> /usr/bin/perl /usr/opt/perl5/lib/5.10.1/ExtUtils/xsubpp
> -typemap /usr/opt/perl5/lib/5.10.1/ExtUtils/typemap -typemap typemap
> Oracle.xs > Oracle.xsc && mv Oracle.xsc Oracle.c
>
> xlc_r -q32 -c -I/oracle/product/v102/fullclnt/rdbms/public
xlc_r. That looks like the IBM AIX compiler?
You need to compile and link DBD::Oracle using the same tools (compiler
and linker) as IBM (or whoever) built your Perl. If this is an IBM
compiled Perl for AIX they probably used their compiler (xlc) - a perl
-V should verify this.
> -I/oracle/product/v102/fullclnt/rdbms/demo
> -I/oracle/product/v102/fullclnt/rdbms/public
> -I/oracle/product/v102/fullclnt/plsql/public
> -I/oracle/product/v102/fullclnt/network/public
> -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI
> -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias
> -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended
> -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O
> -DVERSION=\"1.70\" -DXS_VERSION=\"1.70\"
> "-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE" -DUTF8_SUPPORT
> -DORA_OCI_VERSION=\"10.2.0.1\" -DORA_OCI_102 Oracle.c
Guessing you are using Oracle OCI 10.2.0.1 and this is a full install of
Oracle and not instant client.
> xlc_r -q32 -c -I/oracle/product/v102/fullclnt/rdbms/public
> -I/oracle/product/v102/fullclnt/rdbms/demo
> -I/oracle/product/v102/fullclnt/rdbms/public
> -I/oracle/product/v102/fullclnt/plsql/public
> -I/oracle/product/v102/fullclnt/network/public
> -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI
> -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias
> -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended
> -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O
> -DVERSION=\"1.70\" -DXS_VERSION=\"1.70\"
> "-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE" -DUTF8_SUPPORT
> -DORA_OCI_VERSION=\"10.2.0.1\" -DORA_OCI_102 dbdimp.c
>
> xlc_r -q32 -c -I/oracle/product/v102/fullclnt/rdbms/public
> -I/oracle/product/v102/fullclnt/rdbms/demo
> -I/oracle/product/v102/fullclnt/rdbms/public
> -I/oracle/product/v102/fullclnt/plsql/public
> -I/oracle/product/v102/fullclnt/network/public
> -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI
> -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias
> -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended
> -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O
> -DVERSION=\"1.70\" -DXS_VERSION=\"1.70\"
> "-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE" -DUTF8_SUPPORT
> -DORA_OCI_VERSION=\"10.2.0.1\" -DORA_OCI_102 oci8.c
>
> Running Mkbootstrap for DBD::Oracle ()
>
> chmod 644 Oracle.bs
>
> rm -f blib/arch/auto/DBD/Oracle/Oracle.so
>
>
> LD_RUN_PATH="/oracle/product/v102/fullclnt/lib32:/oracle/product/v102/fullclnt/rdbms/lib32"
> ld -bhalt:4 -G
> -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp
> -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o
> dbdimp.o oci8.o -q32 -L/oracle/product/v102/fullclnt/lib32/
> -L/oracle/product/v102/fullclnt/rdbms//lib32/ -lclntsh -lld -lm `cat
> /oracle/product/v102/fullclnt/lib32/sysliblist` -lm -lpthreads -o
> blib/arch/auto/DBD/Oracle/Oracle.so
>
> ld: 0706-012 The -q flag is not recognized.
>
> ld: 0706-012 The -3 flag is not recognized.
>
> ld: 0706-012 The -2 flag is not recognized.
That is a bit strange as it is passing -q32 to ld which is the linker.
What does a perl -V output?
You could try searching the Makefile for -q32 and removing it from
anything that looks like a linker (ld) command argument e.g., LDFLAGS.
That is a bit of a hack but it should get you further. If you are
struggling with this mail the Makefile to me (only) and I'll take a look.
> make: The error code from the last command is 255.
>
> Stop.
>
> [root@ews-pgh1-esmd2] /home/rj46/DBD-Oracle-1.70
>
> q32 option is mandatory?
no idea what your question is there.
>
> Can you please guide how to proceed on this?
>
> Thanks & Regards,
Martin
--
Martin J. Evans
Wetherby, UK