You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "J. Meltzer" <zu...@swordmoon.com> on 2000/02/17 19:00:51 UTC

Errors while installing Apache::Request

While installing either Apache::Request or the full libapreq package, I get 
to the "make test" step, and the following errors pop up.  (Apache 
1.3.11,mod_perl 1.21, AIX 4.3.3)

Note:  All other installations so far have worked fine.  These errors occur 
whether I install by hand, or install using the CPAN module.  Any help is 
welcomed.  I received some help from Geoffrey Young already, for which I am 
grateful, because I did not want to bother the list again after my last 
time.  However, we were not able to figure this out.

Running Mkbootstrap for Apache::Request ()
chmod 644 Request.bs
LD_RUN_PATH="/usr/local/.cpan/build/libapreq-0.31/Request/../blib/arch/auto/libapreq" 
ld -o ../blib/arch/auto/Apa
che/Request/Request.so -bhalt:4 -bM:SRE 
-bI:/usr/local/lib/perl5/5.00503/aix/CORE/perl.exp -bE:Request.exp -b no
entry -lc -L/usr/local/lib Request.o 
-L/usr/local/.cpan/build/libapreq-0.31/Request/../blib/arch/auto/libapreq
-lapreq
ld: 0711-317 ERROR: Undefined symbol: .perl_request_rec
ld: 0711-317 ERROR: Undefined symbol: .ap_setup_client_block
ld: 0711-317 ERROR: Undefined symbol: .ap_should_client_block
ld: 0711-317 ERROR: Undefined symbol: .ap_log_rerror
ld: 0711-317 ERROR: Undefined symbol: .ap_pcalloc
ld: 0711-317 ERROR: Undefined symbol: .ap_hard_timeout
ld: 0711-317 ERROR: Undefined symbol: .ap_get_client_block
ld: 0711-317 ERROR: Undefined symbol: .ap_kill_timeout
ld: 0711-317 ERROR: Undefined symbol: .ap_find_path_info
ld: 0711-317 ERROR: Undefined symbol: .ap_pstrndup
ld: 0711-317 ERROR: Undefined symbol: .ap_make_dirstr_parent
ld: 0711-317 ERROR: Undefined symbol: .ap_table_get
ld: 0711-317 ERROR: Undefined symbol: .ap_push_array
ld: 0711-317 ERROR: Undefined symbol: .ap_make_array
ld: 0711-317 ERROR: Undefined symbol: .ap_table_do
ld: 0711-317 ERROR: Undefined symbol: .ap_pstrcat
ld: 0711-317 ERROR: Undefined symbol: .ap_make_table
ld: 0711-317 ERROR: Undefined symbol: .ap_getword
ld: 0711-317 ERROR: Undefined symbol: .ap_unescape_url
ld: 0711-317 ERROR: Undefined symbol: .ap_table_add
ld: 0711-317 ERROR: Undefined symbol: .ap_note_cleanups_for_file
ld: 0711-317 ERROR: Undefined symbol: .ap_getword_conf
ld: 0711-317 ERROR: Undefined symbol: .ap_palloc
ld: 0711-317 ERROR: Undefined symbol: .ap_reset_timeout
ld: 0711-317 ERROR: Undefined symbol: .ap_clear_pool
ld: 0711-317 ERROR: Undefined symbol: .ap_getword_nc
ld: 0711-317 ERROR: Undefined symbol: .ap_make_sub_pool
ld: 0711-317 ERROR: Undefined symbol: .ap_ind
ld: 0711-317 ERROR: Undefined symbol: .ap_pstrdup
ld: 0711-317 ERROR: Undefined symbol: ap_day_snames
ld: 0711-317 ERROR: Undefined symbol: ap_month_snames
ld: 0711-317 ERROR: Undefined symbol: .ap_psprintf
ld: 0711-317 ERROR: Undefined symbol: .sv2request_rec
ld: 0711-317 ERROR: Undefined symbol: .mod_perl_tie_table
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[1]: *** [../blib/arch/auto/Apache/Request/Request.so] Error 8
make[1]: Leaving directory `/usr/local/.cpan/build/libapreq-0.31/Request'
make: *** [subdirs] Error 2
/lbin/make -- NOT OK
Running make test
Oops, make had returned bad status
Running make install
Oops, make had returned bad status

Because it got these errors, it would not install. Any ideas? 


Re: Errors while installing Apache::Request

Posted by Doug MacEachern <do...@pobox.com>.
On Wed, 8 Mar 2000, Jens-Uwe Mager wrote:
 
> OK, attached below a patch to INSTALL and Makefile.PL.

applied, many thanks!


Re: Errors while installing Apache::Request

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Mon, Mar 06, 2000 at 06:26:35PM -0800, Doug MacEachern wrote:
> i'd be happy to have a note in the INSTALL file, maybe even include the
> patch (or url to it), along with adding to system_sanity_check() in
> Makefile.PL that does something like:
> 
> if ($^O eq 'aix' and $USE_DSO) {
>      phat_warn("...you should apply this patch...");
> }

OK, attached below a patch to INSTALL and Makefile.PL.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: Errors while installing Apache::Request

Posted by Doug MacEachern <do...@pobox.com>.
On Tue, 7 Mar 2000, Jens-Uwe Mager wrote:
 
> There is one other loose end that I would like to take care about, namely
> my small patch needed to the base perl 5.005_3 for AIX distribution that
> fixes a problem that symbols are not properly resolved if mod_perl is a
> DSO itself (the original loader assumed it is always in the main
> executable). Would it be possible to put that into the INSTALL document
> anywhere? I will need to get that into later perl releases as well, but
> it will hit mostly folks installing mod_perl so a hint in the INSTALL
> file would be fine.

i'd be happy to have a note in the INSTALL file, maybe even include the
patch (or url to it), along with adding to system_sanity_check() in
Makefile.PL that does something like:

if ($^O eq 'aix' and $USE_DSO) {
     phat_warn("...you should apply this patch...");
}


Re: Errors while installing Apache::Request

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Mon, Mar 06, 2000 at 04:33:02PM -0800, Doug MacEachern wrote:

> excellent, i've applied your Apache::src patch, thanks!!

There is one other loose end that I would like to take care about, namely
my small patch needed to the base perl 5.005_3 for AIX distribution that
fixes a problem that symbols are not properly resolved if mod_perl is a
DSO itself (the original loader assumed it is always in the main
executable). Would it be possible to put that into the INSTALL document
anywhere? I will need to get that into later perl releases as well, but
it will hit mostly folks installing mod_perl so a hint in the INSTALL
file would be fine.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: Errors while installing Apache::Request

Posted by Doug MacEachern <do...@pobox.com>.
excellent, i've applied your Apache::src patch, thanks!!


Re: Errors while installing Apache::Request

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Fri, Mar 03, 2000 at 03:33:10PM -0800, Doug MacEachern wrote:
> On Fri, 3 Mar 2000, Jens-Uwe Mager wrote:
>  
> > OK, I will work on that issue.
> 
> thanks!  i just committed a change so mod_perl.exp is installed along side
> the typemap file.

So, I did work on that and with the attached two patches the libapreq
modules build fine here out of the box. The patch to mod_perl adds the
otherldflags method to Apache::src, this is used in the Makefile.PL's
from libapreq to add the required additional arguments to the linker
command line. I also did change two things in the libapreq sources, one
comment was C++ style which the plain C compiler did barf on, and one
issue that happens if you not compile using gcc, both perl and Apache do
define an __attribute__ macro to compensate for special gcc features. I
added and #undef in the middle of the headers so the compiler stops
complaining about the not exactly same redefinition. The real solution
would probably be to wrap both the perl and Apache definitions into
#ifndef sections.

If this goes into the CVS I will also send a patch to Gerald to simplify
the Embperl Makefile.PL, this currently does that locally what the
Apache::src::otherldflags method does.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: Errors while installing Apache::Request

Posted by Doug MacEachern <do...@pobox.com>.
On Fri, 3 Mar 2000, Jens-Uwe Mager wrote:
 
> OK, I will work on that issue.

thanks!  i just committed a change so mod_perl.exp is installed along side
the typemap file.

> The following is that patch again, it still works fine with the latest
> CVS version:

great, that's been committed, thanks!


Re: Errors while installing Apache::Request

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Thu, Mar 02, 2000 at 02:50:03PM -0800, Doug MacEachern wrote:
> that's what I was thinking, the Apache::src suggestion was to have it
> figure out where the .exp's are installed and return a string with the
> proper paths and -E flags, etc.  

OK, I will work on that issue.

> I remember receiving your patch, and I swear I applied it, but don't see
> anything in Changes or ToDo.  although, there is this in the cvs Changes: 
> apxs/aix port [Paul J. Reder <re...@raleigh.ibm.com>]
> 
> could you try again with the latest cvs snapshot?  I'm quite happy to
> apply any patches from you for 1.22, thanks!

The following is that patch again, it still works fine with the latest
CVS version:

Index: apaci/configure
===================================================================
--- apaci/configure.orig	Wed Aug 18 16:54:07 1999
+++ apaci/configure	Wed Aug 18 16:57:12 1999
@@ -73,6 +73,7 @@
 my_apxs_sourcedir="`$my_apxs -q PREFIX`"
 my_apxs_cflags="`$my_apxs -q CFLAGS`"
 my_apxs_includes="-I`$my_apxs -q INCLUDEDIR`"
+my_apxs_libexec="`$my_apxs -q LIBEXECDIR`"
 
 #   friendly header
 echo "Configuring mod_perl for building via APXS" 2>&1
@@ -95,6 +96,7 @@
 echo "RANLIB=ranlib" >>$my_makefileconf
 echo "LIBEXT=so" >>$my_makefileconf
 echo "APACHEEXT=$my_apxs_sourcedir/src" >>$my_makefileconf
+echo "APACHELIBEXEC=$my_apxs_libexec" >>$my_makefileconf
 echo "BASEEXT=mod_perl" >>$my_makefileconf
 echo "APXS=$my_apxs" >>$my_makefileconf
 echo "#   own special stuff" >>$my_makefileconf
Index: apaci/mod_perl.config.sh
===================================================================
--- apaci/mod_perl.config.sh.orig	Wed Aug  4 03:17:52 1999
+++ apaci/mod_perl.config.sh	Wed Aug 18 16:55:46 1999
@@ -116,7 +116,7 @@
 perl_lddlflags="`$perl_interp -MConfig -e 'print $Config{lddlflags}'`"
 
 case "$os_version" in
-    aix*)  perl_lddlflags="$perl_lddlflags -bI:\$(APACHEEXT)/support/httpd.exp" ;;
+    aix*)  perl_lddlflags="$perl_lddlflags -bI:\$(APACHELIBEXEC)/httpd.exp" ;;
     * )    ;;
 esac
 
Index: apaci/mod_perl.exp
===================================================================
--- apaci/mod_perl.exp.orig	Wed Aug 18 17:26:50 1999
+++ apaci/mod_perl.exp	Thu Sep 23 11:14:21 1999
@@ -1 +1,6 @@
+#!
 perl_module
+mod_perl_sent_header
+mod_perl_tie_table
+sv2request_rec
+perl_request_rec

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: Errors while installing Apache::Request

Posted by Doug MacEachern <do...@pobox.com>.
On Thu, 2 Mar 2000, Jens-Uwe Mager wrote:

> That is a sticky problem, and I only got it to work by patching the
> generated Makefiles by hand. As I see it, Apache::src would not help
> here, the mod_perl install procedure needs to install the mod_perl.exp
> file at the same location as the httpd.exp file is found, namely in the
> Apache directory libexec. I did already submit a patch to mod_perl in
> last August (that was not applied for some reason), that does reference
> the httpd.exp file at its standard location. What about installing the
> mod_perl.exp there and simply reference that from the libapreq Makefile
> if AIX is the platform?

that's what I was thinking, the Apache::src suggestion was to have it
figure out where the .exp's are installed and return a string with the
proper paths and -E flags, etc.  
I remember receiving your patch, and I swear I applied it, but don't see
anything in Changes or ToDo.  although, there is this in the cvs Changes: 
apxs/aix port [Paul J. Reder <re...@raleigh.ibm.com>]

could you try again with the latest cvs snapshot?  I'm quite happy to
apply any patches from you for 1.22, thanks!


Re: Errors while installing Apache::Request

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Tue, Feb 29, 2000 at 10:47:11PM -0800, Doug MacEachern wrote:

> I don't expect libapreq (or any of the Apache:: xs modules outside of
> the mod_perl dist)  to work under aix. it needs to point at the apache and
> mod_perl .exp files to link properly.  I don't have access to an aix box
> at the moment, maybe one of our aix experts can help here?  a patch to
> Apache::src would be ideal so all the Apache:: xs modules on cpan can use
> it.  the Apache:: xs modules that ship with mod_perl don't have this
> problem because they are all linked static by default.

That is a sticky problem, and I only got it to work by patching the
generated Makefiles by hand. As I see it, Apache::src would not help
here, the mod_perl install procedure needs to install the mod_perl.exp
file at the same location as the httpd.exp file is found, namely in the
Apache directory libexec. I did already submit a patch to mod_perl in
last August (that was not applied for some reason), that does reference
the httpd.exp file at its standard location. What about installing the
mod_perl.exp there and simply reference that from the libapreq Makefile
if AIX is the platform?

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: Errors while installing Apache::Request

Posted by Doug MacEachern <do...@pobox.com>.
On Thu, 17 Feb 2000, J. Meltzer wrote:

> While installing either Apache::Request or the full libapreq package, I get 
> to the "make test" step, and the following errors pop up.  (Apache 
> 1.3.11,mod_perl 1.21, AIX 4.3.3)
> 
> Note:  All other installations so far have worked fine.  These errors occur 
> whether I install by hand, or install using the CPAN module.  Any help is 
> welcomed.  I received some help from Geoffrey Young already, for which I am 
> grateful, because I did not want to bother the list again after my last 
> time.  However, we were not able to figure this out.

I don't expect libapreq (or any of the Apache:: xs modules outside of
the mod_perl dist)  to work under aix. it needs to point at the apache and
mod_perl .exp files to link properly.  I don't have access to an aix box
at the moment, maybe one of our aix experts can help here?  a patch to
Apache::src would be ideal so all the Apache:: xs modules on cpan can use
it.  the Apache:: xs modules that ship with mod_perl don't have this
problem because they are all linked static by default.