As an experiment, I am attempting to build a more recent version of GNOME than 2.16.0 on CentOS 5.1. I've tried both garnome and jhbuild, and neither one works quite right. Jhbuild blows out looking for a dbus-glib-1 revision >= 0/74 (the release rev is 0.70), so I downloaded that and tried to build it. This results in the following error:
gcc -g -O2 -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -o .libs/dbus-binding-tool dbus-binding-tool-glib.o dbus-glib-tool.o ./.libs/libdbus-gtool.a -L/lib64 ./.libs/libdbus-glib-1.so -ldbus-1 -lgobject-2.0 -lglib-2.0 /usr/lib/libexpat.so -lnsl /usr/lib/libexpat.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[4]: *** [dbus-binding-tool] Error 1 make[4]: Leaving directory `/home/mhr/Download/dbus-glib-0.74/dbus' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/mhr/Download/dbus-glib-0.74/dbus' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/mhr/Download/dbus-glib-0.74/dbus' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/mhr/Download/dbus-glib-0.74' make: *** [all] Error 2
When I try to use garnome, it eventually runs into exactly the same error.
I've checked /usr/lib/libexpat.so, and this is what I get:
$ ls -l /usr/lib/libexpat.so lrwxrwxrwx 1 root root 27 Jan 8 13:11 /usr/lib/libexpat.so -> ../../lib/libexpat.so.0.5.0 $ ls -l /lib/libexpat.so.0.5.0 -rwxr-xr-x 1 root root 133056 Jan 6 2007 /lib/libexpat.so.0.5.0 $ file /lib/libexpat.so.0.5.0 /lib/libexpat.so.0.5.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
When I look at this library with nm, lld and objdump, they all seem to be able to read it just fine. There is also the 64 bit version that lives in /ib64 and has a .ink from /usr/lib64, and that also reads fine.
What did I miss here?
Thanks.
mhr
MHR wrote:
As an experiment, I am attempting to build a more recent version of GNOME than 2.16.0 on CentOS 5.1. I've tried both garnome and jhbuild, and neither one works quite right. Jhbuild blows out looking for a dbus-glib-1 revision >= 0/74 (the release rev is 0.70), so I downloaded that and tried to build it. This results in the following error:
gcc -g -O2 -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -o .libs/dbus-binding-tool dbus-binding-tool-glib.o dbus-glib-tool.o ./.libs/libdbus-gtool.a -L/lib64 ./.libs/libdbus-glib-1.so -ldbus-1 -lgobject-2.0 -lglib-2.0 /usr/lib/libexpat.so -lnsl /usr/lib/libexpat.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[4]: *** [dbus-binding-tool] Error 1 make[4]: Leaving directory `/home/mhr/Download/dbus-glib-0.74/dbus' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/mhr/Download/dbus-glib-0.74/dbus' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/mhr/Download/dbus-glib-0.74/dbus' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/mhr/Download/dbus-glib-0.74' make: *** [all] Error 2
When I try to use garnome, it eventually runs into exactly the same error.
I've checked /usr/lib/libexpat.so, and this is what I get:
$ ls -l /usr/lib/libexpat.so lrwxrwxrwx 1 root root 27 Jan 8 13:11 /usr/lib/libexpat.so -> ../../lib/libexpat.so.0.5.0 $ ls -l /lib/libexpat.so.0.5.0 -rwxr-xr-x 1 root root 133056 Jan 6 2007 /lib/libexpat.so.0.5.0 $ file /lib/libexpat.so.0.5.0 /lib/libexpat.so.0.5.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
When I look at this library with nm, lld and objdump, they all seem to be able to read it just fine. There is also the 64 bit version that lives in /ib64 and has a .ink from /usr/lib64, and that also reads fine.
What did I miss here?
Thanks.
mhr _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Howdy,
Just a thought, do you have the expat-devel package installed?
Thanks, Finnur
On Sun, May 25, 2008 at 1:29 PM, Finnur Örn Guðmundsson finnzi@finnzi.com wrote:
Howdy,
Just a thought, do you have the expat-devel package installed?
Yes:
$ yum list | grep -i expat expat.x86_64 1.95.8-8.2.1 installed expat.i386 1.95.8-8.2.1 installed expat-devel.i386 1.95.8-8.2.1 installed expat-devel.x86_64 1.95.8-8.2.1 installed
mhr
On Sun, May 25, 2008 at 01:12:30PM -0700, MHR wrote:
As an experiment, I am attempting to build a more recent version of GNOME than 2.16.0 on CentOS 5.1. I've tried both garnome and jhbuild,
... just my 1st and last warning: if you break your setup don't come complaining here :)
... gcc -g -O2 -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -o .libs/dbus-binding-tool dbus-binding-tool-glib.o dbus-glib-tool.o ./.libs/libdbus-gtool.a -L/lib64 ./.libs/libdbus-glib-1.so -ldbus-1 -lgobject-2.0 -lglib-2.0 /usr/lib/libexpat.so -lnsl /usr/lib/libexpat.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status
The error message is quite clear.
... $ file /lib/libexpat.so.0.5.0 /lib/libexpat.so.0.5.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
you are running a 64 bits CentOS-5 machine and you are trying to link a 64 bits objects with a 32 bits shared lib.
What did I miss here?
good luck.
Tru
On Sun, May 25, 2008 at 1:35 PM, Tru Huynh tru@centos.org wrote:
... just my 1st and last warning: if you break your setup don't come complaining here :)
I presume you mean my GNOME setup, and yes, I know - there are instructions on both jhbuild and garnome on how to avoid that. Hopefully they are more effective that the build instructions.... )-;
The error message is quite clear. ... you are running a 64 bits CentOS-5 machine and you are trying to link a 64 bits objects with a 32 bits shared lib.
Actually, I respectfully disagree - the message is far too vague, although the implication may not be.
However, that raises another question: why does the build (either one) not know the machine architecture on which it is running and therefore detect the proper library to which to link?
Or do I have to fake it by replacing the links in /usr/lib with those from /usr/lib64?
IOW: how do I (or does anyone) build GNOME (or even just dbus-glib) on a 64-bit platform?
good luck.
Thanks.
mhr
MHR wrote:
However, that raises another question: why does the build (either one) not know the machine architecture on which it is running and therefore detect the proper library to which to link?
Did you ask the people who wrote that buildsystem ? what did they say ?
On Sun, May 25, 2008 at 1:49 PM, Karanbir Singh mail-lists@karan.org wrote:
Did you ask the people who wrote that buildsystem ? what did they say ?
Yes, I was emailing back and forth with them yesterday. So far, on this problem (the latest in a line), no response yet.
Of course, I did not specifically ask them this question (how does one build on a 64-bit platform), but I did mention up front that that's what I'm running.
mhr