[e-users] Evas compile problem on x86_64
Title: Evas compile problem on x86_64 I'm attempting to compile and install the EFLs on a Suse 9.1 64-bit workstation and I'm hitting an issue when I attempt to compile Evas. Here's the error I'm getting: /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lXext collect2: ld returned 1 exit status make[4]: *** [libevas.la] Error 1 I believe it's looking for the libXext library. My understanding is that libXext is installed with the XFree86_devel package, which I've got installed. I believe I'm seeing the proper library files installed in the file system. Here are the pertinent listings of my lib directories: sj64:~ # ls -l /usr/X11R6/lib/libXext* lrwxrwxrwx 1 root root 14 2004-10-06 02:23 /usr/X11R6/lib/libXext.so.6 -> libXext.so.6.4 -rwxr-xr-x 1 root root 67082 2004-09-15 05:29 /usr/X11R6/lib/libXext.so.6.4 sj64:~ # ls -l /usr/X11R6/lib64/libXext* -rw-r--r-- 1 root root 115468 2004-04-05 21:26 /usr/X11R6/lib64/libXext.a lrwxrwxrwx 1 root root 14 2004-10-06 05:21 /usr/X11R6/lib64/libXext.so -> libXext.so.6.4 lrwxrwxrwx 1 root root 14 2004-10-06 02:23 /usr/X11R6/lib64/libXext.so.6 -> libXext.so.6.4 -rwxr-xr-x 1 root root 84052 2004-09-15 05:08 /usr/X11R6/lib64/libXext.so.6.4 If I do an ldconfig -p | grep Xext I get the following: sj64:~ # ldconfig -p | grep Xext libXext.so.6 (libc6,x86-64) => /usr/X11R6/lib64/libXext.so.6 libXext.so.6 (libc6) => /usr/X11R6/lib/libXext.so.6 libXext.so (libc6,x86-64) => /usr/X11R6/lib64/libXext.so so I believe at least the shared libraries are OK. From looking in the Makefile after I run either autoconf.sh or configure I believe the linker is looking for libXext.a in /usr/X11R6/lib instead of in /usr/X11R6/lib64. I've tried installing XFree86-devel-32bit, which installs a 32-bit version of libXext.a in /usr/X11R6/lib, but the linker skips it saying it's not the correct library. Any ideas? Any help is greatly appreciated. More details: sj64:~ # uname -a Linux sj64 2.6.8.1 #7 SMP Tue Oct 5 04:48:07 PDT 2004 x86_64 x86_64 x86_64 GNU/Linux sj64:~ # autoconf --version autoconf (GNU Autoconf) 2.59 Written by David J. MacKenzie and Akim Demaille. sj64:~ # automake --version automake (GNU automake) 1.8.3 Written by Tom Tromey <[EMAIL PROTECTED]>. sj64:~ # libtool --version ltmain.sh (GNU libtool) 1.5.2 (1.1220.2.60 2004/01/25 12:25:08)
Re: [e-users] Evas compile problem on x86_64
On Wed, 6 Oct 2004 15:23:43 -0700 "Steve Jordahl" <[EMAIL PROTECTED]> babbled: (B (B> I'm attempting to compile and install the EFLs on a Suse 9.1 64-bit (B> workstation and I'm hitting an issue when I attempt to compile Evas. (B> Here's the error I'm getting: (B (Bbefore compiling evas (and any other x stuff) you could try doing this before (Byou run configure: (B (Bexport LDFLAGS=-L/usr/X11R6/lib64 (B (Bor (B (Bexport CFLAGS=-L/usr/X11R6/lib64 (B (Bto let it find 64bit libs. (B (Ba note for the wise: (B (B.a files are archive files that contain code to be STATICALLY linked in. they (Bare not used very often. .so files are shared libraries. you need a libBLAH.so (Bsymlink (no version number after the .so) pointing to the major version (B(libBLAH.so.3.0.0 for example) when linking to BLAH for the linker to work. (Bldconfig has nothing to do with compiling and linking code :) so the reason it (Bdoesnt build is efl has no clue it should look in /usr/X11R6/lib64 to link to (Bbuild a 64bit version of evas... i am not sure on the details of 64bit vs 32bit (Bfor x86 and if you can safely build a 64bit app and link to a 32bit lib (or if (Bbinutils lets you). it's liekyl to be evil at best (having to convert a pointer (Bto 64bit mem space to a 32bit one for a 32bit lib that expects 32bit pointers (Bfor example...). so the likely reason it wont link to the X11 32bit libs is you (Bare compiling it in a way that it produces 64bit code and thus MUST link to (B64bit libs, not 32bit libs. (B (B> /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux (B> /bin/ld: cannot find -lXext (B> collect2: ld returned 1 exit status (B> make[4]: *** [libevas.la] Error 1 (B> (B> I believe it's looking for the libXext library. My understanding is (B> that libXext is installed with the XFree86_devel package, which I've got (B> installed. I believe I'm seeing the proper library files installed in (B> the file system. Here are the pertinent listings of my lib directories: (B> (B> sj64:~ # ls -l /usr/X11R6/lib/libXext* (B> lrwxrwxrwx 1 root root14 2004-10-06 02:23 (B> /usr/X11R6/lib/libXext.so.6 -> libXext.so.6.4 (B> -rwxr-xr-x 1 root root 67082 2004-09-15 05:29 (B> /usr/X11R6/lib/libXext.so.6.4 (B> (B> sj64:~ # ls -l /usr/X11R6/lib64/libXext* (B> -rw-r--r-- 1 root root 115468 2004-04-05 21:26 (B> /usr/X11R6/lib64/libXext.a (B> lrwxrwxrwx 1 root root 14 2004-10-06 05:21 (B> /usr/X11R6/lib64/libXext.so -> libXext.so.6.4 (B> lrwxrwxrwx 1 root root 14 2004-10-06 02:23 (B> /usr/X11R6/lib64/libXext.so.6 -> libXext.so.6.4 (B> -rwxr-xr-x 1 root root 84052 2004-09-15 05:08 (B> /usr/X11R6/lib64/libXext.so.6.4 (B> (B> If I do an ldconfig -p | grep Xext I get the following: (B> (B> sj64:~ # ldconfig -p | grep Xext (B> libXext.so.6 (libc6,x86-64) => /usr/X11R6/lib64/libXext.so.6 (B> libXext.so.6 (libc6) => /usr/X11R6/lib/libXext.so.6 (B> libXext.so (libc6,x86-64) => /usr/X11R6/lib64/libXext.so (B> (B> so I believe at least the shared libraries are OK. (B> (B> >From looking in the Makefile after I run either autoconf.sh or configure (B> I believe the linker is looking for libXext.a in /usr/X11R6/lib instead (B> of in /usr/X11R6/lib64. I've tried installing XFree86-devel-32bit, (B> which installs a 32-bit version of libXext.a in /usr/X11R6/lib, but the (B> linker skips it saying it's not the correct library. (B> (B> Any ideas? Any help is greatly appreciated. (B> (B> (B> More details: (B> (B> sj64:~ # uname -a (B> Linux sj64 2.6.8.1 #7 SMP Tue Oct 5 04:48:07 PDT 2004 x86_64 x86_64 (B> x86_64 GNU/Linux (B> (B> sj64:~ # autoconf --version (B> autoconf (GNU Autoconf) 2.59 (B> Written by David J. MacKenzie and Akim Demaille. (B> (B> sj64:~ # automake --version (B> automake (GNU automake) 1.8.3 (B> Written by Tom Tromey <[EMAIL PROTECTED]>. (B> (B> sj64:~ # libtool --version (B> ltmain.sh (GNU libtool) 1.5.2 (1.1220.2.60 2004/01/25 12:25:08) (B> (B> (B (B (B-- (B- Codito, ergo sum - "I code, therefore I am" -- (BThe Rasterman (Carsten Haitzler)[EMAIL PROTECTED] $BMg9%B?(B [EMAIL PROTECTED] (BTokyo, Japan ($BEl5~(B $BF|K\(B) (B (B (B--- (BThis SF.net email is sponsored by: IT Product Guide on ITManagersJournal (BUse IT products in your business? Tell us what you think of them. Give us (BYour Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more (Bhttp://productguide.itmanagersjournal.com/guidepromo.tmpl (B___ (Benlightenment-users mailing list (B[EMAIL PROTECTED] (Bhttps://lists.sourceforge.net/lists/listinfo/enlightenment-users
RE: [e-users] Evas compile problem on x86_64
Thank you for that information. Now I'm past that error with another error I haven't had any luck tracking down. Here's what I get: gcc -o .libs/evas_software_x11_test evas_test_main.o evas_software_x11_main.o -L/usr/X11R6/lib64 ../../src/lib/.libs/libevas.so -lm -L/usr/X11R6/lib -lX11 -lXext ../../src/lib/.libs/libevas.so: undefined reference to `eet_data_image_header_read' ../../src/lib/.libs/libevas.so: undefined reference to `eet_data_image_read' ../../src/lib/.libs/libevas.so: undefined reference to `e_db_open_read' ../../src/lib/.libs/libevas.so: undefined reference to `eet_read' ../../src/lib/.libs/libevas.so: undefined reference to `eet_shutdown' ../../src/lib/.libs/libevas.so: undefined reference to `eet_close' ../../src/lib/.libs/libevas.so: undefined reference to `e_db_close' ../../src/lib/.libs/libevas.so: undefined reference to `eet_init' ../../src/lib/.libs/libevas.so: undefined reference to `eet_open' ../../src/lib/.libs/libevas.so: undefined reference to `e_db_data_get' collect2: ld returned 1 exit status make[4]: *** [evas_software_x11_test] Error 1 make[4]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src/bin' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src/bin' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13' make: *** [all-recursive-am] Error 2 Again, any help is greatly appreciated. Thanx, Steve -Original Message- From: Carsten Haitzler [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 06, 2004 5:28 PM To: Steve Jordahl Cc: [EMAIL PROTECTED] Subject: Re: [e-users] Evas compile problem on x86_64 On Wed, 6 Oct 2004 15:23:43 -0700 "Steve Jordahl" <[EMAIL PROTECTED]> babbled: > I'm attempting to compile and install the EFLs on a Suse 9.1 64-bit > workstation and I'm hitting an issue when I attempt to compile Evas. > Here's the error I'm getting: before compiling evas (and any other x stuff) you could try doing this before you run configure: export LDFLAGS=-L/usr/X11R6/lib64 or export CFLAGS=-L/usr/X11R6/lib64 to let it find 64bit libs. a note for the wise: .a files are archive files that contain code to be STATICALLY linked in. they are not used very often. .so files are shared libraries. you need a libBLAH.so symlink (no version number after the .so) pointing to the major version (libBLAH.so.3.0.0 for example) when linking to BLAH for the linker to work. ldconfig has nothing to do with compiling and linking code :) so the reason it doesnt build is efl has no clue it should look in /usr/X11R6/lib64 to link to build a 64bit version of evas... i am not sure on the details of 64bit vs 32bit for x86 and if you can safely build a 64bit app and link to a 32bit lib (or if binutils lets you). it's liekyl to be evil at best (having to convert a pointer to 64bit mem space to a 32bit one for a 32bit lib that expects 32bit pointers for example...). so the likely reason it wont link to the X11 32bit libs is you are compiling it in a way that it produces 64bit code and thus MUST link to 64bit libs, not 32bit libs. --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ enlightenment-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-users
RE: [e-users] Evas compile problem on x86_64
I got it working. I did a make clean, then ./configure with the new flag information and it compiled just fine. Thanks for your help. Thanx, Steve Steve Jordahl [EMAIL PROTECTED] Systems Development Engineer New Century Mortgage Corporation -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Jordahl Sent: Thursday, October 07, 2004 1:47 PM To: Carsten Haitzler Cc: [EMAIL PROTECTED] Subject: RE: [e-users] Evas compile problem on x86_64 Thank you for that information. Now I'm past that error with another error I haven't had any luck tracking down. Here's what I get: gcc -o .libs/evas_software_x11_test evas_test_main.o evas_software_x11_main.o -L/usr/X11R6/lib64 ../../src/lib/.libs/libevas.so -lm -L/usr/X11R6/lib -lX11 -lXext ../../src/lib/.libs/libevas.so: undefined reference to `eet_data_image_header_read' ../../src/lib/.libs/libevas.so: undefined reference to `eet_data_image_read' ../../src/lib/.libs/libevas.so: undefined reference to `e_db_open_read' ../../src/lib/.libs/libevas.so: undefined reference to `eet_read' ../../src/lib/.libs/libevas.so: undefined reference to `eet_shutdown' ../../src/lib/.libs/libevas.so: undefined reference to `eet_close' ../../src/lib/.libs/libevas.so: undefined reference to `e_db_close' ../../src/lib/.libs/libevas.so: undefined reference to `eet_init' ../../src/lib/.libs/libevas.so: undefined reference to `eet_open' ../../src/lib/.libs/libevas.so: undefined reference to `e_db_data_get' collect2: ld returned 1 exit status make[4]: *** [evas_software_x11_test] Error 1 make[4]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src/bin' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src/bin' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13' make: *** [all-recursive-am] Error 2 Again, any help is greatly appreciated. Thanx, Steve -Original Message- From: Carsten Haitzler [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 06, 2004 5:28 PM To: Steve Jordahl Cc: [EMAIL PROTECTED] Subject: Re: [e-users] Evas compile problem on x86_64 On Wed, 6 Oct 2004 15:23:43 -0700 "Steve Jordahl" <[EMAIL PROTECTED]> babbled: > I'm attempting to compile and install the EFLs on a Suse 9.1 64-bit > workstation and I'm hitting an issue when I attempt to compile Evas. > Here's the error I'm getting: before compiling evas (and any other x stuff) you could try doing this before you run configure: export LDFLAGS=-L/usr/X11R6/lib64 or export CFLAGS=-L/usr/X11R6/lib64 to let it find 64bit libs. a note for the wise: .a files are archive files that contain code to be STATICALLY linked in. they are not used very often. .so files are shared libraries. you need a libBLAH.so symlink (no version number after the .so) pointing to the major version (libBLAH.so.3.0.0 for example) when linking to BLAH for the linker to work. ldconfig has nothing to do with compiling and linking code :) so the reason it doesnt build is efl has no clue it should look in /usr/X11R6/lib64 to link to build a 64bit version of evas... i am not sure on the details of 64bit vs 32bit for x86 and if you can safely build a 64bit app and link to a 32bit lib (or if binutils lets you). it's liekyl to be evil at best (having to convert a pointer to 64bit mem space to a 32bit one for a 32bit lib that expects 32bit pointers for example...). so the likely reason it wont link to the X11 32bit libs is you are compiling it in a way that it produces 64bit code and thus MUST link to 64bit libs, not 32bit libs. --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ enlightenment-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-users --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ enlightenment-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-users
Re: [e-users] Evas compile problem on x86_64
On Thu, 7 Oct 2004 13:46:34 -0700 "Steve Jordahl" <[EMAIL PROTECTED]> babbled: (B (B> Thank you for that information. Now I'm past that error with another (B> error I haven't had any luck tracking down. Here's what I get: (B (Bagain - likely a similar reason. combining both older 32bit style libs and 64bit (Bon the same system. i am not sure what has happened here - but it's not managing (Bto link to libeet.so which you would have compiled earlier. (B (B> gcc -o .libs/evas_software_x11_test evas_test_main.o (B> evas_software_x11_main.o -L/usr/X11R6/lib64 (B> ../../src/lib/.libs/libevas.so -lm -L/usr/X11R6/lib -lX11 -lXext (B> ../../src/lib/.libs/libevas.so: undefined reference to (B> `eet_data_image_header_read' (B> ../../src/lib/.libs/libevas.so: undefined reference to (B> `eet_data_image_read' (B> ../../src/lib/.libs/libevas.so: undefined reference to `e_db_open_read' (B> ../../src/lib/.libs/libevas.so: undefined reference to `eet_read' (B> ../../src/lib/.libs/libevas.so: undefined reference to `eet_shutdown' (B> ../../src/lib/.libs/libevas.so: undefined reference to `eet_close' (B> ../../src/lib/.libs/libevas.so: undefined reference to `e_db_close' (B> ../../src/lib/.libs/libevas.so: undefined reference to `eet_init' (B> ../../src/lib/.libs/libevas.so: undefined reference to `eet_open' (B> ../../src/lib/.libs/libevas.so: undefined reference to `e_db_data_get' (B> collect2: ld returned 1 exit status (B> make[4]: *** [evas_software_x11_test] Error 1 (B> make[4]: Leaving directory (B> `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src/bin' (B> make[3]: *** [all-recursive] Error 1 (B> make[3]: Leaving directory (B> `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src/bin' (B> make[2]: *** [all-recursive] Error 1 (B> make[2]: Leaving directory (B> `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13/src' (B> make[1]: *** [all-recursive] Error 1 (B> make[1]: Leaving directory (B> `/home/jordahl/Documents/downloads/e17/evas-1.0.0_pre13' (B> make: *** [all-recursive-am] Error 2 (B> (B> Again, any help is greatly appreciated. (B> (B> Thanx, (B>Steve (B> (B> -Original Message- (B> From: Carsten Haitzler [mailto:[EMAIL PROTECTED] (B> Sent: Wednesday, October 06, 2004 5:28 PM (B> To: Steve Jordahl (B> Cc: [EMAIL PROTECTED] (B> Subject: Re: [e-users] Evas compile problem on x86_64 (B> (B> On Wed, 6 Oct 2004 15:23:43 -0700 "Steve Jordahl" <[EMAIL PROTECTED]> (B> babbled: (B> (B> > I'm attempting to compile and install the EFLs on a Suse 9.1 64-bit (B> > workstation and I'm hitting an issue when I attempt to compile Evas. (B> > Here's the error I'm getting: (B> (B> before compiling evas (and any other x stuff) you could try doing this (B> before you run configure: (B> (B> export LDFLAGS=-L/usr/X11R6/lib64 (B> (B> or (B> (B> export CFLAGS=-L/usr/X11R6/lib64 (B> (B> to let it find 64bit libs. (B> (B> a note for the wise: (B> (B> .a files are archive files that contain code to be STATICALLY linked in. (B> they are not used very often. .so files are shared libraries. you need a (B> libBLAH.so symlink (no version number after the .so) pointing to the (B> major version (libBLAH.so.3.0.0 for example) when linking to BLAH for (B> the linker to work. (B> ldconfig has nothing to do with compiling and linking code :) so the (B> reason it doesnt build is efl has no clue it should look in (B> /usr/X11R6/lib64 to link to build a 64bit version of evas... i am not (B> sure on the details of 64bit vs 32bit for x86 and if you can safely (B> build a 64bit app and link to a 32bit lib (or if binutils lets you). (B> it's liekyl to be evil at best (having to convert a pointer to 64bit mem (B> space to a 32bit one for a 32bit lib that expects 32bit pointers for (B> example...). so the likely reason it wont link to the X11 32bit libs is (B> you are compiling it in a way that it produces 64bit code and thus MUST (B> link to 64bit libs, not 32bit libs. (B> (B> (B> (B> --- (B> This SF.net email is sponsored by: IT Product Guide on ITManagersJournal (B> Use IT products in your business? Tell us what you think of them. Give us (B> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more (B> http://productguide.itmanagersjournal.com/guidepromo.tmpl (B> ___ (B> enlightenment-users mailing list (B> [EMAIL PROTECTED] (B> https://lists.sourceforge.net/lists/listin