Return-Path: Delivered-To: apmail-httpd-apreq-dev-archive@www.apache.org Received: (qmail 43571 invoked from network); 25 Jul 2005 00:06:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 25 Jul 2005 00:06:47 -0000 Received: (qmail 97427 invoked by uid 500); 25 Jul 2005 00:06:47 -0000 Delivered-To: apmail-httpd-apreq-dev-archive@httpd.apache.org Received: (qmail 97399 invoked by uid 500); 25 Jul 2005 00:06:47 -0000 Mailing-List: contact apreq-dev-help@httpd.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list apreq-dev@httpd.apache.org Received: (qmail 97382 invoked by uid 99); 25 Jul 2005 00:06:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 24 Jul 2005 17:06:47 -0700 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [66.180.237.10] (HELO dragon.jaredrhinebiz.net) (66.180.237.10) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 24 Jul 2005 17:06:40 -0700 Received: from badger.wordzoo.com (adsl-63-200-50-186.dsl.snfc21.pacbell.net [63.200.50.186]) by dragon.jaredrhinebiz.net (8.11.3/8.11.3/2001-03-09-JRR) with ESMTP id j6P076J40997; Sun, 24 Jul 2005 17:07:06 -0700 (PDT) Date: Sun, 24 Jul 2005 17:06:41 -0700 Message-ID: <87mzobycj2.wl@badger.wordzoo.com> From: Jared Rhine To: apreq-dev@httpd.apache.org Subject: Dual expat link failure In-Reply-To: <877jfiv4oh.fsf@gemini.sunstarsys.com> References: <87r7dqy0z6.wl@badger.wordzoo.com> <877jfiv4oh.fsf@gemini.sunstarsys.com> MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: text/plain; charset=US-ASCII X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [Joe == joe+gmane@sunstarsys.com on Fri, 22 Jul 2005 18:47:42 -0400] Joe> Jared Rhine 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