Обновите sqlite3 до пользовательского пакета
У меня есть сервер под управлением centos7 с sqlite3, установленным с использованием Yum/ RPM. По умолчанию пакет sqlite не скомпилирован с расширением JSON1, которое мне нужно. Расширение можно включить, когда пакет скомпилирован с использованием флага -DSQLITE_ENABLE_JSON1
Поработав над ним целый день, мне удалось найти исходные файлы RPM, обновить спецификацию, чтобы она скомпилировалась с флагом, и перекомпилировать ее в новый пакет. Теперь я могу бежать rpm -U current-sqlite-package.rpm custom-sqlite-package.rpm
и обновить до моего пользовательского пакета. И yum, и rpm говорят, что пакет, но когда я запускаю /user/bin/sqlite3 --version
это все еще старая версия.
Как мне перейти на мой пользовательский пакет? Как пакеты yum/rpm связаны с программным обеспечением в /user/bin?
1 ответ
Текущие версии SQLite3 поддерживают загрузку расширения времени выполнения. Таким образом, вы можете просто загрузить и скомпилировать расширение JSON1 в виде отдельного файла .so и загрузить его через
.load ~/path/to/json1.so
Это позволит вам получать обновления для SQLite через менеджер пакетов по умолчанию, и вам не нужно будет пересобирать его самостоятельно.