Я больше не вижу вывода емкостно-резистивных сценариев

Преамбула:[112317] Как видно из вопроса, openssl по умолчанию устанавливает в [112318]/usr/local/ssl[112319]. Я рекомендую использовать [112320]./config --prefix=/usr/local shared[112321] (обратите внимание на пробел перед "shared"), чтобы установить его туда (и построить общую библиотеку, [112322]libssl[112323]), а не в свой собственный закрытый подкаталог. Если вы этого не сделаете, вам придется добавить файл в [112324]/etc/ld.so.conf.d[112325] с [112326]/usr/local/ssl/lib[112327] (значение [112328]/etc/ld.so.conf см. ниже. d[112329] файлов), и добавьте [112330]/usr/local/bin[112331] в [112332]$PATH[112333].

Вам нужно запустить [112334]ldconfig[112335] после того, как [112336] сделает install[112337], чтобы добавить библиотеки в кэш компоновщика. Если это не сработает, прочтите дальше.

make install[112339] вероятно по умолчанию перешел к [112340]/usr/local[112341], который [112342]должен иметь приоритет, но может и нет. Таким образом, вы можете оставить установку openssl на вашем дистрибутиве, чтобы избежать путаницы с менеджером пакетов и пререквизитами, но все равно используйте по умолчанию вашу собственную локально собранную версию. Чтобы проверить:

Если вы не получили результат, ваш [112344]ssh[112345] был статически скомпонован и нуждается в перекомпоновке (см. ответ Антона). В противном случае, это должно указывать на вашу [112346]/usr/local[112347] версию. Если это указывает на что-то другое:

/usr/local[112349] должна быть показана версия [112348]/usr/local[112349], но после какой-то другой. Если это так, пропустите "/usr/local/lib не имеет приоритета" ниже. Если нет, то убедитесь, что [112350]/usr/local[112351] находится в пути компоновщика в целом:

Если нет, то [112352]grep -r "/usr/local" /etc/ld.so.conf.d[112353]. Если этого нет, добавьте файл в [112354]/etc/ld.so.conf.d[112355] с именем [112356]00-local.conf[112357] одной строкой:

ls /tmp

Запустите [112358]ldconfig[112359] (без переключателей) и пройдите через него еще раз.

ls /temp 

/usr/local/lib не имеет приоритета

 ls /temp

Найдите конфигурационный файл кэша компоновщика, в который добавлен путь:

Если его там нет, вам придется добавить файл, как описано выше. Если это так, то проблема в том, что файлы обрабатываются лексикографически. Например, если содержимое [112360]/etc/ld.so.conf.d[112361]:

export HISTCONTROL=ignoredups
export HISTCONTROL=ignoreboth

И [112362]libc.conf[112363] содержит [112364]/usr/local/lib[112365], но [112366]addtheselibraries.conf[112367] содержит, например, [112368]/usr/lib[112369],[112370]1[112371], то последняя будет иметь приоритет. Если файл [112372]/usr/local/lib[112373] больше ничего не содержит, просто переименуйте его с чем-нибудь, что заменит другие файлы; числа идут первыми, так что [112374]000 - что бы ни было [112375], это хорошо.

Поскольку вы полностью контролируете [112376]/usr/local/lib[112377], он [112378]должен иметь приоритет над любыми путями, используемыми менеджером пакетов дистрибутива (и обычно имеет приоритет).

1. /usr/lib по умолчанию компилируется в компоновщик, но в него и в другие стандартные системные места (/lib и т.д.) добавляется [112627]последний[112628], что позволяет их вытеснить. Поэтому иногда (например) [112629]/usr/lib[112630] добавляется в .conf файл, чтобы заставить его заменить какой-либо другой .conf файл.

2
04.05.2014, 10:05
1 ответ
[115606] У меня была похожая проблема с моим FreeBSD livecd - на некоторых компьютерах не было вывода rc скриптов.

$ ln -s ~/dotfiles/bashrc ~/.bashrc
Проблема была связана с опцией ядра "dcons_crom", которая присутствовала в конфигурации ядра. Когда эта опция включена, вывод консоли перенаправляется на порт FireWire, если он присутствует. Когда я удалил эту опцию из конфигурации ядра, проблема исчезла.

Может быть, у вашей проблемы тот же источник.[115611].

0
27.01.2020, 23:01

Теги

Похожие вопросы