Received: (qmail 39021 invoked by uid 501); 11 Feb 2002 19:12:18 -0000 Message-Id: <20020211191218.39020.qmail@apache.org> Date: 11 Feb 2002 19:12:18 -0000 From: Jim McCullars Reply-To: jim@info.uah.edu To: submit@bugz.apache.org Subject: Problem determing which expat library to use X-Send-Pr-Version: 3.110 >Number: 9792 >Category: build >Synopsis: Problem determing which expat library to use >Confidential: no >Severity: non-critical >Priority: medium >Responsible: apache >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Mon Feb 11 11:20:01 PST 2002 >Closed-Date: >Last-Modified: Tue Feb 12 08:00:01 PST 2002 >Originator: jim@info.uah.edu >Release: 1.3.23 >Organization: apache >Environment: Solaris 2.5.1 gcc 2.7.2.3 >Description: There seems to be a problem with the src/Helpers/TestCompile routine that determines whether to use system or builtin Expat library. This also happens with 1.3.22. When I run src/Configure (with no changes to src/Configuration), it defaults to "using system Expat", then when I do a make, it blows off the first time it tries to find libexpat.so.0 (because that file is not in /usr/lib). The TestCompile routine is possibly finding it in /usr/local/lib, but then the real build does not find it there so it errors. If I try to get around the problem by adding /usr/local/lib to EXTRA_LIBS, the Configure script then defaults to "using builtin Expat" and at the end displays this error: ======== Error Output for sanity check ======== cd ..; gcc -DSOLARIS2=251 -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED -o helpers/dummy helpers/dummy.c /usr/local/lib -lsocket -lnsl ld: elf error: file /usr/local/lib: unknown type, unable to process using elf(3E ) libraries ld: fatal: File processing errors. No output written to helpers/dummy make: *** [dummy] Error 1 >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: From: Jim McCullars To: apbugs@Apache.Org Cc: Subject: build/9792 Date: Tue, 12 Feb 2002 09:52:31 -0600 (CST) More info about this problem. It seems that gcc does not return an error if a nonexistant library is included on the command line (e.g., -lexpat) unless something in the program actually needs that library. So when Configure does this: ./helpers/TestCompile lib expat it doesn't get an error so it thinks expat is installed. >Unformatted: [In order for any reply to be added to the PR database, you need] [to include in the Cc line and make sure the] [subject line starts with the report component and number, with ] [or without any 'Re:' prefixes (such as "general/1098:" or ] ["Re: general/1098:"). If the subject doesn't match this ] [pattern, your message will be misfiled and ignored. The ] ["apbugs" address is not added to the Cc line of messages from ] [the database automatically because of the potential for mail ] [loops. If you do not include this Cc, your reply may be ig- ] [nored unless you are responding to an explicit request from a ] [developer. Reply only with text; DO NOT SEND ATTACHMENTS! ]