httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jared Rhine <ja...@wordzoo.com>
Subject Dual expat link failure
Date Mon, 25 Jul 2005 00:06:41 GMT
[Joe == joe+gmane@sunstarsys.com on Fri, 22 Jul 2005 18:47:42 -0400]

  Joe> Jared Rhine <jared@wordzoo.com> 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 = `@APREQ_CONFIG@
--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 =  `@APREQ_CONFIG@
--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)

root@g1monitor2 # 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 = `@APREQ_CONFIG@
--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 = `@APREQ_CONFIG@
--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 --

root@g1monitor2 # 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?

-- jared@wordzoo.com

"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

Mime
View raw message