Я пытаюсь установить программу (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 только полусвободен, таким образом, это не найдено ни в каком repos.)
Если xorg-dev установлен, необходимо назвать файл/usr/lib/i386-linux-gnu/libX11.so (или/usr/lib/x86_64-linux-gnu/libX11.so на 64-разрядном, но компиляции HTK в 32-разрядном даже на 64-разрядной plateform, если Вы не исправляете его, таким образом, это 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
работавший без проблемы. У меня есть libX11.so и в/usr/lib/i386-linux-gnu/libX11.so и в/usr/lib/x86_64-linux-gnu/libX11.so но никакая символьная ссылка в/usr/lib32. Я использую gcc 4.6.3, и я нахожусь на 64-разрядной человечности 12.04, но HTK, скомпилированный с -m32
опция gcc (т.е. компиляция в 32-разрядном режиме)
./configure
сказанный:
проверка основное в-lX11... да.
и file HTKTools/HInit
возвращенный:
HTKTools/HInit: ELF 32-разрядный исполняемый файл LSB