Parece que você está tentando vincular bibliotecas de 32 bits em sistemas de 64 bits e compilar programas como 64 bits. A solução mais fácil é usar bibliotecas de 64 bits (recompilá-las) ou usar o sistema de 32 bits.
Eu estava tentando instalar uma biblioteca chamada htk.
Depois de baixar e extrair os arquivos de origem, eu corro
sudo LDFLAGS="-L /usr/lib/x86_64-linux-gnu" ./configure
sob o diretório raiz do htk.Em seguida, digitei
sudo make all
e recebi este erro:
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
Alguém sabe como resolver esse problema?
Obrigado antecipadamente.
Parece que você está tentando vincular bibliotecas de 32 bits em sistemas de 64 bits e compilar programas como 64 bits. A solução mais fácil é usar bibliotecas de 64 bits (recompilá-las) ou usar o sistema de 32 bits.