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

Reply via email to