如何安装带有头文件的 Xaw 包?

如何安装带有头文件的 Xaw 包?

我在 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 安装 libxaw7-dev

看起来你正在从源代码构建软件,并且你正在构建的软件不是 Xaw 本身,而是用途Xaw 通过链接反对。

要构建链接到库的软件,您必须安装该库的头文件(您的错误消息 - “找不到所需的 Xaw 头文件 Box.h” - 告诉您您没有)。

在 Ubuntu 中,头文件由单独的包提供,其名称以 结尾-dev。在这种情况下,您需要libxaw7-dev 安装 libxaw7-dev.(您还需要libxaw7 安装 libxaw7,但如果你还没有安装,它会在你安装相应的-dev包时自动安装。相比之下,安装将要不是自动安装其-dev包。

您可以安装libxaw7-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 libxawsudo 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 安装 xaw3dg-devxpaint-dev 安装 xpaint-dev包。

相关内容