Loading ...
Sorry, an error occurred while loading the content.

[MP2 Bug] test case t/apr-ext/uuid.t failuer

Expand Messages
  • Robert Bruccoleri
    ... 1. Problem Description: Test case t/apr-ext/uuid.t fails with the following message: t/apr-ext/uuid..........................Can t load
    Message 1 of 4 , Jul 1, 2004
    • 0 Attachment
      -------------8<---------- Start Bug Report ------------8<----------
      1. Problem Description:

      Test case t/apr-ext/uuid.t fails with the following message:

      t/apr-ext/uuid..........................Can't load '/cxfs/stf/altix/sys/src/mod_perl-1.99_14/blib/arch/auto/APR/APR.so' for module APR: /cxfs/stf/altix/sys/src/mod_perl-1.99_14/blib/arch/auto/APR/APR.so: undefined symbol: apr_hook_global_pool at /stf/altix/sys/perl/lib/5.8/ia64-linux-multi/DynaLoader.pm line 230.
      at t/apr-ext/uuid.t line 25
      Compilation failed in require at t/apr-ext/uuid.t line 25.

      I am installing mod_perl-1.99_14 on an SGI Altix running Propack 2.4 (which
      is based on Redhat Advanced Server 2.1 using the Intel C compiler version 8.

      During the execution of 'perl Makefile.PL' the following messages
      appear:

      Writing Makefile for ModPerl
      Writing Makefile for ModPerl::WrapXS
      Note (probably harmless): No library found for -lapr-0
      Note (probably harmless): No library found for -laprutil-0
      Writing Makefile for APR
      Writing Makefile for APR::Const

      These libraries do exists in /stf/sys/apache/lib:

      > ls -l /stf/sys/apache/lib
      total 3680
      -rw-r--r-- 1 root sys 7835 Jun 22 17:07 apr.exp
      -rw-r--r-- 1 root sys 3643 Jun 22 17:07 aprutil.exp
      -rw-r--r-- 1 root sys 659748 Jun 22 17:07 libapr-0.a
      -rw-r--r-- 1 root sys 759 Jun 22 17:07 libapr-0.la
      lrwxrwxrwx 1 root sys 17 Jun 22 17:07 libapr-0.so -> libapr-0.so.0.9.5
      lrwxrwxrwx 1 root sys 17 Jun 22 17:07 libapr-0.so.0 -> libapr-0.so.0.9.5
      -rwxr-xr-x 1 root sys 474786 Jun 22 17:07 libapr-0.so.0.9.5
      -rw-r--r-- 1 root sys 405604 Jun 22 17:07 libaprutil-0.a
      -rw-r--r-- 1 root sys 753 Jun 22 17:07 libaprutil-0.la
      lrwxrwxrwx 1 root sys 21 Jun 22 17:07 libaprutil-0.so -> libaprutil-0.so.0.9.5
      lrwxrwxrwx 1 root sys 21 Jun 22 17:07 libaprutil-0.so.0 -> libaprutil-0.so.0.9.5
      -rwxr-xr-x 1 root sys 312382 Jun 22 17:07 libaprutil-0.so.0.9.5

      The missing symbol is found in libaprutil-0.so.0.9.5:

      > nm libaprutil-0.so.0.9.5 | grep apr_hook_global_pool
      0000000000047028 B apr_hook_global_pool

      2. Used Components and their Configuration:

      *** mod_perl version 1.9914

      *** using lib/Apache/BuildConfig.pm
      *** Makefile.PL options:
      MP_AP_PREFIX => /stf/sys/apache
      MP_COMPAT_1X => 1
      MP_GENERATE_XS => 1
      MP_LIBNAME => mod_perl
      MP_USE_DSO => 1

      *** /stf/sys/apache/bin/httpd -V
      Server version: Apache/2.0.49
      Server built: Jun 22 2004 17:03:19
      Server's Module Magic Number: 20020903:7
      Architecture: 64-bit
      Server compiled with....
      -D APACHE_MPM_DIR="server/mpm/prefork"
      -D APR_HAS_SENDFILE
      -D APR_HAS_MMAP
      -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
      -D APR_USE_SYSVSEM_SERIALIZE
      -D APR_USE_PTHREAD_SERIALIZE
      -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
      -D APR_HAS_OTHER_CHILD
      -D AP_HAVE_RELIABLE_PIPED_LOGS
      -D HTTPD_ROOT="/stf/sys/apache-2.0.49"
      -D SUEXEC_BIN="/stf/sys/apache-2.0.49/bin/suexec"
      -D DEFAULT_PIDLOG="logs/httpd.pid"
      -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
      -D DEFAULT_LOCKFILE="logs/accept.lock"
      -D DEFAULT_ERRORLOG="logs/error_log"
      -D AP_TYPES_CONFIG_FILE="conf/mime.types"
      -D SERVER_CONFIG_FILE="conf/httpd.conf"

      *** /stf/altix/sys/perl/5.8/bin/perl -V
      Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
      Platform:
      osname=linux, osvers=2.4.21-sgi240rp04032500_10054, archname=ia64-linux-multi-stdio
      uname='linux horta 2.4.21-sgi240rp04021313_10046 #1 smp fri feb 13 14:02:27 pst 2004 ia64 unknown '
      config_args='-e -d -f config.sh.safe.altix.6'
      hint=previous, useposix=true, d_sigaction=define
      usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=define
      useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
      use64bitint=define use64bitall=define uselongdouble=undef
      usemymalloc=n, bincompat5005=undef
      Compiler:
      cc='icc -g', ccflags ='-w0 -ansi_alias- -I/stf/altix/sys/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
      optimize='-O2',
      cppflags='-w0 -ansi_alias- -I/stf/altix/sys/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -w0 -ansi_alias- -I/stf/altix/sys/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -w0 -ansi_alias- -I/stf/altix/sys/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -w0 -ansi_alias- -I/stf/altix/sys/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm'
      ccversion='', gccversion='Intel(R) C++ gcc 3.0 mode', gccosandvers=''
      intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
      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='icc -g', ldflags ='-L/stf/altix/sys/lib -Wl,-rpath,/stf/altix/sys/lib'
      libpth=/stf/altix/sys/lib /lib /usr/lib
      libs=-lmalloc -ldb -lnsl -lndbm -lgdbm -ldl -lm -lc -lcrypt -lutil
      perllibs=-lmalloc -lnsl -ldl -lm -lc -lcrypt -lutil
      libc=, so=so, useshrplib=false, libperl=libperl.a
      gnulibc_version='2.2.4'
      Dynamic Linking:
      dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
      cccdlflags='-fpic', lddlflags='-shared -L/stf/altix/sys/lib -Wl,-rpath,/stf/altix/sys/lib'


      Characteristics of this binary (from libperl):
      Compile-time options: MULTIPLICITY USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
      Built under linux
      Compiled at Jun 17 2004 20:59:34
      %ENV:
      PERL_LWP_USE_HTTP_10="1"
      @INC:
      /stf/altix/sys/perl/lib/5.8/ia64-linux-multi
      /stf/altix/sys/perl/lib/5.8
      /stf/altix/sys/perl/lib/site_perl/5.8/ia64-linux-multi
      /stf/altix/sys/perl/lib/site_perl/5.8
      /stf/altix/sys/perl/lib/site_perl/5.8
      /perl/lib/site_perl/5.005
      .

      *** Packages of interest status:

      Apache::Request: -
      CGI : 3.05
      LWP : 5.53, 5.79
      mod_perl : 1.9914


      3. This is the core dump trace: (if you get a core dump):

      No core dump

      This report was generated by t/REPORT on Fri Jul 2 00:05:50 2004 GMT.

      -------------8<---------- End Bug Report --------------8<----------

      +-------------------------------+--------------------------------+
      | Robert E. Bruccoleri, Ph.D. | Phone: 609 818 7251 |
      | Research Fellow | Fax: 609 818 3100 |
      | Applied Genomics | email: bruc@... |
      | Bristol-Myers Squibb Company | Ship: Room 3A-023, |
      | Mail: HW3-0.03, P.O. Box 5400 | 311 Pennington-Rocky Hill Rd |
      | Princeton, NJ 08543-5400 | Pennington NJ 08534 |
      +-------------------------------+--------------------------------+

      --
      Report problems: http://perl.apache.org/bugs/
      Mail list info: http://perl.apache.org/maillist/modperl.html
      List etiquette: http://perl.apache.org/maillist/email-etiquette.html
    • Stas Bekman
      ... First of all, you can safely proceed and run make install . apr-ext are not modperl tests. But let s get this fixed too. See below. ... That s your
      Message 2 of 4 , Jul 1, 2004
      • 0 Attachment
        Robert Bruccoleri wrote:
        > -------------8<---------- Start Bug Report ------------8<----------
        > 1. Problem Description:
        >
        > Test case t/apr-ext/uuid.t fails with the following message:
        >
        > t/apr-ext/uuid..........................Can't load '/cxfs/stf/altix/sys/src/mod_perl-1.99_14/blib/arch/auto/APR/APR.so' for module APR: /cxfs/stf/altix/sys/src/mod_perl-1.99_14/blib/arch/auto/APR/APR.so: undefined symbol: apr_hook_global_pool at /stf/altix/sys/perl/lib/5.8/ia64-linux-multi/DynaLoader.pm line 230.
        > at t/apr-ext/uuid.t line 25
        > Compilation failed in require at t/apr-ext/uuid.t line 25.

        First of all, you can safely proceed and run 'make install'. apr-ext are not
        modperl tests. But let's get this fixed too. See below.

        > I am installing mod_perl-1.99_14 on an SGI Altix running Propack 2.4 (which
        > is based on Redhat Advanced Server 2.1 using the Intel C compiler version 8.
        >
        > During the execution of 'perl Makefile.PL' the following messages
        > appear:
        >
        > Writing Makefile for ModPerl
        > Writing Makefile for ModPerl::WrapXS
        > Note (probably harmless): No library found for -lapr-0
        > Note (probably harmless): No library found for -laprutil-0

        That's your problem, it fails to find those libs. Please show us the output of:

        apr-config --link-ld --libs
        apu-config --link-ld --libs

        My guess is that the two are broken.

        --
        __________________________________________________________________
        Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
        http://stason.org/ mod_perl Guide ---> http://perl.apache.org
        mailto:stas@... http://use.perl.org http://apacheweek.com
        http://modperlbook.org http://apache.org http://ticketmaster.com

        --
        Report problems: http://perl.apache.org/bugs/
        Mail list info: http://perl.apache.org/maillist/modperl.html
        List etiquette: http://perl.apache.org/maillist/email-etiquette.html
      • Joe Schaefer
        Stas Bekman writes: [...] ... Stas, mp2 may need apr-config --link-ld --ldflags --libs on some platforms. I ve seen this on FreeBSD, for
        Message 3 of 4 , Jul 1, 2004
        • 0 Attachment
          Stas Bekman <stas@...> writes:

          [...]

          > That's your problem, it fails to find those libs. Please show us the
          > output of:
          >
          > apr-config --link-ld --libs
          > apu-config --link-ld --libs

          Stas, mp2 may need

          apr-config --link-ld --ldflags --libs

          on some platforms. I've seen this on FreeBSD, for
          example.

          --
          Joe Schaefer


          --
          Report problems: http://perl.apache.org/bugs/
          Mail list info: http://perl.apache.org/maillist/modperl.html
          List etiquette: http://perl.apache.org/maillist/email-etiquette.html
        • Stas Bekman
          ... But --ldflags are for loading, this is the linking stage, isn t it? Robert s problem is that MakeMaker failed to find those libraries, since probably
          Message 4 of 4 , Jul 1, 2004
          • 0 Attachment
            Joe Schaefer wrote:
            > Stas Bekman <stas@...> writes:
            >
            > [...]
            >
            >
            >>That's your problem, it fails to find those libs. Please show us the
            >>output of:
            >>
            >>apr-config --link-ld --libs
            >>apu-config --link-ld --libs
            >
            >
            > Stas, mp2 may need
            >
            > apr-config --link-ld --ldflags --libs
            >
            > on some platforms. I've seen this on FreeBSD, for
            > example.

            But --ldflags are for loading, this is the linking stage, isn't it?

            Robert's problem is that MakeMaker failed to find those libraries, since
            probably apr-config didn't give the right -L path. e.g. on my machine it's:

            -L/home/stas/httpd/prefork/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl
            -L/home/stas/httpd/prefork/lib -laprutil-0 -lgdbm -ldb-4.0 -lexpat

            My guess is that Robert's -L part was wrong.

            (BTW, I've just added this info the the bug report script)

            Robert, does this work if you add --ldflags with this patch? You will need to
            rebuild from scratch after applying it.

            Index: xs/APR/APR/Makefile.PL
            ===================================================================
            RCS file: /home/cvs/modperl-2.0/xs/APR/APR/Makefile.PL,v
            retrieving revision 1.24
            diff -u -r1.24 Makefile.PL
            --- xs/APR/APR/Makefile.PL 1 Jul 2004 01:42:52 -0000 1.24
            +++ xs/APR/APR/Makefile.PL 2 Jul 2004 04:38:01 -0000
            @@ -23,7 +23,7 @@

            # XXX: this works only with libapr 0.9.2+
            my $ext = WIN32 ? '.bat' : '';
            - my @libs = grep $_, map { -x $_ && qx{$_ --link-ld --libs} }
            + my @libs = grep $_, map { -x $_ && qx{$_ --link-ld --ldflags --libs} }
            map { qq{$apr_bindir/$_-config$ext} } qw(apr apu);
            chomp @libs;
            $libs = join ' ', @libs;


            --
            __________________________________________________________________
            Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
            http://stason.org/ mod_perl Guide ---> http://perl.apache.org
            mailto:stas@... http://use.perl.org http://apacheweek.com
            http://modperlbook.org http://apache.org http://ticketmaster.com

            --
            Report problems: http://perl.apache.org/bugs/
            Mail list info: http://perl.apache.org/maillist/modperl.html
            List etiquette: http://perl.apache.org/maillist/email-etiquette.html
          Your message has been successfully submitted and would be delivered to recipients shortly.