php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #16413 Apache Startup Failure: Undefined symbol "_mail_string"
Submitted: 2002-04-03 12:14 UTC Modified: 2002-06-29 01:00 UTC
Votes:3
Avg. Score:4.3 ± 0.9
Reproduced:3 of 3 (100.0%)
Same Version:2 (66.7%)
Same OS:3 (100.0%)
From: markscarbrough at hotmail dot com Assigned:
Status: No Feedback Package: IMAP related
PHP Version: 4.1.2 OS: OpenBSD 3.0
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2002-04-03 12:14 UTC] markscarbrough at hotmail dot com
I am having problems installing php as a dso with imap 
support on my OpenBSD 3.0 system. I would use the OpenBSD 
port but I am concerned about the upload security hole. in 
php-4.0.6. The configure, make, and make install work fine 
but when I attempt to start apache I receive the error 
'Undefined symbol "_mail_string" in module php...' I am 
using the following software:

- apache_1.3.24/mod_ssl
- imap-2001a (compiled and copied .a and .h files to 
/usr/local/include and /usr/local/lib per instructions on 
http://www.php.net/manual/en/ref.imap.php) 
- php-4.1.2

My configure string follows:

./configure --with-mysql=/usr/local 
--with-apxs=/home/httpd/bin/apxs --prefix=/usr/local
--with-config-file-path=/home/httpd/conf --enable-bcmath 
--enable-calendar --enable-ftp --with-gettext=/usr/local 
--with-mhash=/usr/local --with-pspell=/usr/local --with-mm 
--without-curl --without-gdbm --without-ldap 
--without-recode --without-snmp --disable-dbase 
--disable-filepro --without-iodbc --sysconfdir=/etc 
--enable-sysvsem --enable-sysvshm --with-imap=/usr/local 
--with-imap-ssl=/usr

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-04-03 18:55 UTC] sniper@php.net
What does this command show:

# nm /usr/local/lib/libc-client.a |grep mail_string

And what about:

# find / -name libc-client.*

 [2002-04-03 19:15 UTC] markscarbrough at hotmail dot com
Diagnostic commands and their results (cut and pasted right from my ssh terminal):

psi # nm /usr/local/lib/libc-client.a |grep mail_string
0000ca78 D _mail_string
00000470 t _mail_string_init
000004a0 t _mail_string_next
000004b4 t _mail_string_setpos
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string
         U _mail_string

psi # find / -name libc-client.*
/usr/local/lib/libc-client.a
/usr/local/src/imap-2001a/c-client/libc-client.a
 [2002-04-03 20:20 UTC] sniper@php.net
And does the PHP4 from the openBSD ports work for you?

--Jani

 [2002-04-03 21:27 UTC] markscarbrough at hotmail dot com
I was using the following i386 port:

php4-4.0.6p1-gettext-imap-mhash-no_x11-mcrypt-mysql.tgz

It worked fine with the apache bundled with OpenBSD. I used pkg_delete to remove the php port (so as not to cause any conflicts when I compiled my own php in /usr/local). I also compiled and installed my own copy of apache/mod_ssl without a hitch under /home/httpd before installing PHP. 

As long as I do not compile PHP with imap support it works fine (that is what I have running now). I originally tried to compile php against the c-client port that is bundled with OpenBSD, but I was unable to complete a configure against this version of c-client. The configure script asked me to add the --with-kerberos flag to the configure string. When I do add this flag, configure gives me an error "Attention--something is likely to be wrong, configure was unable to determine a basic system feature..." (paraphrased). After trying a few times with different DIR options to the --with-kerberos flag(/usr/local, /usr, absent DIR option) I used pkg_delete to remove the c-client port and downloaded and compiled my own in a futile attempt to make things work! With my own compilation of c-client the configure script works fine but I am (as you know) unable to start apache. 

If it helps, this is a brand new setup, running OpenBSD 3.0, i386, with only ports from the 3.0 release tree. No old packages, not an upgrade, etc. Gosh, thanks for looking into this--hope any this info helps your development efforts!
 [2002-05-28 13:06 UTC] derick@php.net
Is this still an issue with PHP 4.2.1?
 [2002-06-01 16:18 UTC] karl dot soulabaille at free dot fr
I have the same problem when compiling my own port in the same way but using PHP 4.1.2. Precompiled packages work also fine for me.

(And may you see my bug report 17165 which appear to be near problem (ie. libc-client.a)).
 [2002-06-11 04:56 UTC] karl dot soulabaille at free dot fr
Latest ports for OpenBSD 3.0 works now for me.
Don't ask me why :-)
 [2002-06-29 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2002-10-28 15:44 UTC] hallstein at yahoo dot com
_mail_string

OPENBSD problem!

I got PHP4 and configured it with the following arguments successfully: 


| [root@impulse conf]#./configure --with-apxs 
| --with-config-file-path=/var/www/conf --enable-safe-mode 
| --enable-track-vars --enable-magic-quotes --enable-bcmath 
| --enable-calendar --with-db2 --enable-ftp --with-imap --with-java 
| --with-ldap --with-mcal --with-mhash --with-pgsql --enable-trans-sid 
| --enable-memory-limit 


While compiling with LDFLAGS="-ldl" (as suggested by some messages in the OpenBSD-misc archives; I received the following when compiling without -ldl, as well), I received the following: 


| *** Warning: inter-library dependencies are not known to be supported. 
| *** All declared inter-library dependencies are being dropped. 
| *** The inter-library dependencies that have been dropped here will be 
| *** automatically added whenever a program is linked with this library 
| *** or is declared to -dlopen it. 
| ld: .libs/libphp4.lax/libsapi.al/mod_php4.lo: relocation must refer 
| to global symbol at 0xfab 
| ld: .libs/libphp4.lax/libsapi.al/mod_php4.lo: relocation must refer 
| to global symbol at 0xf4f 
| ld: .libs/libphp4.lax/libsapi.al/mod_php4.lo: relocation must refer 
| to global symbol at 0xcce 
| Making all in pear 
| [root@impulse php-4.0.0]# 


I then make-install'd without any errors. Upon restarting 
apache, I received the following error: 

| [root@impulse conf]#apachectl restart 
| /usr/sbin/apachectl restart: httpd not running, trying to start 
| /usr/libexec/ld.so: Undefined symbol "_mail_string" in 
| httpd:/usr/lib/apache/modules/libphp4.so 
| /usr/sbin/apachectl restart: httpd could not be started 
| [root@impulse conf]# 

I then configured PHP4 with only --with-apxs, and compiled cleanly, but received the same errors, so I don't think it's a problem in compiling one of the options. I have successfully had PHP3 run on the box with the same apache. 

Has anyone run into this before? Does anyone know any way to solve it? 

I saw somewhere that it might be an ELF problem, but I still do not understand why it works on PHP3. (no, i cannot use OpenBSD ports, coz I have to many features added).
 [2002-10-28 16:34 UTC] hallstein at yahoo dot com
Forget it. It works now. I installed the  imap-uw-4.7c2.tgz from http://www.openbsd.org/2.8_packages/i386.html ..
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Mon Aug 10 18:01:25 2020 UTC