PECL packages' all target runs ldconfig -m on the build directory
| From: | Roman Neuhauser | Date: | Tue, 30 Sep 2003 13:31:56 +0000 |
| Subject: | PECL packages' all target runs ldconfig -m on the build directory | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-22221@lists.php.net to get a copy of this message | ||
This problem might be caused by the FreeBSD ports of auto-stuff,
I'm seeking to have this problem confirmed or refuted for other OSes.
I've seen it with APD and mailparse: the "all" target invokes ldconfig
-m on the build directory. this is the end of output of
# cd /usr/ports/devel/pear-apd
# make build
/bin/sh /usr/ports/devel/pear-apd/work/apd-0.4p2/libtool --mode=link cc -DPHP_ATOM_INC
-I/usr/ports/devel/pear-apd/work/apd-0.4p2/include -I/usr/ports/devel/pear-apd/work/apd-0.4p2/main
-I/usr/ports/devel/pear-apd/work/apd-0.4p2 -I/usr/local/include/php -I/usr/local/include/php/main
-I/usr/local/include/php/Zend -I/usr/local/include/php/TSRM -DHAVE_CONFIG_H -O2 -pipe -o
./apd.la -export-dynamic -avoid-version -prefer-pic -module -rpath
/usr/ports/devel/pear-apd/work/apd-0.4p2/modules php_apd.lo apd_lib.lo opcode.lo apd_stack.lo
mkdir ./.libs
(cd . && ln -s php_apd.lo php_apd.o)
(cd . && ln -s apd_lib.lo apd_lib.o)
(cd . && ln -s opcode.lo opcode.o)
(cd . && ln -s apd_stack.lo apd_stack.o)
cc -shared -Wl,--rpath -Wl,/usr/ports/devel/pear-apd/work/apd-0.4p2/modules php_apd.lo apd_lib.lo
opcode.lo apd_stack.lo -Wl,-soname -Wl,apd.so -o ./.libs/apd.so
creating ./apd.la
(cd ./.libs && rm -f apd.la && ln -s ../apd.la apd.la)
/bin/sh /usr/ports/devel/pear-apd/work/apd-0.4p2/libtool --mode=install cp ./apd.la
/usr/ports/devel/pear-apd/work/apd-0.4p2/modules
cp ./.libs/apd.so /usr/ports/devel/pear-apd/work/apd-0.4p2/modules/apd.so
/usr/bin/env OBJFORMAT="elf" /sbin/ldconfig -m
/usr/ports/devel/pear-apd/work/apd-0.4p2/modules
----------------------------------------------------------------------
Libraries have been installed in:
/usr/ports/devel/pear-apd/work/apd-0.4p2/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
Makefile generated for APD by pearize/configure contains (among other
stuff):
phplibdir = /usr/ports/devel/pear-apd/work/apd-0.4p2/modules
PHP_MODULES = $(phplibdir)/apd.la
all_targets = $(PHP_MODULES)
all: $(all_targets)
$(phplibdir)/apd.la: ./apd.la
$(LIBTOOL) --mode=install cp ./apd.la $(phplibdir)
./apd.la: $(shared_objects_apd) $(APD_SHARED_DEPENDENCIES)
$(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@
-export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS)
$(shared_objects_apd) $(APD_SHARED_LIBADD)
I believe the problem is that $(phplibdir) was meant to contain
something like /usr/local/lib/php/..., is this correct?
--
If you cc me or remove the list(s) completely I'll most likely ignore
your message. see http://www.eyrie.org./~eagle/faqs/questions.html