Как мне сделать это «установить: вам может понадобиться запустить ldconfig»

11

Мне нужно установить readline на сервере Linux. так как у меня нет доступа к sudo, я попробовал эту инструкцию. И я попал в проблему.

Я установил Readline с помощью ./configure, make, make install. В конце это спроси меня install: you may need to run ldconfig.

Mehrshad
источник

Ответы:

12

Я установил readline с помощью ./configure, make, make install. В конце это спроси меня install: you may need to run ldconfig.

Так что вам просто нужно запустить команду

sudo ldconfig

Что такое ldconfig

ldconfig - это программа, которая используется для поддержки кэша общей библиотеки. Этот кэш обычно хранится в файле /etc/ld.so.cacheи используется системой для сопоставления имени общей библиотеки с расположением соответствующего файла общей библиотеки.

man ldconfig

 ldconfig - configure dynamic linker run-time bindings

DESCRIPTION
       ldconfig  creates,  updates,  and removes the necessary links and cache
       (for use by the run-time linker,  ld.so)  to  the  most  recent  shared
       libraries  found  in  the directories specified on the command line, in
       the file /etc/ld.so.conf, and in the trusted directories (/usr/lib  and
       /lib).   ldconfig  checks the header and file names of the libraries it
       encounters when determining which  versions  should  have  their  links
       updated.  ldconfig ignores symbolic links when scanning for libraries.

Для получения дополнительной информации смотрите: Что-делает-ldconfig-do?


ОБНОВЛЕНИЕ: решение для -bash: ldconfig: command not found

Как сказано в комментариях ниже , когда вы запускали echo $PATHдает

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

while ldconfigнаходится внутри / sbin, который находится за пределами PATH, поэтому вам нужно либо выполнить команды по абсолютному пути, /sbin/ldconfigлибо исправить его.

Чтобы исправить ваш PATH, сделайте следующее:

gedit ~/.bashrc

добавить строку

export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin

Теперь сохраните и выйдите из исходного кода .bashrc

source .bashrc

Так что теперь вы можете использовать команды напрямую

Maythux
источник
Я запускаю эти команды на сервере, и у меня нет доступа с правами root. Невозможно запустить sudo ldconfig, и когда я выполнил команду ldconfig, он сказал -bash: ldconfig: команда не найдена
Mehrshad
выход ldconfig --version?
Maythux
-bash: ldconfig: команда не найдена
Mehrshad
какой вывод командыecho $PATH
Maythux
/ usr / local / bin: / usr / bin: / bin: / usr / local / games: / usr / games
Mehrshad