Как я заканчиваю установку программы из источника?

Я скомпилировал sqlite3 от исходного кода, версии 3.6.16. Я использовал --prefix=/usr/bin как моя единственная опция компиляции.

Двоичные файлы скомпилированы и установлены правильно, но в каталоге /usr/bin/sqlite3/bin. Таким образом, приложение находится в /usr/bin/sqlite3/bin/sqlite3.

Теперь, как делают я "говорю Linux", что sqlite3 установлен на там? Таким образом, когда я работаю which sqlite3 это распечатало бы /usr/bin/sqlite3/bin/sqlite3?

Мне нужна эта версия конкретно sqlite3 для компиляции RubyGem; sqlite3-ruby, v1.3.0 или выше.

Я предполагаю, что буду добавлять a PATH или что-то к моему ~/.profile и затем выполнение source .profile перезагружать изменения. Что "говорит Linux", где приложения установлены к названному? symlinks?

2
задан 1 June 2011 в 00:05

2 ответа

Как правило, при компиляции источника, я использовал бы что-то подобное следующему:

--prefix=/usr

Я подозреваю, что это поместит все, где Вы ожидаете, что это будет.

1
ответ дан 2 December 2019 в 03:22

Попытайтесь редактировать ~/.bashrc включать эту строку:

export PATH=$PATH:/usr/bin/sqlite3/bin/

Другой способ обойтись без изменения пути состоит в том, чтобы создать символьную ссылку:

sudo ln -s /usr/bin/sqlite3/bin/sqlite3 /usr/local/bin/sqlite3

Знайте это, если Вы установили sqlite3пакет, его исполняемый файл будет конфликтовать с Вашей недавно скомпилированной версией. Вы оказываетесь перед необходимостью работать /usr/bin/sqlite3/bin/sqlite3 явно.

BTW, с помощью --prefix=/usr/bin поскольку опция компиляции не является очень хорошей идеей, я рекомендовал бы --prefix=/usr/local вместо этого.

2
ответ дан 2 December 2019 в 03:22

Другие вопросы по тегам:

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