Hello,
As part of a general upgrade, I am trying to compile DBI-1.39 module. Here
is what I have:
Sparc Solaris 8 64-bit
GCC: 3.3.2 64-bit
[EMAIL PROTECTED]:dbi/DBI-1.39# gcc -v
Reading specs from
/usr/local/lib/gcc-lib/sparcv9-sun-solaris2.8/3.3.2/specs
Configured with: ../gcc-3.3.2/configure --disable-nls
--host=sparcv9-sun-solaris2.8 --with-libiconv-prefix=/usr/local
Thread model: posix
gcc version 3.3.2
Perl: 5.8.2 64-bit, with threads.
[EMAIL PROTECTED]:dbi/DBI-1.39# perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
Platform:
osname=solaris, osvers=2.8, archname=sun4-solaris-thread-64
uname='sunos sawww 5.8 generic sun4u sparc sunw,ultrasparc-iii-cengine
'
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=define useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -fno-strict-aliasing
-I/usr/local/include -mcpu=v9 -m64 -Wa,-xarch=v9 -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-D_REENTRANT -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='3.3.2', gccosandvers='solaris2.8'
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lpthread -lc
perllibs=-lsocket -lnsl -ldl -lm -lpthread -lc
libc=/usr/lib/sparcv9/libc.so, so=so, useshrplib=false,
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_5005THREADS USE_64_BIT_INT USE_64_BIT_ALL
USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Built under solaris
Compiled at Dec 12 2003 14:01:21
@INC:
/usr/local/lib/perl5/5.8.2/sun4-solaris-thread-64
/usr/local/lib/perl5/5.8.2
/usr/local/lib/perl5/site_perl/5.8.2/sun4-solaris-thread-64
/usr/local/lib/perl5/site_perl/5.8.2
/usr/local/lib/perl5/site_perl
.
----------------------------------------------------------
When I run `perl Makefile.PL' , the command is aborted with a suggestion
to upgrade to "perl 5.8.2 or later" which is what I already have. I know
this is because of the threads, but I need them, although not necessarily
for DBI module.
So following the instruction, I tried to use
perl Makefile.PL -nothread
Compilation failed:
[EMAIL PROTECTED]:dbi/DBI-1.39# make
cp Changes blib/lib/DBI/Changes.pm
cp dbd_xsh.h blib/arch/auto/DBI/dbd_xsh.h
cp lib/DBI/FAQ.pm blib/lib/DBI/FAQ.pm
cp Driver_xst.h blib/arch/auto/DBI/Driver_xst.h
cp lib/DBD/Proxy.pm blib/lib/DBD/Proxy.pm
cp lib/DBI/Const/GetInfo/ANSI.pm blib/lib/DBI/Const/GetInfo/ANSI.pm
cp DBIXS.h blib/arch/auto/DBI/DBIXS.h
cp lib/DBI/Const/GetInfoReturn.pm blib/lib/DBI/Const/GetInfoReturn.pm
cp DBI.pm blib/lib/DBI.pm
cp lib/DBD/Sponge.pm blib/lib/DBD/Sponge.pm
cp lib/DBI/Const/GetInfoType.pm blib/lib/DBI/Const/GetInfoType.pm
cp lib/DBI/W32ODBC.pm blib/lib/DBI/W32ODBC.pm
cp lib/DBI/DBD/Metadata.pm blib/lib/DBI/DBD/Metadata.pm
cp lib/DBI/Const/GetInfo/ODBC.pm blib/lib/DBI/Const/GetInfo/ODBC.pm
cp lib/DBI/ProfileDumper/Apache.pm blib/lib/DBI/ProfileDumper/Apache.pm
cp lib/Bundle/DBI.pm blib/lib/Bundle/DBI.pm
cp lib/DBI/Profile.pm blib/lib/DBI/Profile.pm
cp lib/DBI/ProfileDumper.pm blib/lib/DBI/ProfileDumper.pm
cp Driver.xst blib/arch/auto/DBI/Driver.xst
cp lib/DBI/ProxyServer.pm blib/lib/DBI/ProxyServer.pm
cp dbipport.h blib/arch/auto/DBI/dbipport.h
cp lib/DBD/NullP.pm blib/lib/DBD/NullP.pm
cp lib/DBI/DBD.pm blib/lib/DBI/DBD.pm
cp lib/Win32/DBIODBC.pm blib/lib/Win32/DBIODBC.pm
cp lib/DBI/PurePerl.pm blib/lib/DBI/PurePerl.pm
cp lib/DBD/ExampleP.pm blib/lib/DBD/ExampleP.pm
cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h
cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm
/usr/local/bin/perl -p -e "s/~DRIVER~/Perl/g"
blib/arch/auto/DBI/Driver.xst > Perl.xsi
/usr/local/bin/perl /usr/local/lib/perl5/5.8.2/ExtUtils/xsubpp -typemap
/usr/local/lib/perl5/5.8.2/ExtUtils/typemap -typemap typemap Perl.xs >
Perl.xsc && mv Perl.xsc Perl.c
gcc -c -D_REENTRANT -fno-strict-aliasing -I/usr/local/include -mcpu=v9
-m64 -Wa,-xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O
-DVERSION=\"1.39\" -DXS_VERSION=\"1.39\" -fPIC
"-I/usr/local/lib/perl5/5.8.2/sun4-solaris-thread-64/CORE" -Wall
-Wno-comment -DDBI_NO_THREADS Perl.c
/usr/local/bin/perl /usr/local/lib/perl5/5.8.2/ExtUtils/xsubpp -typemap
/usr/local/lib/perl5/5.8.2/ExtUtils/typemap -typemap typemap DBI.xs >
DBI.xsc && mv DBI.xsc DBI.c
gcc -c -D_REENTRANT -fno-strict-aliasing -I/usr/local/include -mcpu=v9
-m64 -Wa,-xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O
-DVERSION=\"1.39\" -DXS_VERSION=\"1.39\" -fPIC
"-I/usr/local/lib/perl5/5.8.2/sun4-solaris-thread-64/CORE" -Wall
-Wno-comment -DDBI_NO_THREADS DBI.c
DBI.xs: In function `dbih_set_attr_k':
DBI.xs:1280: error: `thr' undeclared (first use in this function)
DBI.xs:1280: error: (Each undeclared identifier is reported only once
DBI.xs:1280: error: for each function it appears in.)
DBI.xs:1282: warning: left-hand operand of comma expression has no effect
make: *** [DBI.o] Error 1
------------------------------------------------------------
After this failed, I started with a freshly opened tarball, and decided to
try and build threaded version of the module regardless, since I do run
the recommended perl 5.8.2. In the Makefile.PL, I commented out lines 86
and 89:
86 # die "*** ABORTED.\n";
89 # $::opt_thread = 0;
Then I ran
perl Makefile.PL
make
Compilation failed again:
[EMAIL PROTECTED]:dbi/DBI-1.39# make
cp Changes blib/lib/DBI/Changes.pm
cp dbd_xsh.h blib/arch/auto/DBI/dbd_xsh.h
cp lib/DBI/FAQ.pm blib/lib/DBI/FAQ.pm
cp Driver_xst.h blib/arch/auto/DBI/Driver_xst.h
cp lib/DBD/Proxy.pm blib/lib/DBD/Proxy.pm
cp lib/DBI/Const/GetInfo/ANSI.pm blib/lib/DBI/Const/GetInfo/ANSI.pm
cp DBIXS.h blib/arch/auto/DBI/DBIXS.h
cp lib/DBI/Const/GetInfoReturn.pm blib/lib/DBI/Const/GetInfoReturn.pm
cp DBI.pm blib/lib/DBI.pm
cp lib/DBD/Sponge.pm blib/lib/DBD/Sponge.pm
cp lib/DBI/Const/GetInfoType.pm blib/lib/DBI/Const/GetInfoType.pm
cp lib/DBI/W32ODBC.pm blib/lib/DBI/W32ODBC.pm
cp lib/DBI/DBD/Metadata.pm blib/lib/DBI/DBD/Metadata.pm
cp lib/DBI/Const/GetInfo/ODBC.pm blib/lib/DBI/Const/GetInfo/ODBC.pm
cp lib/DBI/ProfileDumper/Apache.pm blib/lib/DBI/ProfileDumper/Apache.pm
cp lib/Bundle/DBI.pm blib/lib/Bundle/DBI.pm
cp lib/DBI/Profile.pm blib/lib/DBI/Profile.pm
cp lib/DBI/ProfileDumper.pm blib/lib/DBI/ProfileDumper.pm
cp Driver.xst blib/arch/auto/DBI/Driver.xst
cp lib/DBI/ProxyServer.pm blib/lib/DBI/ProxyServer.pm
cp dbipport.h blib/arch/auto/DBI/dbipport.h
cp lib/DBD/NullP.pm blib/lib/DBD/NullP.pm
cp lib/DBI/DBD.pm blib/lib/DBI/DBD.pm
cp lib/Win32/DBIODBC.pm blib/lib/Win32/DBIODBC.pm
cp lib/DBI/PurePerl.pm blib/lib/DBI/PurePerl.pm
cp lib/DBD/ExampleP.pm blib/lib/DBD/ExampleP.pm
cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h
cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm
/usr/local/bin/perl -p -e "s/~DRIVER~/Perl/g"
blib/arch/auto/DBI/Driver.xst > Perl.xsi
/usr/local/bin/perl /usr/local/lib/perl5/5.8.2/ExtUtils/xsubpp -typemap
/usr/local/lib/perl5/5.8.2/ExtUtils/typemap -typemap typemap Perl.xs >
Perl.xsc && mv Perl.xsc Perl.c
gcc -c -D_REENTRANT -fno-strict-aliasing -I/usr/local/include -mcpu=v9
-m64 -Wa,-xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O
-DVERSION=\"1.39\" -DXS_VERSION=\"1.39\" -fPIC
"-I/usr/local/lib/perl5/5.8.2/sun4-solaris-thread-64/CORE" -Wall
-Wno-comment Perl.c
/usr/local/bin/perl /usr/local/lib/perl5/5.8.2/ExtUtils/xsubpp -typemap
/usr/local/lib/perl5/5.8.2/ExtUtils/typemap -typemap typemap DBI.xs >
DBI.xsc && mv DBI.xsc DBI.c
gcc -c -D_REENTRANT -fno-strict-aliasing -I/usr/local/include -mcpu=v9
-m64 -Wa,-xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O
-DVERSION=\"1.39\" -DXS_VERSION=\"1.39\" -fPIC
"-I/usr/local/lib/perl5/5.8.2/sun4-solaris-thread-64/CORE" -Wall
-Wno-comment DBI.c
DBI.xs: In function `dbih_set_attr_k':
DBI.xs:1280: error: `thr' undeclared (first use in this function)
DBI.xs:1280: error: (Each undeclared identifier is reported only once
DBI.xs:1280: error: for each function it appears in.)
DBI.xs:1282: warning: left-hand operand of comma expression has no effect
make: *** [DBI.o] Error 1
------------------------------------------------------------------
The error is the same whether or not thread support is requested.
I also tried several previous versions of DBI - 1.38, 1.37, 1.35 - with
the same result.
So where do I go from here?
Any help will be appreciated. Since I am not part of this mailing list,
please do reply directly to me.
Thanks,
Andy
Dr Andy Tsouladze
Sr Unix SysAdmin
UAL Loyalty Services