I'm trying to compile a program for 32 bit on a 64 bit Kali Linux operating system.
Here is my system information:
root@kali:~/Desktop# cat /proc/version
Linux version 3.18.0-kali3-amd64 (debian-kernel@lists.debian.org) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Debian 3.18.6-1~kali2 (2015-03-02)
When I try to compile my C project, it cannot find -lgcc:
root@kali:~/Desktop/Project# make
cc -o libor libor.c -fno-stack-protector -z execstack -m32 -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
Note that I'm using the -m32 flag to force compilation for 32 bit.
Like suggested elsewhere, the 32 bit libraries should be installed which I did using the following command:
sudo apt-get install libc6-dev-i386
This however only changed the error message to the one seen above. I lost the previous one however I guess it no longer matters.
Please note that existing answers didn't help me so this is not a duplicate.
Aucun commentaire:
Enregistrer un commentaire