DBI would not compile

From: Andy Tsouladze (andyt_at_ualloyalty.com)
Date: 12/14/03

  • Next message: Kristian Nielsen: "Re: Optimization for faster select..."
    Date: Sat, 13 Dec 2003 23:33:48 -0600 (CST)
    To: dbi-users@perl.org
    
    

    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
    root@sawww: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.
    root@sawww: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:
    root@sawww: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:

    root@sawww: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


  • Next message: Kristian Nielsen: "Re: Optimization for faster select..."

    Relevant Pages

    • RE: Segmentation Fault(Core dumped)
      ... But when I started testing my perl script, ... Compilation failed in require at ./test.pl line 13. ... > official business of Sender. ...
      (perl.dbi.users)
    • Re: Python vs. Lisp -- please explain
      ... let's call it an "interpreted language". ... compiled Perl and Python instructions typically aren't executed ... Bear in mind, though, that Java's just-in-time compilation ...
      (comp.lang.python)
    • Module compilation misery
      ... Please don't take this as a troll as I would like to hear how other Perl ... programmers deal with failed module compilation. ... compilations of many modules lately on both Mac OSX Panther and Fedora Core ... Hence PHP's success in the web development ...
      (comp.lang.perl.misc)
    • Re: COBOL compiler
      ... All Perl is compiled. ... > level of overhead to compilation to native code. ... > require IIRC even the python runtime library to be present. ... it to create a byte-compiled .pyc file. ...
      (Debian-User)
    • Re: distributing perl applications
      ... And Perl doesn't ... > there is no pause at compilation. ... I think bytecode does that but I may ... elimination of the "ugly black window". ...
      (comp.lang.perl.misc)