安装 htk 时出现“/usr/bin/ld: 在搜索 -lX11 时跳过不兼容的 /usr/lib/x86_64-linux-gnu/libX11.so”错误

安装 htk 时出现“/usr/bin/ld: 在搜索 -lX11 时跳过不兼容的 /usr/lib/x86_64-linux-gnu/libX11.so”错误

我正在尝试安装一个名为 htk 的库。

下载并解压源文件后,我运行

sudo  LDFLAGS="-L /usr/lib/x86_64-linux-gnu" ./configure  

在 htk 的根目录下。然后我输入

sudo make all 

并收到此错误:

a - HModel.o
a - HNet.o
a - HParm.o
a - HRec.o
a - HShell.o
a - HSigP.o
a - HTrain.o
a - HUtil.o
a - HVQ.o
a - HWave.o
a - strarr.o
ranlib HTKLib.a
make[1]: Leaving directory `/home/rosfuerte/Desktop/hw2_1/htk/HTKLib'
(cd HTKTools && make all) \
      || case "" in *k*) fail=yes;; *) exit 1;; esac;
make[1]: Entering directory `/home/rosfuerte/Desktop/hw2_1/htk/HTKTools'
if [ ! -d /usr/local/bin -a X_ = X_yes ] ; then mkdir -p /usr/local/bin ; fi
if [ xHSLab = xHSLab ] ; then \
        gcc -o HSLab -m32 -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="x86_64"' -Wall -Wno-switch -g -O2 -I../HTKLib -DPHNALG HSLab.c ../HTKLib/HTKLib.a -L/usr/X11R6/lib -L /usr/lib/x86_64-linux-gnu -lm -lX11 ; \
        else \
        gcc -o HSLab -m32 -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="x86_64"' -Wall -Wno-switch -g -O2 -I../HTKLib -DPHNALG HSLab.c ../HTKLib/HTKLib.a -L/usr/X11R6/lib -L /usr/lib/x86_64-linux-gnu -lm ; fi
HSLab.c: In function 「FileExists」:
HSLab.c:1209:12: Warning: variable 「isEXF」 set but not used [-Wunused-but-set-variable]
HSLab.c: In function 「DoSpecial」:
HSLab.c:1596:13: Warning: ignoring return value of 「system」, declared with attribute warn_unused_result [-Wunused-result]
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.a when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libX11.so when searching for -lX11
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libX11.a when searching for -lX11
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.a when searching for -lc
collect2: ld returned 1
make[1]: *** [HSLab] Error 1
make[1]: Leaving directory `/home/rosfuerte/Desktop/hw2_1/htk/HTKTools'
make: *** [htktools] Error 1

有谁知道如何解决这个问题?

提前致谢。

答案1

看起来您正试图在 64 位系统上链接 32 位库并将程序编译为 64 位。最简单的解决方案是使用 64 位库(重新编译它们)或使用 32 位系统。

相关内容