Как мне закончить установку программы из исходного кода?
Я скомпилировал 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 или выше.
Я предполагаю, что буду добавлять PATH
или что-то мое ~/.profile
а затем работает source .profile
перезагрузить изменения. Что значит "рассказывать Linux", где установлены приложения, для вызова? symlinks
?
2 ответа
Обычно при компиляции исходного кода я использовал бы что-то похожее на следующее:
--prefix=/usr
Я подозреваю, что это расставит все по своим местам.
Попробуйте редактировать ~/.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
в явном виде.
Кстати, используя --prefix=/usr/bin
как вариант компиляции не очень хорошая идея, я бы порекомендовал --prefix=/usr/local
вместо.