我昨天安装了Ubuntu 14.04 (可信赖的Tahr)。一切看起来都很好。但是当我尝试编译一些C代码时,我遇到了以下错误。该错误似乎是由于操作系统缺少32位体系结构支持。错误输出如下:
/usr/bin/ld: i386 architecture of input file `./libsc.a(ftl_msg.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `./libsc.a(libsc_debug.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `./libsc.a(libsc_str.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `./libsc.a(libsc_cfg_common.o)' is incompatible with i386:x86-64 output
当我使用Ubuntu12.04(精确穿山甲)时,我习惯于使用apt-get install ia32-libs
。但我所知道的是,Ubuntu已经从Ubuntu 13.10 (Saucy Salamander)中删除了ia32-libs。我如何解决这个问题?
发布于 2014-07-30 18:10:03
安装gcc多重库。
sudo apt-get install gcc-multilib
发布于 2014-04-26 14:55:24
我终于得到它了!这是我的方法,我希望它能帮助你:)
sudo apt-get install libc6:i386
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
rm /etc/apt/sources.list.d/ia32-libs-raring.list
apt-get update
exit
sudo apt-get install gcc-multilib
我不知道为什么我需要安装这些,但它可以在我的电脑上工作。安装完这些包后,就可以开始尝试了。哦,是的,我要告诉你。这一次,当您想要编译代码时,应该在gcc
之后添加-m32
,例如:gcc -m32 -o hello helloworld.c
。又是make clean
和make
。祝你好运,朋友们。
PS:我的环境是: Ubuntu 14.04 64位(可信赖的Tahr)和GCC 4.8.4版本。我已经在我的博客中写了解决方案,但它是用中文写的:-) - How to compass 32bit programm under ubuntu14.04。
发布于 2014-08-22 09:31:45
这些替代的库对我来说很有效:
sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6
https://stackoverflow.com/questions/23182765
复制相似问题