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