Sander Temme wrote:
Rodolfo,

On Nov 4, 2006, at 7:43 PM, Rodolfo wrote:

1 - Follows the make output line immediately preceding the error:

/opt/instalacao/apache/httpd-2.2.3/srclib/apr/include
-version-info 2:7:2 -o libaprutil-1.la -rpath /opt/apache2/lib
buckets/apr_buckets_pipe.lo

<...>

/usr/lib/libexpat.la /opt/instalacao/apache/httpd-2.2.3/srclib/apr/libapr-1.la -lrt
-lcrypt -lpthread -ldl /usr/lib/libexpat.so: could not read
symbols: File in wrong format

You left off the start of that line, but we get the idea. It's the command that links together libaprutil from its constituent
components, including /usr/lib/libexpat.la. This libtool helper file
points to the real library, which is probably libexpat.so.

It looks like your linker can't work with libexpat.so.



Today I got the same error message as Rodolfo and I found this thread here. I have OpenSUSE 10.0 (!) 64 bits AMD Opteron. I'm sure the 64bit caused the problems. Since I am rather new to building Linux programs from source --but I need to do so-- I had lot of problems with, but your solution seems to work for me little modified by me.


$ file /usr/lib/libexpat.so

In my case the information was:

<snip>

# file /usr/lib/libexpat.so
/usr/lib/libexpat.so: symbolic link to `libexpat.so.0.5.0'
# file /usr/lib/libexpat.so.0.5.0
/usr/lib/libexpat.so.0.5.0: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), stripped

</snip>

32-bit, hum? Well, expat was already pre-installed by my
ISP's Linux distribution and via YAST I can't find a 64bit version of it.


What I want you to do is run the file command on
/usr/lib/libexpat.so. The $ is the shell prompt, you don't actually
type that. Sorry if I was unclear about that. For instance, on my
FreeBSD box:

[EMAIL PROTECTED] httpd-2.2.3 $ file /usr/local/lib/libexpat.so.6 /usr/local/lib/libexpat.so.6: ELF 32-bit LSB shared object, Intel
80386, version 1 (FreeBSD), not stripped

This tells us for which architecture and binary format your expat library was intended.

An alternative for you would be to specify --with-expat=builtin
to the configure script. This should force the build process to
use the bundled copy of Expat rather than what it finds on the
system.

I tested this alternative this morning: if you don't specify,
configure will find the installed copy of expat and prefer it over
the bundled one. However, the installed copy doesn't work for you, so
you might consider forcing configure to use the bundled copy.


Thank you for your support. In my case this configuration worked:

./configure --enable-mods-shared='headers dav dav-fs dav-lock ssl rewrite vhost-alias' -enable-lib64 --with-expat=builtin

Naturally the module names listed in "--enable-mods-shared" are custom specific.

Regards,

Anastasios



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to