Jens-Uwe, Listees:

Sorry that it has taken me about a week to get back to you.  It has been
busy, and this problem had backgrounded itself.

Starting off w/ a fresh compliation of apache 1.3.12 & mod_perl 1.24, I
ended up with the same errors as before.  I then added the flags that you
suggested to link my module.  The httpd.exp file it expects for some
reason is /httpd.exp.  I copied the httpd.exp from src/support to /.  At
this point, the module compiled/linked correctly.  I added the PerlModule
line to the httpd.conf to include it, and achieved the same broken
httpd. (See attached or below for details.)

Attached is a (long) listing of both the compilation & linking as well as
the 'dump -nv AuthenKerberos.so' that you suggested would be helpful.  I
tried to read the dump - however I just don't quite understand it.  

A few other notes:  The module demands some mod_perl functions ->
perl_cmd_perl_FLAG, perl_cmd_perl_TAKE1... (in attached file) which I was
previously told were not usually exported by mod_perl, but I could put the
symbol names in my mod_perl.exp file to help with linking.  I added those
symbol names before compiling mod_perl.


 (I also had some odd problems at the "perl Makefile.PL" stage -> If I
left the arguments in a certain order it would work, another order would
cause segfaults :( -> the make test worked fine when run by hand.  Since
the problem I am having was the exact same under this new configuration
and the other - I am assuming this is something random and
circumstantial.)

thanks,
jamie

On Fri, 7 Jul 2000, Jens-Uwe Mager wrote:

> On Thu, Jul 06, 2000 at 07:08:03PM -0500, John Marquart wrote:
> 
> > Environment:
> > AIX 4.3.3
> > xlc 
> > apache 1.3.12
> > mod_perl 1.22
> > perl 5.00503  (compiled w/ INSTALL patch, details below)
> > 
> > I have had various difficulties trying to get mod_perl to compile
> > successfully using perl 5.6.0, also w/ mod_perl 1.24.  However, with the
> > above configuration I have had no compilation problems.  When I try to
> > include a module in httpd.conf w/ a "PerlModule
> > Apache::IU::AuthenKerberos" statement & then run apachectl start I get the
> > following error message:
> > 
> > bash-2.01# ./apachectl start 
> > Syntax error on line 191 of /usr/local/apache_perl.4/conf/httpd.conf: 
> > Can't load
> > 
>'/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so'
> > for module Apache::IU::AuthenKerberos: dlopen:
> > 
>/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so:
> > 30
> > 
>/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so36
> > ap_add_module 20 httpd36 ap_null_cleanup 21 httpd36 ap_palloc 22 httpd36
> > ap_register_cleanup 23 httpd at
> > /usr/local/lib/perl5/5.00503/aix/DynaLoader.pm line 169.
> 
> This suspicially looks like you have some imports in the AuthenKerberos
> wrong. Modules that are plug-ins to Perl but at the same time need to
> reference Apache symbols need some more ld flags to compile. The
> Apache::src modules knows which:
> 
> $ perl -MApache::src -le 'print Apache::src->new->otherldflags;'
> -bI:/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/mod_perl.exp 
>-bI:/usr/local/apache/libexec/httpd.exp
> 
> Add these to the link line of the AuthenKerberos module. If that still
> does not work, I would need to examine the exact link command line and
> the output of "dump -nv AuthenKerberos.so".
> 
> -- 
> Jens-Uwe Mager
> 
> HELIOS Software GmbH
> Steinriede 3
> 30827 Garbsen
> Germany
> 
> Phone:                +49 5131 709320
> FAX:          +49 5131 709325
> Internet:     [EMAIL PROTECTED]
> 


John "Jamie" Marquart           |     This message posted 100% MS free.
Digital Library SysAdmin        |  Work: 812-856-5174   Pager: 812-334-6018
Indiana University Libraries    |  ICQ: 1131494         D'net Team:  6265
Script command is started on Mon Jul 10 17:55:48 EST 2000.sh-2.01# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Apache::IU::AuthenKerberos
sh-2.01# make
mkdir blib
mkdir blib/lib
mkdir blib/lib/Apache
mkdir blib/lib/Apache/IU
cp AuthenKerberos.pm blib/lib/Apache/IU/AuthenKerberos.pm
        /usr/bin/perl "-I/usr/local/lib/perl5/5.00503/aix" 
"-I/usr/local/lib/perl5/5.00503" -e 'use ExtUtils::Mksymlists;  Mksymlists("NAME" => 
"Apache::IU::AuthenKerberos", "DL_FUNCS" => {  }, "FUNCLIST" => [], "DL_VARS" => []);'

        /usr/bin/perl -I/usr/local/lib/perl5/5.00503/aix 
-I/usr/local/lib/perl5/5.00503 /usr/local/lib/perl5/5.00503/ExtUtils/xsubpp  -typemap 
/usr/local/lib/perl5/5.00503/ExtUtils/typemap AuthenKerberos.xs >xstmp.c && mv xstmp.c 
AuthenKerberos.c
        cc -c -I/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/include 
-I/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/include/modules/perl 
-I/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/include/include 
-I/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/include/regex 
-I/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/include/os/unix -D_ALL_SOURCE 
-D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=8192 -I/usr/local/include -O     
-DVERSION=\"0.92\"  -DXS_VERSION=\"0.92\"  -I/usr/local/lib/perl5/5.00503/aix/CORE  
AuthenKerberos.c
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Apache
mkdir blib/arch/auto/Apache/IU
mkdir blib/arch/auto/Apache/IU/AuthenKerberos
Running Mkbootstrap for Apache::IU::AuthenKerberos ()
        chmod 644 AuthenKerberos.bs
        LD_RUN_PATH="" ld -o blib/arch/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so 
 -bhalt:4 -bM:SRE -bI:/usr/local/lib/perl5/5.00503/aix/CORE/perl.exp 
-bE:AuthenKerberos.exp -b noentry -lc -L/usr/local/lib AuthenKerberos.o     
ld: 0711-317 ERROR: Undefined symbol: perl_cmd_perl_TAKE2
ld: 0711-317 ERROR: Undefined symbol: perl_cmd_perl_TAKE1
ld: 0711-317 ERROR: Undefined symbol: perl_cmd_perl_TAKE123
ld: 0711-317 ERROR: Undefined symbol: perl_cmd_perl_FLAG
ld: 0711-317 ERROR: Undefined symbol: perl_perl_merge_dir_config
ld: 0711-317 ERROR: Undefined symbol: .ap_add_module
ld: 0711-317 ERROR: Undefined symbol: .ap_palloc
ld: 0711-317 ERROR: Undefined symbol: perl_perl_cmd_cleanup
ld: 0711-317 ERROR: Undefined symbol: ap_null_cleanup
ld: 0711-317 ERROR: Undefined symbol: .ap_register_cleanup
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 The error code from the last command is 8.


Stop.
sh-2.01# perl -MApache::src -le 'print Apache::src->new->otherldflags;'
-bI:/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/mod_perl.exp -bI:/httpd.exp
sh-2.01# ld -o blib/arch/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so -bhalt:4 
-bM:SRE -bI:/usr/local/lib/perl5/5.00503/aix/CORE/perl.exp-bE: 
-bI:/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/mod_perl.exp -bI:/httpd.exp 
-bE:AuthenKerberos.exp -b noentry -lc -L/usr/local/lib AuthenKerberos.o
sh-2.01# make
        cp AuthenKerberos.bs blib/arch/auto/Apache/IU/AuthenKerberos/AuthenKerberos.bs
        chmod 644 blib/arch/auto/Apache/IU/AuthenKerberos/AuthenKerberos.bs
mkdir blib/lib/auto/Apache
mkdir blib/lib/auto/Apache/IU
mkdir blib/lib/auto/Apache/IU/AuthenKerberos
mkdir blib/man3
Manifying blib/man3/Apache::IU::AuthenKerberos.3
Target "makemakerdflt" is up to date.
sh-2.01# dump -nv blib/arch/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so

blib/arch/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so:

                        ***Loader Section***
                      Loader Header Information
VERSION#         #SYMtableENT     #RELOCent        LENidSTR
0x00000001       0x00000019       0x00000044       0x00000031       

#IMPfilID        OFFidSTR         LENstrTBL        OFFstrTBL
0x00000003       0x000005a8       0x000001bd       0x000005d9       


                        ***Import File Strings***
INDEX  PATH                          BASE                MEMBER              
0      /usr/local/lib:/usr/lib:/lib                                          
1                                    libc.a              shr.o               
2                                    .                                       

                        ***Loader Symbol Table Information***
[Index]      Value      Scn     IMEX Sclass   Type           IMPid Name

