我在 Ubuntu 14.04 上遇到此错误:
checking for X... libraries , headers /usr/include/X11/
configure: error: Cannot find required Xaw header file Box.h; PDCurses cannot be configured
我该如何修复它?
答案1
总结 通过运行安装缺少的包
sudo apt-get install libxaw7-dev
ubuntu 软件包的命名方式是有规律的...有用的功能是能够搜索库...你需要带有头文件的 Xax...给出头文件的软件包通常以-dev
...结尾,在终端搜索时输入:
apt-cache search Xaw # libraries tend to start with lib and end with dev
在这里我把这些限制都放在同一行
apt-cache search Xaw | grep lib | grep -i Xaw | grep dev
输出
libxaw7-dev - X11 Athena Widget library (development headers)
libxaw3dxft8-dev - Extended version of Xaw3d with support for UTF8 (Development files)
从上面列出的最接近的...中选择
libxaw7-dev # desired package - starts with lib has xaw ends with dev
因此发出此命令来安装
sudo apt-get install libxaw7-dev
安装完成后,发出此命令列出包中包含的所有文件(查看头文件)
dpkg -L libxaw7-dev # -L flag only works for installed package
显示已安装软件包的版本问题
dpkg -l libxaw7-dev
输出
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=================-============-============-===============================================
ii libxaw7-dev:amd64 2:1.0.13-1 amd64 X11 Athena Widget library (development headers)
答案2
似乎还没有接受的答案...所以让我们尝试一下:在我的 Ubuntu 开箱即用机器上,首先我安装带有标题的必要开发包:
sudo apt-get install libxaw7-dev
然后我需要告诉./configure
脚本这些开发文件的正确位置。在我的计算机上,这是/usr/lib/x86_64-linux-gnu
。您可以从 获得apt-cache show libxaw7
。了解这些知识后,调用
./configure --x-libraries=/usr/lib/x86_64-linux-gnu
答案3
总结:安装libxaw7-dev 。
看起来你正在从源代码构建软件,并且你正在构建的软件不是 Xaw 本身,而是用途Xaw 通过链接反对。
要构建链接到库的软件,您必须安装该库的头文件(您的错误消息 - “找不到所需的 Xaw 头文件 Box.h” - 告诉您您没有)。
在 Ubuntu 中,头文件由单独的包提供,其名称以 结尾-dev
。在这种情况下,您需要libxaw7-dev .(您还需要libxaw7 ,但如果你还没有安装,它会在你安装相应的-dev
包时自动安装。相比之下,安装它将要不是自动安装其-dev
包。
您可以安装libxaw7-dev 在软件中心,或者运行:
sudo apt-get update
sudo apt-get install libxaw7-dev
虽然你不必libxaw7
明确安装,但你可能希望这样做,这样就不会自动移除如果该-dev
包稍后被卸载,且没有其他包声明依赖性就可以了。(一般来说,包管理器不知道您从源代码手动构建和安装的软件。)如果您希望这样做,请将第二行替换为:
sudo apt-get install libxaw7-dev libxaw7
或者只需运行sudo apt-get install libxaw
或sudo apt-mark manual libxaw7
(如果您已经安装了)libxaw7-dev
。
对于这个特定的库 ( libxaw7
),很容易猜出提供其头文件的包的名称libxaw7-dev
。有时,这并不容易。在这种情况下,或者通常要找出哪个官方 Ubuntu 包提供了文件(您知道其文件名),您可以搜索Ubuntu 软件包数据库,在“搜索包裹内容”下。
这表明许多软件包都提供了具有该名称或类似名称的文件。但是,只有一个搜索结果提供了 Xaw 的头文件:libxaw7-dev
(该文件为/usr/include/X11/Xaw/Box.h
。)
该搜索结果其他两个相关包提供的其他相关头文件,我认为你不需要,因为你的错误消息说“找不到所需的沙乌标题”(而不是三维动画或者Xaw3dxft)。但是,如果您需要这些相关的库Box.h
文件,它们由xaw3dg-dev 和xpaint-dev 包。