Я устанавливаю IRAF
на новой машине, и когда я пытаюсь запуститься xgterm
, Я получаю сообщение об ошибке:
xgterm: error while loading shared libraries: libXmu.so.6: cannot open shared object file: No such file or directory
Однако пакет, который содержит эту библиотеку, libXmu6
, и установлен и актуален.
Любая справка ценилась бы.
Существует две вещи, которые можно попробовать: (i) устанавливают -dev
пакет библиотеки - например, sudo apt-get install libxmu-dev
или (ii) если Вы используете установку на 32 бита IRAF в машине на 64 бита, устанавливаете библиотеку на 32 бита, например, sudo apt-get install libxmu6:i386
Если установка dev пакета не работает, Вам, вероятно, придется экспортировать его в переменную LD_LIBRARY_PATH.
Можно найти его с find / -iname libXmu.so.6 -print 2>/dev/null
, в моем случае это было в /usr/lib/x86_64-linux-gnu/libXmu.so.6
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libXmu.so.6/lib:${LD_LIBRARY_PATH}
NB, если $LD_LIBRARY_PATH
переменная пуста в запуске, который необходимо опустить lib...
вперед.
Это не изменило ситуацию для меня, и на этом совете я работал sudo apt-get install ia32-libs
на который работавший, в известной степени, теперь изменяя мое сообщение об ошибке
error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory
(т.е. номер 4 не 6)
Это может быть установлено с sudo apt-get install libxm4
, результирующее местоположение, найденное с find / -iname libXm.so.4 -print 2>/dev/null
, и добавил к $LD_LIBRARY_PATH
с (например, для моего результата)
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libXm.so.4/lib:${LD_LIBRARY_PATH}
Значение мой LD_LIBRARY_PATH
был /usr/lib/x86_64-linux-gnu/libXm.so.4/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6
Это не изменило сообщение об ошибке, просящее libXm.so.4 как бы то ни было. Для этой библиотеки (то, которое я вижу, там с, располагаются...), я установил OpenMotif (не уверенный, если это необходимо),
sudo apt-get install libmotif-dev
И в конечном счете изображенный требование пакета на 32 бита будет работать с libXmu.so.6 библиотеками после установки ia32-libs
, но поскольку libXm.so.4 нужно явное объявление 32-разрядного состояния при помощи ссылок в/usr/lib/i386-linx-gnu папка. Это было ясно, когда я работал:
/usr/lib/i386-linux-gnu $ ls ../*/libXm*
(показывающий особенно только ../i386-linux-gnu/libXmu.so.6
), таким образом, я создал одну такую ссылку с:
sudo ln -s /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4 /usr/lib/i386-linux-gnu/libXm.so.4
Мне затем удалось совершенствоваться к следующему сообщению об ошибке (woohoo!), как упомянуто на других страницах справки:
error while loading shared libraries: libXm.so.4: wrong ELF class: ELFCLASS64
... который был нечетен, так как это - то, куда я только что поместил ссылку... Эта страница предложила обходное решение, но я не мог установить libx3motif.deb как amd64
повреждает зависимость (и я не собирался пойти, удаляя решающие компоненты как этот ради этого).
Этот ответ выделяет потребность иметь 32-разрядный пакет ранее в $LD_LIBRARY_PATH
чем на 64 бита.
export LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/libXm.so.4/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6
Это ничего не изменило. Я пытался копировать файл в i386
папка и перенаправление ссылки
sudo cp /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4 /usr/lib/i386-linux-gnu/libXm.so.4.0.4
sudo ln -fs /usr/lib/i386-linux-gnu/libXm.so.4.0.4 /usr/lib/i386-linux-gnu/libXm.so.4
( -f
отметьте перенастройку сил, т.е. Вы не имеете к rm
и ремейк)
Я боролся с этим на некоторое время дольше (не совсем уверенный, чем последняя капля была) до нахождения успеха с этим в моем .bashrc:
export LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/libXm.so.4/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6
Так, это - доказательство, что Вам не нужны установленные пакеты на 32 бита, только для указания на символьные ссылки в папке lib на 32 бита к пакетам на 64 бита... Извините за TMI, но просто могло бы быть полезно для любого всунутое будущее