我正在 32 位 Ubuntu 12.10 上构建 32 位 boost 线程库。构建时我收到错误
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
我在谷歌上搜索了这个问题,并阅读了这个问题看来我需要安装 libc6-dev-i386。但是,运行时sudo apt-get install libc6-dev-i386
我得到:
Package libc6-dev-i386 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libc6-dev-i386' has no installation candidate
有人能帮我找到这个包裹吗?
编辑,更多信息:
我不确定这是否相关,但uname -m -p -i
给出了i686 i686 i686
。
ls /usr/include/gnu/
给出libc-version.h lib-names.h option-groups.h stubs-64.h stubs.h
。
ls /usr/include/i386-linux-gnu/gnu
给出libc-version.h lib-names.h option-groups.h stubs-32.h stubs.h
。
我添加/usr/include/i386-linux-gnu
了$PATH
但没有帮助,当我尝试构建 32 位 boost 线程库时仍然出现相同的错误。
更多信息:
我现在已尝试使用 Ubuntu 12.04,得到了完全相同的行为。此安装uname -i
提供i386
。
答案1
这可能不是正确的解决方案,但它会为您下载软件包。
在 中输入“软件源” dash
,并将服务器更改为"Main server"
。这是因为有些(其中一个可能是您的)不在其服务器上维护软件包。请参阅下图,其中显示源更改为“主服务器”。然后执行 ,sudo apt-get update
然后sudo apt-get install libc6-dev-i386
。重复,这不是正确的解决方案,但可能会为您下载软件包。