Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I could compile programs from source easily by make when I was using FC3, the 32 bit one. But on FC3 x86_64 I always get the same error when I try to compile with make:
ld: Relocatable linking with relocations from format elf32-i386 (/home/blash/blah) to format elf64-x86-64 (/home/blash/blah) is not supported.
But I have seen compiled forms of such programs... so it is possible to compile from source... but how?
To compile to 64bit binaries the libraries you are linking against must also be 64bit. Make sure you have a 64bit version of the library(s) installed that you are trying link against.
I don't know exactly FC3_64 because I am using Suse9.3_64 which has YAST - anyhow, Check that you have gcc, glibc and Kernel source all 64-bit editions installed from your DVD? The only slightly problematical hiccup you might encounter is that sometimes the lib64 directory is not found by some packages that install from binaries and/or src .tar.gz downloads.
Let me know what error messages you get with ./configure, make and/or make install.
Here's an example of compiling from source and not suceed, but not the only example:
Code:
Checking if all requirements are met... ok.
mkdir -p ./symbols
for i in ./ath_hal ath_rate/onoe ./net80211 ./ath; do \
(cd $i; make) || exit 1; \
done
make[1]: Entering directory `/root/madwifi/ath_hal'
make -C /lib/modules/2.6.11-1.27_FC3/build SUBDIRS=/root/madwifi/ath_hal MODVERDIR=/root/madwifi/ath_hal/../symbols modules
make[2]: Entering directory `/lib/modules/2.6.11-1.27_FC3/build'
LD [M] /root/madwifi/ath_hal/ath_hal.o
ld: Relocatable linking with relocations from format elf32-i386 (/root/madwifi/ath_hal/hal.o) to format elf64-x86-64 (/root/madwifi/ath_hal/ath_hal.o) is not supported
make[3]: *** [/root/madwifi/ath_hal/ath_hal.o] Error 1
make[2]: *** [_module_/root/madwifi/ath_hal] Error 2
make[2]: Leaving directory `/lib/modules/2.6.11-1.27_FC3/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/madwifi/ath_hal'
make: *** [all] Error 1
Seems like `/lib/modules/2.6.11-1.27_FC3/build' is the kernel source directory... I am not too sure though, this is the content of that directory:
Code:
total 372
drwxr-xr-x 25 root root 4096 May 31 18:05 arch
drwxr-xr-x 4 root root 4096 May 31 18:05 crypto
drwxr-xr-x 47 root root 4096 May 31 18:05 drivers
drwxr-xr-x 54 root root 4096 May 31 18:05 fs
drwxr-xr-x 15 root root 4096 May 31 18:05 include
drwxr-xr-x 2 root root 4096 May 31 18:05 init
drwxr-xr-x 2 root root 4096 May 31 18:05 ipc
drwxr-xr-x 4 root root 4096 May 31 18:05 kernel
drwxr-xr-x 5 root root 4096 May 31 18:05 lib
-rw-r--r-- 1 root root 43483 May 18 10:34 Makefile
drwxr-xr-x 2 root root 4096 May 31 18:05 mm
-rw-r--r-- 1 root root 200455 May 18 10:34 Module.symvers
drwxr-xr-x 33 root root 4096 May 31 18:05 net
drwxr-xr-x 10 root root 4096 May 31 18:05 scripts
drwxr-xr-x 4 root root 4096 May 31 18:05 security
drwxr-xr-x 16 root root 4096 May 31 18:05 sound
drwxr-xr-x 2 root root 4096 May 31 18:05 usr
gcc4 shouldn't be a problem, since the command gcc invokes gcc3 compiler while gcc4 command would invoke gcc4 compiler... and this is configured properly in this case, for madwifi.
If you hover a cursor over the 'build' directory using a File Manager - Super User Mode with View hidden files (this is what I use) you should see
properties that show a link to something like: /usr/src/linus-2.6.11.4-20a-obj/x86_64/default (that is what I get).
I agree wrt gcc4 (it shouldn't be an issue, but uninstalling it does no harm and eliminates any possible package compilation problems being triggered by its presence).
I am surprised by the size of your makefile (as listed under your 'build' directrory) since mine is only 330 bytes - all it appears to do (in my case) is set
When you quoted an example of compiling from source, that didn't succeed, where exactly in the process did this occur?
Am I correct in assuming that you are starting with a tar.gz (or the like thereof) rather than an .rpm? All I can find in my copy of Red Hat Linux Bible (for Fedora and
Enterprise Edition) is that you should run:
# ./configure -prefix=/usr
# make all after reading the INSTALL or README file and finding a make.in file in the untarred directory
Originally posted by minrich
If you hover a cursor over the 'build' directory using a File Manager - Super User Mode with View hidden files (this is what I use) you should see
properties that show a link to something like: /usr/src/linus-2.6.11.4-20a-obj/x86_64/default (that is what I get).
Is that the same as ll -a?
Code:
[root@localhost ~]# ll -a /lib/modules/2.6.11-1.27_FC3/build/
total 440
drwxr-xr-x 17 root root 4096 May 31 18:05 .
drwxr-xr-x 5 root root 4096 May 31 20:50 ..
drwxr-xr-x 25 root root 4096 May 31 18:05 arch
-rw-r--r-- 1 root root 49001 May 18 10:34 .config
drwxr-xr-x 4 root root 4096 May 31 18:05 crypto
drwxr-xr-x 47 root root 4096 May 31 18:05 drivers
drwxr-xr-x 54 root root 4096 May 31 18:05 fs
drwxr-xr-x 15 root root 4096 May 31 18:05 include
drwxr-xr-x 2 root root 4096 May 31 18:05 init
drwxr-xr-x 2 root root 4096 May 31 18:05 ipc
drwxr-xr-x 4 root root 4096 May 31 18:05 kernel
drwxr-xr-x 5 root root 4096 May 31 18:05 lib
-rw-r--r-- 1 root root 43483 May 18 10:34 Makefile
drwxr-xr-x 2 root root 4096 May 31 18:05 mm
-rw-r--r-- 1 root root 200455 May 18 10:34 Module.symvers
drwxr-xr-x 33 root root 4096 May 31 18:05 net
drwxr-xr-x 10 root root 4096 May 31 18:05 scripts
drwxr-xr-x 4 root root 4096 May 31 18:05 security
drwxr-xr-x 16 root root 4096 May 31 18:05 sound
drwxr-xr-x 2 root root 4096 May 31 18:05 usr
I don't see any links...
Quote:
I am surprised by the size of your makefile (as listed under your 'build' directrory) since mine is only 330 bytes - all it appears to do (in my case) is set
When you quoted an example of compiling from source, that didn't succeed, where exactly in the process did this occur?
Nothing much really, I just used to "make" command... when I was in 32-bit in the past, all I had to do is make; make install;
Quote:
Am I correct in assuming that you are starting with a tar.gz (or the like thereof) rather than an .rpm? All I can find in my copy of Red Hat Linux Bible (for Fedora and
Enterprise Edition) is that you should run:
# ./configure -prefix=/usr
# make all after reading the INSTALL or README file and finding a make.in file in the untarred directory
If there is an Imake file, try running:
# xmkmf -a
# make all
If there is a Make file, try running:
# make all
Hope this helps
Well yes I did have a .tar.gz; but yea... do you have any other ideas? I don't have much experience in Linux so yea...
I don't even know what the problem is... is it the distro? Kernel? Kernel source? Compiler? The way the source was written?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.