Bug #14689: apache fails to load php due to mmap failure
| From: | dxy at acm dot org | Date: | Tue, 25 Dec 2001 08:36:59 +0000 |
| Subject: | Bug #14689: apache fails to load php due to mmap failure | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-74933@lists.php.net to get a copy of this message | ||
From: dxy@acm.org
Operating system: Solaris 2.6
PHP version: 4.1.0
PHP Bug Type: Apache related
Bug description: apache fails to load php due to mmap failure
Apache-1.3.22 fails to load libphp4.so and apachectl,
therefore, does not complete to "start" or "configtest".
sting:/usr/local/apache[4:20pm] apachectl configtest
Syntax error on line 236 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: ld.so.1:
/usr/loca
l/apache/bin/httpd: fatal: /usr/local/apache/libexec/libphp4.so: mmap
failed: No
such device
sting:/usr/local/apache[4:21pm]
It's Solaris 2.6 for SPARC (105181-30) with
gcc-2.95.3, Solaris bundled /usr/ccs/bin/ld.
- PHP configure option
LDFLAGS="-L/usr/local/lib -L/usr/local/ssl/lib
-L/usr/local/pgsql/lib -R/usr/local/lib
-R/usr/local/ssl/lib -R/usr/local/pgsql/lib" \
./configure --with-apxs=/usr/local/apache/bin/apxs \
--enable-mbstring --enable-mbstr-enc-trans \
--with-ldap=/usr/local --with-openssl \
--with-pgsql=/usr/local/pgsql --without-mysql
'configure' and 'make' appears to complete
without a problem and generates libphp4.so somehow.
sting:/usr/local/apache/libexec[4:28pm] file lib*
libdav.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically
linked,
not stripped
libphp4.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically
linked,
not stripped
libproxy.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically
linked,
not stripped
sting:/usr/local/apache/libexec[4:28pm] ldd lib*
libdav.so:
libphp4.so:
ld.so.1: /usr/lib/lddstub: fatal: ./libphp4.so: mmap failed: No such
device
libproxy.so:
sting:/usr/local/apache/libexec[4:28pm]
With PHP enabled with LoadModule and AddModule entries,
apache fails to start. Disabling PHP by commenting out
those lines brings Apache back to normal.
- Apache configure option
OPTIM="-O2" LDFLAGS="-L/usr/local/lib
-L/usr/local/pgsql/lib -L/usr/local/ssl/lib
-R/usr/local/lib -R/usr/local/pgsql/lib
-R/usr/local/ssl/lib" \
./configure --enable-shared=max --enable-module=most \
--server-uid=www --server-gid=www
I applied the latest linker patch 107733-09 but it didn't
make any difference.
Do you have any idea why the corrupted shared
library was produced?
--
Edit bug report at: http://bugs.php.net/?id=14689&edit=1