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

Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache

Expand Messages
  • Stas Bekman
    ... So you have a bunch of these errors: /usr/lib/pa20_64/dld.sl: Unsatisfied code symbol modperl_bucket_sv_create in Is nm(1) working on your platform? If
    Message 1 of 17 , May 3, 2004
    • 0 Attachment
      olivier.blanc@... wrote:
      > Hi all,
      >
      > Sorry, I had a miss reading of the result. I was too excited when all
      > compilation pass thru and when I saw that apache server started
      > sucessfully...
      > All tests failure reported below are due to this Bucket.sl problem.
      >
      > How can I figure out what is going on, and How can I try to fix the
      > problem ?

      Please re-read my reply to you, it includes:

      -----------------------
      So you have a bunch of these errors:

      /usr/lib/pa20_64/dld.sl: Unsatisfied code symbol 'modperl_bucket_sv_create' in

      Is nm(1) working on your platform? If so, please try:

      nm /path/to/your/httpd | grep modperl_bucket_sv_create
      -----------------------

      > BTW, I had to modify a bit the "config_vars.mk" file from Apache.
      > Also, during the Makefile.PL step, I had to modify the ldflags variable to
      > remove the "+DD64" flag that the linker doesn't like at all.

      That doesn't sounds right. You need to build perl and apache/modperl with the
      same compiler. Your perl was compiled with "+DD64", so your compiler must like
      it. If it doesn't rebuild perl with the compiler you use to compile
      apache/modperl.

      __________________________________________________________________
      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
    • Stas Bekman
      [Olivier, please keep things on the list. Thanks] ... Show us the linking output when it creates mod_perl.a. After the build is complete on my machine I d do:
      Message 2 of 17 , May 4, 2004
      • 0 Attachment
        [Olivier, please keep things on the list. Thanks]

        >>So you have a bunch of these errors:
        >>/usr/lib/pa20_64/dld.sl: Unsatisfied code symbol
        >
        > 'modperl_bucket_sv_create' in
        >
        >>Is nm(1) working on your platform? If so, please try:
        >>nm /path/to/your/httpd | grep modperl_bucket_sv_create
        >
        >
        > It does not find modperl_bucket_sv_create in httpd file.

        Show us the linking output when it creates mod_perl.a. After the build is
        complete on my machine I'd do:

        % rm src/modules/perl/mod_perl.a

        % make
        cd "src/modules/perl" && make -f Makefile.modperl
        make[1]: Entering directory `/home/stas/apache.org/mp2-xcpt/src/modules/perl'
        rm -f mod_perl.a
        ar crv mod_perl.a mod_perl.o modperl_interp.o modperl_tipool.o modperl_log.o
        modperl_config.o modperl_cmd.o modperl_options.o modperl_callback.o
        modperl_handler.o modperl_gtop.o modperl_util.o modperl_io.o
        modperl_io_apache.o modperl_filter.o modperl_bucket.o modperl_mgv.o
        modperl_pcw.o modperl_global.o modperl_env.o modperl_cgi.o modperl_perl.o
        modperl_perl_global.o modperl_perl_pp.o modperl_sys.o modperl_module.o
        modperl_svptr_table.o modperl_const.o modperl_constants.o
        modperl_apache_compat.o modperl_error.o modperl_hooks.o modperl_directives.o
        modperl_flags.o modperl_xsinit.o
        a - mod_perl.o
        a - modperl_interp.o
        a - modperl_tipool.o
        a - modperl_log.o
        a - modperl_config.o
        a - modperl_cmd.o
        a - modperl_options.o
        a - modperl_callback.o
        a - modperl_handler.o
        a - modperl_gtop.o
        a - modperl_util.o
        a - modperl_io.o
        a - modperl_io_apache.o
        a - modperl_filter.o
        a - modperl_bucket.o
        a - modperl_mgv.o
        a - modperl_pcw.o
        a - modperl_global.o
        a - modperl_env.o
        a - modperl_cgi.o
        a - modperl_perl.o
        a - modperl_perl_global.o
        a - modperl_perl_pp.o
        a - modperl_sys.o
        a - modperl_module.o
        a - modperl_svptr_table.o
        a - modperl_const.o
        a - modperl_constants.o
        a - modperl_apache_compat.o
        a - modperl_error.o
        a - modperl_hooks.o
        a - modperl_directives.o
        a - modperl_flags.o
        a - modperl_xsinit.o
        : mod_perl.a

        So you are after this line:
        a - modperl_bucket.o

        Checking:

        % nm mod_perl.a | grep modperl_bucket_sv_create
        000001e2 T modperl_bucket_sv_create

        So as you can see it has this symbol. You can check the original file as well:

        % nm modperl_bucket.o | grep modperl_bucket_sv_create
        000001e2 T modperl_bucket_sv_create

        Can you please run those commands for us?

        [the rest in another email, to keep issues separate]

        --
        __________________________________________________________________
        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
      • olivier.blanc@dgi.finances.gouv.fr
        Stas Bekman 04/05/2004 19:25 Pour : olivier.blanc@dgi.finances.gouv.fr, mod_perl Mailing List cc : Objet : Re: mp2
        Message 3 of 17 , May 5, 2004
        • 0 Attachment
          Stas Bekman <stas@...>

          04/05/2004 19:25

                 
                  Pour :        olivier.blanc@..., mod_perl Mailing List <modperl@...>
                  cc :        
                  Objet :        Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache



          >>>So you have a bunch of these errors:
          >>>/usr/lib/pa20_64/dld.sl: Unsatisfied code symbol
          >>
          >> 'modperl_bucket_sv_create' in
          >>
          >>>Is nm(1) working on your platform? If so, please try:
          >>>nm /path/to/your/httpd | grep modperl_bucket_sv_create
          >>
          >>
          >> It does not find modperl_bucket_sv_create in httpd file.

          >Show us the linking output when it creates mod_perl.a. After the build is
          >complete on my machine I'd do:

          >% rm src/modules/perl/mod_perl.a

          >% make
          >cd "src/modules/perl" && make -f Makefile.modperl
          >make[1]: Entering directory `/home/stas/apache.org/mp2-xcpt/src/modules/perl'
          >rm -f mod_perl.a
          >ar crv mod_perl.a mod_perl.o modperl_interp.o modperl_tipool.o modperl_log.o
          >modperl_config.o modperl_cmd.o modperl_options.o modperl_callback.o
          >modperl_handler.o modperl_gtop.o modperl_util.o modperl_io.o
          >modperl_io_apache.o modperl_filter.o modperl_bucket.o modperl_mgv.o
          >modperl_pcw.o modperl_global.o modperl_env.o modperl_cgi.o modperl_perl.o
          >modperl_perl_global.o modperl_perl_pp.o modperl_sys.o modperl_module.o
          >modperl_svptr_table.o modperl_const.o modperl_constants.o
          >modperl_apache_compat.o modperl_error.o modperl_hooks.o modperl_directives.o
          >modperl_flags.o modperl_xsinit.o
          ...
          >So you are after this line:
          >a - modperl_bucket.o

          Ok it is present

          >Checking:

          >% nm mod_perl.a | grep modperl_bucket_sv_create
          >000001e2 T modperl_bucket_sv_create*

          Here is the result :
          [37]     |                     0|      92|FUNC |GLOB |0|   .text|modperl_bucket_sv_create

          >So as you can see it has this symbol. You can check the original file as well:

          >% nm modperl_bucket.o | grep modperl_bucket_sv_create
          >000001e2 T modperl_bucket_sv_create
          Here is the result :

          [37]     |                     0|      92|FUNC |GLOB |0|   .text|modperl_bucket_sv_create

          Olivier

        • Stas Bekman
          ... Sorry, I m not familiar with nm s output on your platform. What does 0 mean? That it s unresolved? What do you get for other symbols (just to compare),
          Message 4 of 17 , May 5, 2004
          • 0 Attachment
            olivier.blanc@... wrote:

            >>So you are after this line:
            >>a - modperl_bucket.o
            >
            >
            > Ok it is present
            >
            >
            >>Checking:
            >
            >
            >>% nm mod_perl.a | grep modperl_bucket_sv_create
            >>000001e2 T modperl_bucket_sv_create*
            >
            > Here is the result :
            > [37] | 0| 92|FUNC |GLOB |0|
            > .text|modperl_bucket_sv_create
            >
            >
            >>So as you can see it has this symbol. You can check the original file as
            >
            > well:
            >
            >
            >>% nm modperl_bucket.o | grep modperl_bucket_sv_create
            >>000001e2 T modperl_bucket_sv_create
            >
            > Here is the result :
            > [37] | 0| 92|FUNC |GLOB |0|
            > .text|modperl_bucket_sv_create

            Sorry, I'm not familiar with nm's output on your platform. What does 0 mean?
            That it's unresolved? What do you get for other symbols (just to compare), e.g.

            nm mod_perl.a | grep modperl_callback

            __________________________________________________________________
            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
          • olivier.blanc@dgi.finances.gouv.fr
            Stas Bekman 05/05/2004 19:56 Pour : olivier.blanc@dgi.finances.gouv.fr cc : mod_perl Mailing List Objet : Re:
            Message 5 of 17 , May 6, 2004
            • 0 Attachment
              Stas Bekman <stas@...>

              05/05/2004 19:56

                     
                      Pour :        olivier.blanc@...
                      cc :        mod_perl Mailing List <modperl@...>
                      Objet :        Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache



              >>>% nm modperl_bucket.o | grep modperl_bucket_sv_create
              >>>000001e2 T modperl_bucket_sv_create
              >>
              >> Here is the result :
              >> [37]     |                     0|      92|FUNC |GLOB |0|  .text|modperl_bucket_sv_create

              >Sorry, I'm not familiar with nm's output on your platform. What does 0 mean?
              >That it's unresolved? What do you get for other symbols (just to compare), e.g.

              >  nm mod_perl.a | grep modperl_callback


              [root@w44h]:/var/tmp/apache_perl/modperl-2.0/src/modules/perl>  nm mod_perl.a | grep modperl_callback
              [197]    |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_per_dir
              [117]    |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_process
              [59]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_per_dir
              [94]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback
              Symbols from mod_perl.a[modperl_callback.o]:
              [11]     |                     0|       8|OBJT |LOCAL|0| .rodata|S$158$modperl_callback
              [32]     |                     0|    1852|FUNC |GLOB |0|   .text|modperl_callback
              [84]     |                     0|      68|FUNC |GLOB |0|   .text|modperl_callback_connection
              [87]     |                     0|      64|FUNC |GLOB |0|   .text|modperl_callback_files
              [82]     |                     0|      68|FUNC |GLOB |0|   .text|modperl_callback_per_dir
              [83]     |                     0|      68|FUNC |GLOB |0|   .text|modperl_callback_per_srv
              [85]     |                     0|      68|FUNC |GLOB |0|   .text|modperl_callback_pre_connection
              [86]     |                     0|      68|FUNC |GLOB |0|   .text|modperl_callback_process
              [64]     |                     0|    1316|FUNC |GLOB |0|   .text|modperl_callback_run_handlers
              [66]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback
              [38]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_connection
              [56]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_files
              [44]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_per_dir
              [52]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_per_srv
              [42]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_pre_connection
              [40]     |                     0|       0|FUNC |GLOB |0|   UNDEF|modperl_callback_process

              Here is a part of man nm
                  Default Output Format - 64 bit
                    If the default (neither the -p nor the -P option) output format is
                    specified, each symbol has the following columns, separated by
                    vertical bars (|).  The default for numbers is decimal (-d or -t d).
               
                    If decimal:
               
                         "[%u]%s|%22llu|%8u|%s|%s|%1d|%s|%s",
                            index, value, size, type, bind, O, shndx, name
               
                    If octal:
               
                         "[%u]%s|%022llo|%010o|%s|%s|%1o|%s|%s",
                            index, value, size, type, bind, O, shndx, name
               
                    If hexadecimal:
               
                         "[%u]%s|0x%016llx|0x%08x|%s|%s|%1x|%s|%s",
                            index, value, size, type, bind, O, shndx, name
               
                    The descriptions are explained below:
               
                         name           The name of the symbol.
               
                         value          Its value expressed as an offset or an address
                                        depending on its storage class.
               
                         scope          The scope of the symbol (external, sdef, static,
                                        or undefined).  The sdef scope indicates an
                                        external symbol that is flagged as a secondary
                                        definition.
                         type           The type of the symbol (absolute, arg_ext, code,
                                        data, entry, milli_ext, millicode, module, null,
                                        oct_dis, plabel, pri_prog, sec_prog, storage,
                                        stub, sym_ext, tstor).
               
                         subspace       The subspace to which the symbol belongs.
               
                         bind           Specifies the symbol binding type (local, weak,
                                        global).
               
                         O              This field is used for files that have large
                                        section tables (>65K sections).  For smaller
                                        files, the value of this field is 0.
               
                         Shndx          Identifies the index of the section that the
                                        symbol belongs to.
               
                         Identifies the index of the symbol in the symbol table.


              Olivier
            • Stas Bekman
              TimeZones are not fun, hey :) ... Thanks for the manpage quoting, so now we know that the symbol is seen from mod_perl.a. Next mod_perl.a gets linked to httpd.
              Message 6 of 17 , May 6, 2004
              • 0 Attachment
                TimeZones are not fun, hey :)

                olivier.blanc@... wrote:

                >>>Here is the result :
                >>>[37] | 0| 92|FUNC |GLOB |0|
                >
                > .text|modperl_bucket_sv_create

                Thanks for the manpage quoting, so now we know that the symbol is seen from
                mod_perl.a. Next mod_perl.a gets linked to httpd. Earlier you said that you
                can't see that symbol in httpd. May be it's because httpd gets stripped of its
                symbols? Try to build httpd with --enable-maintainer-mode (just for the
                debugging). What I suspect is that httpd doesn't link mod_perl.a at all and
                that's why you get this problem. the modperl_bucket_sv_create probably just
                happens to be the first symbol that is attempted to be used.

                BTW, Philippe has a new version of the static build patch:
                http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=108386907921853&w=2


                --
                __________________________________________________________________
                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
              • Stas Bekman
                ... Please scratch that last part, as it s obviously wrong, since once you linked APR/Bucket.so statically it did work fine.
                Message 7 of 17 , May 6, 2004
                • 0 Attachment
                  Stas Bekman wrote:
                  > What I suspect is
                  > that httpd doesn't link mod_perl.a at all and that's why you get this
                  > problem. the modperl_bucket_sv_create probably just happens to be the
                  > first symbol that is attempted to be used.

                  Please scratch that last part, as it's obviously wrong, since once you linked
                  APR/Bucket.so statically it did work fine.
                  __________________________________________________________________
                  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.