我正在尝试编译源代码,但收到许多错误,表明我的系统缺少头文件
checking sys/ioccom.h usability... no
checking sys/ioccom.h presence... no
checking for sys/ioccom.h... no
checking sys/sockio.h usability... no
checking sys/sockio.h presence... no
checking for sys/sockio.h... no
checking for net/pfvar.h... no
checking for linux/wireless.h... no
checking bluetooth/bluetooth.h usability... no
checking bluetooth/bluetooth.h presence... no
checking for bluetooth/bluetooth.h... no
所以,我开始认为我错过了一些重要的包裹
你能帮我列一下吗?
我有 Ubuntu 12.04 LTS、2.6.28-17 内核和 gcc 版本 4.6.3,我正在尝试编译这个包http://nrg.cs.ucl.ac.uk/mptcp/mptcp_userland_0.1.tar.gz
提前致谢
答案1
缺少标头和库
如果您尚未在计算机上安装库,以下是 Ubuntu 系统上的库:
ioccom.h
- 库:freebsd-glue
函数库
- lib:linux-headers-generic
无线.h和sockios配置文件
- lib: linux-libc-dev
蓝牙.h
- lib:libbluetooth-dev
要安装软件包:
sudo apt-get install freebsd-glue libbluetooth-dev linux-headers-generic linux-libc-dev
答案2
我使用过find / -iname 'wireless.h'
的例子,发现大多数头文件都在那里,但编译器没有找到它们
所以我将它们复制到/usr/include/
目录中并且运行良好
答案3
使用定位命令
例如,如果你想找到ioccom.h系统上使用的标头:
locate -b '\ioccom.h'
在数据库中搜索此文件名。这样您就可以获得路径等信息,前提是这些标头位于您的机器上。
也许您之前还需要更新数据库:
sudo updatedb
这就是我搜索标题位置的方法。它比使用 find 命令快得多。