Bug #12636 Updated: non-linked libpam function?

From: Date: Tue, 07 Aug 2001 23:59:53 +0000
Subject: Bug #12636 Updated: non-linked libpam function?
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-62514@lists.php.net to get a copy of this message
ID: 12636 User updated by: scarfboy@yahoo.com Reported By: scarfboy@yahoo.com Status: Open Bug Type: IMAP related Operating System: Linux (SuSE 7.1) PHP Version: 4.0.6 New Comment: However, it doesn't compile. There seems to be a bug in the Zend thing. This is as far as it got: Making all in Zend make[1]: Entering directory `/root/phptmp/php4-200108071635/Zend' /bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../main -DEAPI_MM -DSINGLE_LISTEN_UNSERIALIZED_ACCEPT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHARD_SERVER_LIMIT=2048 -DDYNAMIC_MODULE_LIMIT=128 -DLINUX=22 -DMOD_SSL=208100 -DEAPI -DUSE_EXPAT -I../TSRM -g -O2 -prefer-pic -c zend_language_parser.c /bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../main -DEAPI_MM -DSINGLE_LISTEN_UNSERIALIZED_ACCEPT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHARD_SERVER_LIMIT=2048 -DDYNAMIC_MODULE_LIMIT=128 -DLINUX=22 -DMOD_SSL=208100 -DEAPI -DUSE_EXPAT -I../TSRM -g -O2 -prefer-pic -c zend_language_scanner.c zend_language_scanner.c:2697: warning: parameter names (without types) in function declaration yacc -p ini_ -v -d ./zend_ini_parser.y -o zend_ini_parser.c usage: yacc [-dlrtv] [-b file_prefix] [-p symbol_prefix] filename make[1]: *** [zend_ini_parser.c] Error 1 make[1]: Leaving directory `/root/phptmp/php4-200108071635/Zend' make: *** [all-recursive] Error 1 Previous Comments: ------------------------------------------------------------------------ [2001-08-07 19:51:49] scarfboy@yahoo.com ah... last time i tried to use cvs it was so annoying i decided it's an unnecessary evil. I was under the impression they were patches. well, whatever. anyhow, in the latest cvs, this problem is caught by the makefile. well, sort of. in config.log i see normal `undefined reference to whatever''' lines.. all starting with pam_. It can't find the libpam library. Which is weird, since it's in my LD_LIBRARY_PATH and all... The message configure itself gives is: ``configure: error: This c-client library is build with SSL support.'', and the message to ``Add --with-imap-ssl<=DIR> to your configure line. Check config.log for details.'' The relevant part of config.log: configure:24000: checking for IMAP support configure:24287: checking for pam_start in -lpam configure:24306: gcc -o conftest -g -O2 -DEAPI_MM -DSINGLE_LISTEN_UNSERIALIZED_ACCEPT -D_LARGEF/usr/i486-suse-linux/bin/ld: cannot find -lpam collect2: ld returned 1 exit status configure: failed program was: #line 24295 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pam_start(); int main() { pam_start() ; return 0; } configure:24334: checking for crypt in -lcrypt configure:24850: gcc -o conftest -g -O2 -DEAPI_MM -DSINGLE_LISTEN_UNSERIALIZED_ACCEPT -D_LARGEF/usr/lib/libc-client.so: undefined reference to `pam_end' /usr/lib/libc-client.so: undefined reference to `pam_authenticate' /usr/lib/libc-client.so: undefined reference to `pam_setcred' /usr/lib/libc-client.so: undefined reference to `pam_acct_mgmt' /usr/lib/libc-client.so: undefined reference to `pam_start' collect2: ld returned 1 exit status configure: failed program was: #line 24825 "configure" #include "confdefs.h" void mm_log(void){} void mm_dlog(void){} void mm_flags(void){} void mm_fatal(void){} void mm_critical(void){} void mm_nocritical(void){} void mm_notify(void){} void mm_login(void){} void mm_diskerror(void){} void mm_status(void){} void mm_lsub(void){} void mm_list(void){} void mm_exists(void){} void mm_searched(void){} void mm_expunged(void){} char mail_open(); int main() { mail_open(0,"",0); return 0; } ------------------------------------------------------------------------ [2001-08-07 19:21:35] jeroen@php.net Goto snaps.php.net, and get the latest .gz. It works exactly the same as the official release, and is lagging no more than 3 hours to CVS - no problem in this case ------------------------------------------------------------------------ [2001-08-07 19:19:08] scarfboy@yahoo.com Sure. I basically copied it from the phpinfo page that was running on the php module that came with SuSE 7.1, and tweaked it a bit. Like i removed the things that kept me from compiling it, and removed stuff i knew i wouldn't need. There's a handful of other functions it's complaining about. Bloody hell, why can't stuff like this ever just WORK? *grumble* Ermm anyhow. I never used CVS.. I never programmed something big enough to make it useful enough. gimme a bunch of commands to type and i'll do it. ./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib --with-exec-dir=/usr/lib/php/bin --with-pgsql=/usr --with-gd=/usr/local --with-tiff-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-xpm-dir=/usr/X11R6 --with-pdflib=/usr --with-zlib=yes --with-xml --with-ttf --with-readline --with-ftp --with-java --with-curl --enable-versioning --with-ming=/usr --enable-bcmath --enable-trans-sid --with-imap --enable-inline-optimization --enable-track-vars --enable-magic-quotes --enable-safe-mode --enable-sockets --enable-sysvsem --enable-sysvshm --enable-shmop --enable-calendar --enable-exif --enable-ftp --enable-memory-limit --enable-wddx --with-config-file-path=/etc/httpd/ --with-apxs=/usr/sbin/apxs --with-exec-dir=/usr/lib/apache/bin --without-mysql ------------------------------------------------------------------------ [2001-08-07 19:08:21] sniper@php.net What was the configure line used to configure PHP? Could you please try the latest CVS snapshot from http://snaps.php.net/ since there have been few fixes in it. --Jani ------------------------------------------------------------------------ [2001-08-07 19:05:04] scarfboy@yahoo.com I just compiled PHP 4.0.6 from the sources, (well, after fighting with it a bit, but never mind that) and apache won't load the module. When i try to start apache: Syntax error on line 147 of /etc/httpd/httpd.conf: Cannot load /usr/lib/apache/libphp4.so into server: undefined symbol: pam_end (line 147 is the one that loads the module) From both someone else's report and my trial and error, i figured it is the imap module that is the problem. I do have the libpam library and the function is in that library: # objdump -T /lib/libpam.so.0.72 | grep pam_end 00001b40 g DF .text 0000025f Base pam_end The thing is that the php module isn't linked with this. Now i don't know enough about all this funky dynamic stuff to fix this.. (or even know for sure that's the problem) but it strikes me that if the imap module depends on this library it should put that in its makefile or whereever. I can live without imap, but i do want it sometime.. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12636&edit=1

« previous php.dev (#62514) next »