[0]     0x00000000    undef      IMP     UA EXTref   libc.a(shr.o) 
_system_configuration
[1]     0x00000000    undef      IMP     DS EXTref   libc.a(shr.o) strlen
[2]     0x00000000    undef      IMP     UA EXTref        [noIMid] PL_markstack_ptr
[3]     0x00000000    undef      IMP     UA EXTref        [noIMid] PL_stack_base
[4]     0x00000000    undef      IMP     UA EXTref        [noIMid] PL_stack_sp
[5]     0x00000000    undef      IMP     UA EXTref        [noIMid] PL_sv_yes
[6]     0x00000000    undef      IMP     DS EXTref        [noIMid] Perl_croak
[7]     0x00000000    undef      IMP     DS EXTref        [noIMid] Perl_form
[8]     0x00000000    undef      IMP     DS EXTref        [noIMid] Perl_hv_store
[9]     0x00000000    undef      IMP     DS EXTref        [noIMid] Perl_newSV
[10]    0x00000000    undef      IMP     DS EXTref        [noIMid] Perl_sv_2pv
[11]    0x00000000    undef      IMP     DS EXTref        [noIMid] Perl_sv_setref_pv
[12]    0x00000000    undef      IMP     DS EXTref        [noIMid] perl_get_hv
[13]    0x00000000    undef      IMP     DS EXTref        [noIMid] perl_get_sv
[14]    0x00000000    undef      IMP     DS EXTref        [noIMid] perl_cmd_perl_TAKE1
[15]    0x00000000    undef      IMP     DS EXTref        [noIMid] perl_cmd_perl_TAKE2
[16]    0x00000000    undef      IMP     DS EXTref        [noIMid] 
perl_cmd_perl_TAKE123
[17]    0x00000000    undef      IMP     DS EXTref        [noIMid] perl_cmd_perl_FLAG
[18]    0x00000000    undef      IMP     DS EXTref        [noIMid] 
perl_perl_cmd_cleanup
[19]    0x00000000    undef      IMP     DS EXTref        [noIMid] 
perl_perl_merge_dir_config
[20]    0x00000000    undef      IMP     DS EXTref               . ap_add_module
[21]    0x00000000    undef      IMP     DS EXTref               . ap_null_cleanup
[22]    0x00000000    undef      IMP     DS EXTref               . ap_palloc
[23]    0x00000000    undef      IMP     DS EXTref               . ap_register_cleanup
[24]    0x0000053c    .data      EXP     DS SECdef        [noIMid] 
boot_Apache__IU__AuthenKerberos

                        ***Relocation Information***
             Vaddr      Symndx      Type      Relsect    Name
        0x00000170  0x00000001   Pos_Rel      0x0002     .data
        0x00000174  0x00000001   Pos_Rel      0x0002     .data
        0x00000178  0x00000001   Pos_Rel      0x0002     .data
        0x0000017c  0x00000001   Pos_Rel      0x0002     .data
        0x00000180  0x00000001   Pos_Rel      0x0002     .data
        0x00000184  0x00000001   Pos_Rel      0x0002     .data
        0x00000188  0x00000001   Pos_Rel      0x0002     .data
        0x0000018c  0x00000001   Pos_Rel      0x0002     .data
        0x00000190  0x00000001   Pos_Rel      0x0002     .data
        0x00000194  0x00000001   Pos_Rel      0x0002     .data
        0x00000198  0x00000001   Pos_Rel      0x0002     .data
        0x0000019c  0x00000001   Pos_Rel      0x0002     .data
        0x00000430  0x00000001   Pos_Rel      0x0002     .data
        0x00000434  0x00000012   Pos_Rel      0x0002     perl_cmd_perl_TAKE2
        0x00000438  0x00000001   Pos_Rel      0x0002     .data
        0x00000444  0x00000001   Pos_Rel      0x0002     .data
        0x00000448  0x00000001   Pos_Rel      0x0002     .data
        0x0000044c  0x00000011   Pos_Rel      0x0002     perl_cmd_perl_TAKE1
        0x00000450  0x00000001   Pos_Rel      0x0002     .data
        0x0000045c  0x00000001   Pos_Rel      0x0002     .data
        0x00000460  0x00000001   Pos_Rel      0x0002     .data
        0x00000464  0x00000013   Pos_Rel      0x0002     perl_cmd_perl_TAKE123
        0x00000468  0x00000001   Pos_Rel      0x0002     .data
        0x00000474  0x00000001   Pos_Rel      0x0002     .data
        0x00000478  0x00000001   Pos_Rel      0x0002     .data
        0x0000047c  0x00000011   Pos_Rel      0x0002     perl_cmd_perl_TAKE1
        0x00000480  0x00000001   Pos_Rel      0x0002     .data
        0x0000048c  0x00000001   Pos_Rel      0x0002     .data
        0x00000490  0x00000001   Pos_Rel      0x0002     .data
        0x00000494  0x00000011   Pos_Rel      0x0002     perl_cmd_perl_TAKE1
        0x00000498  0x00000001   Pos_Rel      0x0002     .data
        0x000004a4  0x00000001   Pos_Rel      0x0002     .data
        0x000004a8  0x00000001   Pos_Rel      0x0002     .data
        0x000004ac  0x00000014   Pos_Rel      0x0002     perl_cmd_perl_FLAG
        0x000004b0  0x00000001   Pos_Rel      0x0002     .data
        0x000004bc  0x00000001   Pos_Rel      0x0002     .data
        0x000004e4  0x00000001   Pos_Rel      0x0002     .data
        0x000004f8  0x00000001   Pos_Rel      0x0002     .data
        0x000004fc  0x00000016   Pos_Rel      0x0002     perl_perl_merge_dir_config
        0x00000500  0x00000001   Pos_Rel      0x0002     .data
        0x00000508  0x00000001   Pos_Rel      0x0002     .data
        0x0000053c  0x00000000   Pos_Rel      0x0002     .text
        0x00000540  0x00000001   Pos_Rel      0x0002     .data
        0x00000548  0x00000000   Pos_Rel      0x0002     .text
        0x0000054c  0x00000001   Pos_Rel      0x0002     .data
        0x00000554  0x00000000   Pos_Rel      0x0002     .text
        0x00000558  0x00000001   Pos_Rel      0x0002     .data
        0x00000560  0x00000004   Pos_Rel      0x0002     strlen
        0x00000564  0x00000003   Pos_Rel      0x0002     _system_configuration
        0x00000568  0x00000005   Pos_Rel      0x0002     PL_markstack_ptr
        0x0000056c  0x00000006   Pos_Rel      0x0002     PL_stack_base
        0x00000570  0x00000007   Pos_Rel      0x0002     PL_stack_sp
        0x00000574  0x00000001   Pos_Rel      0x0002     .data
        0x00000578  0x0000000d   Pos_Rel      0x0002     Perl_sv_2pv
        0x0000057c  0x0000000a   Pos_Rel      0x0002     Perl_form
        0x00000580  0x00000010   Pos_Rel      0x0002     perl_get_sv
        0x00000584  0x00000009   Pos_Rel      0x0002     Perl_croak
        0x00000588  0x00000001   Pos_Rel      0x0002     .data
        0x0000058c  0x00000017   Pos_Rel      0x0002     ap_add_module
        0x00000590  0x00000008   Pos_Rel      0x0002     PL_sv_yes
        0x00000594  0x0000000c   Pos_Rel      0x0002     Perl_newSV
        0x00000598  0x0000000e   Pos_Rel      0x0002     Perl_sv_setref_pv
        0x0000059c  0x0000000f   Pos_Rel      0x0002     perl_get_hv
        0x000005a0  0x0000000b   Pos_Rel      0x0002     Perl_hv_store
        0x000005a4  0x00000019   Pos_Rel      0x0002     ap_palloc
        0x000005a8  0x00000015   Pos_Rel      0x0002     perl_perl_cmd_cleanup
        0x000005ac  0x00000018   Pos_Rel      0x0002     ap_null_cleanup
        0x000005b0  0x0000001a   Pos_Rel      0x0002     ap_register_cleanup
sh-2.01# exit
exit

Script command is complete on Mon Jul 10 17:59:54 EST 2000.

Error:
root@hautbois/usr/local/apache/bin# ./apachectl start
Syntax error on line 192 of /usr/local/apache/conf/httpd.conf:
Can't load 
'/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so'
 for module Apache::IU::AuthenKerberos: dlopen: 
/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so:
 30  
/usr/local/lib/perl5/site_perl/5.005/aix/auto/Apache/IU/AuthenKerberos/AuthenKerberos.so36
 ap_add_module 20 httpd36 ap_null_cleanup 21 httpd36 ap_palloc 22 httpd36 
ap_register_cleanup 23 httpd at /usr/local/lib/perl5/5.00503/aix/DynaLoader.pm line 
169.

 at (eval 4) line 3

./apachectl start: httpd could not be started

Reply via email to