[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-install
Subject:    Re: [PHP-INSTALL] libs/libphp4.sl is not a DSO AND
From:       "Jim Thome" <JThome () fcgov ! com>
Date:       2003-09-26 14:37:04
[Download RAW message or body]

Hello,

When compiling open source on HPUX, try these steps:

1.) Make sure you have the linker patch (PHSS_26559 or later) installed
on the OS.

2.) Use GNU C compiler, not HP ANSI C.

3.) Use GNU build tools (and versions) m4 1.4, automake 1.5, autoconf
2.52, libtool 1.4

4.) Before compiling PHP, hack the apxs script to change the DSO
extension.  This must be done in 2 places:
change the line: my $dso_ext = "so"; 
to: my $dso_ext = "sl";
  and 
change the line:  $d =~ s|\.so$||;
to: $d =~ s|\.sl$||;

5.)  Add thread local storage support with the following lines in
apachectl:

#ADD THREAD LOCAL STORAGE SUPPORT TO HPUX IN APACHECTL SCRIPT:
export SHLIB_PATH=$ORACLE_HOME/lib:/opt/apache/lib:$SHLIB_PATH
export LD_PRELOAD=/usr/lib/libpthread.sl:/usr/lib/libcl.sl

One final note, on HPUX you are better off using HP's Apache
distribution, which is available for free off their site at:
http://www.hp.com/products1/unix/webservers/apache/downloads/index.html

It has been optimized for the HPUX platform and is quite easy to set
up.

Good luck,


--
Jim


>>> "Delaporte, Olivier" <olivier.delaporte@idt.com> 09/24/03 04:57PM
>>>
Hello
 
I have scanned the archives of this list for those two error messages
but
the solutions that I found don't quite work. I am running on HP-UX11.0
with
apache 1.3.28 and php 4.3.2 compiled with the HP C compiler.
 
I built apache as:
./configure --prefix=/apps11/apache --enable-module=most
--enable-shared=max
make
make install
 
I build php as:
./configure --prefix=/apps11/php --with-informix=/apps11/informix
--with-apxs=/apps11/apache/bin/apxs --without-mysql

make
make install
 
First error message during execution of the make install command:
Error: file libs/libphp4.sl is not a DSO
 
No libphp4.sl or .so had been produced. The solution was to edit the
libtool
file and change deplibs_check_method to pass_all after the configure
step.
Then I ran make and make install again, got the same error message
again,
and executed these two commands:
 
mv libs/libphp4.sl libs/libphp4.so                     
/apps11/apache/bin/apxs -i -a -n php4 libs/libphp4.so  
 
That worked fine, but now I cannot start apache: I get the error
message:
./apachectl start

 

/usr/lib/dld.sl: Can't shl_load() a library containing Thread Local
Storage:
/usr/lib/libcl.2

/usr/lib/dld.sl: Exec format error

Syntax error on line 236 of /apps11/apache/conf/httpd.conf:

Cannot load /apps11/apache/libexec/libphp4.so into server: Exec format
error

./apachectl start: httpd could not be started

 

If I insert the following line in the apachectl script:

export LD_PRELOAD=/usr/lib/libpthread.sl:/usr/lib/libcl.sl

I get a different error message:

 

/usr/lib/dld.sl: Unresolved symbol: _ecvt_r (code)  from
/usr/lib/libcl.1

/usr/lib/dld.sl: Unresolved symbol: _localtime_r (code)  from
/usr/lib/libcl.1  
/usr/lib/dld.sl: Unresolved symbol: _ldecvt_r (code)  from
/usr/lib/libcl.1

/usr/lib/dld.sl: Unresolved symbol: _ctime_r (code)  from
/usr/lib/libcl.1

/usr/lib/dld.sl: Unresolved symbol: _setlocale_r (code)  from
/usr/lib/libcl.1  
/usr/lib/dld.sl: Unresolved symbol: _strerror_r (code)  from
/usr/lib/libcl.1   
Syntax error on line 236 of /apps11/apache/conf/httpd.conf:

Cannot load /apps11/apache/libexec/libphp4.so into server: No such file
or
directory

./apachectl start: httpd could not be started 
 
 
What can I do now?
Thank you
 
Olivier Delaporte
 
 
 
 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic