[Joe == [EMAIL PROTECTED] on Fri, 22 Jul 2005 18:47:42 -0400]
Joe> Jared Rhine <[EMAIL PROTECTED]> writes:
>> gcc -g -O2 -o .libs/test_cgi test_cgi.o
>> /var/tmp/apache-inst-01-build/libapreq2-2.06-dev/library/.libs/libapreq2.so
>> /usr/local/apache-inst-01/lib/libexpat.so -lgdbm -ldb -lexpat
>> -liconv /usr/local/apache-inst-01/lib/libapr-0.so -lsendfile -lrt
>> -lm -lsocket -lnsl -lresolv -lpthread
>> /usr/local/apache-inst-01/lib/libaprutil-0.so
>> -R/usr/local/apache-inst-01/lib
>>
>> ld: fatal: recording name conflict: file
>> `/usr/local/apache-inst-01/lib/libexpat.so' and file
>> `/opt/csw/lib/libexpat.so' provide identical dependency names:
>> libexpat.so.0 (possible multiple inclusion of the same file) ld:
>> fatal: File processing errors. No output written to
>> .libs/test_cgi
Thanks for the response, Joe. Results of your two suggestions follows:
Joe> Looks like a bug in some config script. What's the output of
Joe> /usr/local/apache-inst-01/bin/apu-config --link-libtool --libs
# /usr/local/apache-inst-01/bin/apu-config --link-libtool --libs
/usr/local/apache-inst-01/lib/libaprutil-0.la -lgdbm -ldb -lexpat -liconv
After applying your patch to both module/Makefile.{in,am}, the gcc
line and the error has changed, but only in the order (!):
-- begin before the patch --
gcc -g -O2 -o .libs/test_cgi test_cgi.o
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/library/.libs/libapreq2.so
/usr/local/apache-inst-01/lib/libexpat.so -lgdbm -ldb -lexpat -liconv
/usr/local/apache-inst-01/lib/libapr-0.so -lsendfile -lrt -lm -lsocket -lnsl
-lresolv -lpthread /usr/local/apache-inst-01/lib/libaprutil-0.so
-R/usr/local/apache-inst-01/lib
ld: fatal: recording name conflict: file
`/usr/local/apache-inst-01/lib/libexpat.so' and file `/opt/csw/lib/libexpat.so'
provide identical dependency names: libexpat.so.0 (possible multiple inclusion
of the same file)
# grep test_cgi_LDFLAGS
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile.{in,am}
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile.in:test_cgi_LDFLAGS
= [EMAIL PROTECTED]@ --link-libtool --libs` @APR_LTFLAGS@
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile.in: $(LINK)
$(test_cgi_LDFLAGS) $(test_cgi_OBJECTS) $(test_cgi_LDADD) $(LIBS)
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile.am:test_cgi_LDFLAGS
= [EMAIL PROTECTED]@ --link-libtool --libs` @APR_LTFLAGS@
-- end --
-- begin after the patch --
gcc -g -O2 -o .libs/test_cgi test_cgi.o
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/library/.libs/libapreq2.so
-lexpat /usr/local/apache-inst-01/lib/libapr-0.so
/usr/local/apache-inst-01/lib/libaprutil-0.so -lgdbm -ldb
/usr/local/apache-inst-01/lib/libexpat.so -liconv -lsendfile -lrt -lm -lsocket
-lnsl -lresolv -lpthread -R/usr/local/apache-inst-01/lib
ld: fatal: recording name conflict: file `/opt/csw/lib/libexpat.so' and file
`/usr/local/apache-inst-01/lib/libexpat.so' provide identical dependency names:
libexpat.so.0 (possible multiple inclusion of the same file)
[EMAIL PROTECTED] # grep test_cgi_LDFLAGS
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/{Makefile,Makefile.{in,am}}
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile:test_cgi_LDFLAGS
= `/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/apreq2-config
--link-libtool`
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile: $(LINK)
$(test_cgi_LDFLAGS) $(test_cgi_OBJECTS) $(test_cgi_LDADD) $(LIBS)
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile.in:test_cgi_LDFLAGS
= [EMAIL PROTECTED]@ --link-libtool`
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile.in: $(LINK)
$(test_cgi_LDFLAGS) $(test_cgi_OBJECTS) $(test_cgi_LDADD) $(LIBS)
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile.am:test_cgi_LDFLAGS
= [EMAIL PROTECTED]@ --link-libtool`
# /var/tmp/apache-inst-01-build/libapreq2-2.06-dev/apreq2-config --link-libtool
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/library/libapreq2.la
-- end after --
These tests are still fully scripted, so there's an rm -rf every time.
PS. The test_cgi_LDFLAGS entry in module/Makefile.am has an extra
space after the equals sign.
PPS. One other note:
-- begin --
[EMAIL PROTECTED] # grep noinst_PROGRAMS
/var/tmp/apache-inst-01-build/libapreq2-2.06-dev/module/Makefile
noinst_PROGRAMS = test_cgi
noinst_PROGRAMS = test_cgi$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
@list='$(noinst_PROGRAMS)'; for p in $$list; do \
-- end --
noinst_PROGRAMS has two entries in the Makefile? Harmless, probably?
-- [EMAIL PROTECTED]
"We suffer primarily not from our vices or our weaknesses, but from our
illusions. We are haunted, not by reality, but by those images we have put
in place of reality." - Daniel J. Boorstin