From: Andy Dougherty Date: Mon, 2 Dec 2002 12:04:40 +0000 (-0500) Subject: Re: [perl #15129] building a dynamically linked Perl 5.6.1 on HPUX 11.0 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b48c3bfbb4a90d003ead63cb81cdf4e84295c8b9;p=p5sagit%2Fp5-mst-13.2.git Re: [perl #15129] building a dynamically linked Perl 5.6.1 on HPUX 11.0 Message-ID: p4raw-id: //depot/perl@18231 --- diff --git a/README.hpux b/README.hpux index b0536dc..ade3309 100644 --- a/README.hpux +++ b/README.hpux @@ -68,7 +68,7 @@ difficulty, but also can take advantage of features listed later that require the use of HP compiler-specific command-line flags. If you decide to use gcc, make sure your installation is recent and -complete, and be sure to read the Perl README file for more gcc-specific +complete, and be sure to read the Perl INSTALL file for more gcc-specific details. =head2 PA-RISC @@ -203,6 +203,7 @@ To create a shared library, the following steps must be performed: 1. Compile source modules with +z or +Z flag to create a .o module which contains Position-Independent Code (PIC). The linker will tell you in the next step if +Z was needed. + (For gcc, the appropriate flag is -fpic or -fPIC.) 2. Link the shared library using the -b flag. If the code calls any functions in other system libraries (e.g., libm), it must @@ -238,7 +239,8 @@ run into an error like "invalid loader fixup" during load phase. HP is aware of this problem. Search the HP-UX cxx-dev forums for discussions about the subject. The short answer is that B (all libraries, everything) must be compiled with C<+z> or C<+Z> to be -PIC (position independent code). In HP-UX 11.00 or newer the linker +PIC (position independent code). (For gcc, that would be +C<-fpic> or C<-fPIC>). In HP-UX 11.00 or newer the linker error message should tell the name of the offending object file. A more general approach is to intervene manually, as with an example for