无需 sudo 即可在安装过程中识别 X 库

无需 sudo 即可在安装过程中识别 X 库

我正在尝试安装程序(HTK),但之后./configure(没有给出错误)make all抱怨/usr/bin/ld: cannot find -lX11。这是一个众所周知的问题据称可以通过 解决sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6.3.0 /usr/lib32/libX11.so。但是,我们不想使用sudo。有没有办法在本地完成此操作?

xorg-dev 等都已安装。(遗憾的是,HTK 只是半免费的,因此在任何存储库中都找不到它。)

答案1

如果安装了 xorg-dev,您应该有一个名为 /usr/lib/i386-linux-gnu/libX11.so 的文件(或者在 64 位上为 /usr/lib/x86_64-linux-gnu/libX11.so,但 HTK 即使在 64 位平台上也会以 32 位进行编译,除非您对其进行修补,因此无论如何都会使用 i386-linux-gnu/libX11.so)

--x-libraries然后你可以使用选项./configure

./configure --x-libraries=/usr/lib/i386-linux-gnu/

./configure加上您需要的任何其他选项(./configure --help有关选项的更多选项和信息请参阅)

或者,这也可以起作用:

ln -s /usr/lib/i386-linux-gnu/libX11.so.6.3.0 ~/lib/libX11.so

如果还不够,./configure请使用选项重新运行--x-libraries

./configure --x-libraries=~/lib

作为轶事附注:我刚刚下载了 htk-3.4.1,./configure && make运行起来没有问题。/usr/lib/i386-linux-gnu/libX11.so 和 /usr/lib/x86_64-linux-gnu/libX11.so 中都有 libX11.so,但 /usr/lib32 中没有符号链接。我使用 gcc 4.6.3,使用的是 ubuntu 12.04 64 位,但 HTK 使用-m32gcc 选项进行编译(即以 32 位模式编译)

./configure说:

检查 -lX11 中的主要内容...是的。

file HTKTools/HInit返回:

HTKTools/HInit:ELF 32 位 LSB 可执行文件

相关内容