Вам не хватает 32-битного пакета libc dev:
В Ubuntu она называется libc6-dev-i386 - do sudo apt-get install libc6-dev-i386
. Ниже приведены дополнительные инструкции для Ubuntu 12.04.
На дистрибутивах Red Hat , имя пакета glibc-devel.i686
(благодаря комментарию Дэвида Гарднера).
Вкл. CentOS 5.8 , имя пакета glibc-devel.i386
(благодаря комментарию ДжимКлека).
Вкл. CentOS 6/7 , имя пакета glibc-devel.i686
.
На SLES он называется glibc-devel-32bit - do zypper in glibc-devel-32bit
.
Вкл. Gentoo он называется sys-libs/glibc
- сделать emerge -1a sys-libs/gcc
[ source ] (Примечание: можно использовать equery
, чтобы подтвердить, что это правильно; сделайте equery belongs belongs /usr/include/gnu/stubs-32.h
)
На ArchLinux , имя пакета: lib32-glibc
- do pacman -S lib32-glibc
.
Используете ли вы Ubuntu 12.04 ? Существует известная проблема, которая помещает файлы в нестандартное местоположение . Вам нужно будет также сделать:
export LIBRARY_PATH=/usr/lib/$(gcc -print-multiarch)
export C_INCLUDE_PATH=/usr/include/$(gcc -print-multiarch)
export CPLUS_INCLUDE_PATH=/usr/include/$(gcc -print-multiarch)
где-то перед сборкой (скажем, в вашем .bashrc).
Если вы также компилируете код C ++, вам также понадобится 32-битная библиотека stdc ++. Если вы видите это предупреждение:
.... / usr / bin / ld: не удается найти -lstdc ++ ....
На Ubuntu вам нужно будет сделать sudo apt-get install g++-multilib
На CentOS 5 вам нужно будет сделать yum install libstdc++-devel.i386
На CentOS 6 вам нужно будет сделать yum install libstdc++-devel.i686
Пожалуйста, не стесняйтесь редактировать в пакетах для других систем.