【发布时间】:2014-06-04 15:41:49
【问题描述】:
我昨天安装了 Ubuntu 14.04 (Trusty 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
当我使用 Ubuntu 12.04 (Precise Pangolin) 时,我曾经 apt-get install ia32-libs。但我所知道的是,自 Ubuntu 13.10 (Saucy Salamander) 以来,Ubuntu 已经删除了 ia32-libs。我该如何解决这个问题?
【问题讨论】:
-
检查 Ubuntu 的多架构信息。您可以将 :i386 附加到包名称以安装它的 32 位版本。
-
我确实有这个问题,我需要 ia32-libs 来运行 fortinet vpn 客户端,它在 10.04 LTS 和 12.04 LTS 下完美运行。我尝试了 'sudo apt-get install ia32-libs:i386' 但不起作用,我还安装了 'lib32z1 lib32ncurses5 lib32bz2-1.0' 软件包但它们不起作用。
-
@javaPhobic 我决定安装 ubuntu12.04(32bit)。关于我的问题,我得到了一些答案。它们不是我的钥匙,但可以帮助你。 1.您可以尝试make clean然后再次make您的代码。 2.您可以尝试安装整个 ia32-libs,就像 Mike Tang 的回答一样。 3.你可以尝试在你的代码中添加`-m32`,例如:
gcc -m32 helloworld.c。祝你好运。 -
这应该是服务器故障。
-
我投票结束这个问题,因为它是关于 linux 库的位置。虽然切线关于编程,但解决方案将更多是linux配置答案,而不是编程答案。