Вопрос Идентифицировать X libs во время установки из источника без sudo


Я пытаюсь установить программу (НТК) из источника, но после ./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 et al. установлены. (К сожалению, HTK только полубесплатно, поэтому он не найден ни в каких репозиториях.)


2
2018-06-02 16:15


происхождения




ответы:


Если xorg-dev установлен, у вас должен быть файл с именем /usr/lib/i386-linux-gnu/libX11.so (или /usr/lib/x86_64-linux-gnu/libX11.so на 64-разрядной версии, но HTK компилируется в 32-битном режиме даже на 64-битной табличке, если вы не исправляете ее, поэтому в любом случае используется 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, и я нахожусь на ubuntu 12.04 64-bit, но HTK скомпилирован с -m32 опция gcc (т. е. скомпилировать в 32-битном режиме)

./configure сказал:

проверка на main -lX11 ... да.

а также file HTKTools/HInit вернулся:

HTKTools / HInit: 32-разрядный исполняемый файл LSB ELF


2
2017-07-29 09:43