ID: 27795 Comment by: my-junkmail at earthlink dot net Reported By: peoyli at bredband dot net Status: Bogus Bug Type: Compile Failure Operating System: OpenBSD 3.4 PHP Version: 5CVS-2004-04-07 New Comment:
For x86_64 users, many linux distributions are using a lib64 directory as well as the standard lib directory so both 32 and 64 bit versions are available to your system. If your libtool doesn't know about this, which the one shipped with php doesn't, you will get this error. A lot. The solution is *in this order*: -run ./configure with your favorite options -edit ./libtool: add /usr/lib64 (or wherever yours is) to sys_lib_search_path_spec AND sys_lib_dlsearch_path_spec then make and make install will run. (although I'm still having issues with mysql's prebuilt binary dist. of libmysqlclient for the x86_64) Previous Comments: ------------------------------------------------------------------------ [2004-05-13 20:36:49] dparisek at hotmail dot com I got around this same problem while installing php-4.3.6 by copying the libphp4.so file from the source location - <php distribution dir>/.libs/libphp4.so to the modules directory. Actually I placed the copy (cp) command in the instdso.sh script (called by Makefile) but I assume I could have just as easily copied it manually prior to doing the 'make install'. ------------------------------------------------------------------------ [2004-05-09 14:13:05] jelly_bean_junky at hotmail dot com Okay, I worked it out... While compiling, do you get an error like this: *** Warning: linker path does not have real file for library -lc-client. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libc-client and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/lib/c-client.a *** Warning: linker path does not have real file for library -lbz2. *** ... [blah blah blah] ... *** ... ... passed a file format test *** using a file magic. Last file checked: /usr/lib/libbz2.a *** Warning: libtool could not satisfy all declared inter-library *** ... [blah blah blah] ... *** application is linked with the -dlopen flag. Okay here I have two libraries it can't link properly, so what you need to do is that the compile output just before, it should end with ‘-o libphp4.la’ and start something like this ‘/bin/sh /home/kibble/packages/php-4.3.6/libtool --silent --preserve-dup-deps’ It’s a long string compiling options for the libtool, then all you need to do is remove the references to the lib-c-client and lib-bzip2, so if you have this on the line somewhere, ‘blah.lo -lc-client -lssl -lcrypto -lmysqlclient -lintl -lfreetype -lX11 -lXpm -lpng -lz -ljpeg -lexslt -lxml2 -lxslt -lz -ldb-4.2 -lgdbm -lbz2 -lz -lssl -lcrypto -lm -lxml2 -lz -liconv -lm -o libphp4.la’ You would now have this instead: ‘blah.lo -lssl -lcrypto -lmysqlclient -lintl -lfreetype -lX11 -lXpm -lpng -lz -ljpeg -lexslt -lxml2 -lxslt -lz -ldb-4.2 -lgdbm -lz -lssl -lcrypto -lm -lxml2 -lz -liconv -lm -o libphp4.la’ Can you see I’ve removed the problem libraries ‘-lbz2’ and ‘-lc-client’. Now recompile that with your new string of options and the try ‘make install’ p.s. Sorry about the spelling mistake in my first post./comment, that ‘Hvae‘ is meant to say ‘Have’ ** p.p.s If you get your PHP library working because of this post, please let me know, it’d be great to have some feedback. ------------------------------------------------------------------------ [2004-05-09 13:40:11] jelly_bean_junky at hotmail dot com Nope didn't work, damn it. :( ------------------------------------------------------------------------ [2004-05-09 13:28:12] jelly_bean_junky at hotmail dot com Hvae you tried adding the '--enable-so=shared' and double checking your '--with-apxs2' flag? I'm just trying it out own my system: $ automake --version automake (GNU automake) 1.8.3 $ autoconf --version autoconf (GNU Autoconf) 2.59 $ libtool --version ltmain.sh (GNU libtool) 1.5.6 (1.1220.2.94 2004/04/10 16:27:27) $ make --version GNU Make 3.80 $ gcc --version 2.95.3 $ uname -mprsv OpenBSD 3.5 GENERIC#34 i386 AMD-K6(tm) 3D processor ("AuthenticAMD" 586-class) With PHP 4.3.6, althou I'm sure it will work just as well on PHP5 too. :) I'll let you know if it works, trying it now... ------------------------------------------------------------------------ [2004-04-08 19:13:55] heinemann dot juergen at t-online dot de Tt is not a BUG - but incomplit with Permission on your Configuration, to fix this problem. Open Makefile and edit Line 93 with Variable "INSTALL_IT" for more Information get apxs --help example: INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/srv/www/modules' && /usr/sbin/apxs -S LIBEXECDIR='/srv/www/modules' -i -a -g php5 libphp5.la ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/27795 -- Edit this bug report at http://bugs.php.net/?id=27795&edit=1