Использование berkeleydb в Ubuntu - библиотека db не найдена
Я пытаюсь скомпилировать AC программу, используя библиотеку Berkeley DB (libdb) на Ubuntu, но программа не связывает - GCC сообщает об отсутствии dbopen
ссылка.
db_ops.c:(. text + 0x5c): неопределенная ссылка на `dbopen' collect2: ld вернул 1 состояние выхода make: * [cdrutil] Ошибка 1
Это сводит меня с ума, потому что похоже, что библиотека db v4.8 установлена (но я не знаю, где благодаря блестящему управлению пакетами в Ubuntu)
Эти пакеты перечислены с помощью apt-cache showpkg:
- libdb4.8-DEV
- libdb4o8.0-CIL
- libdb4.8
и моя командная строка компилятора:
gcc -D_FILE_OFFSET_BITS = 64 -ldb -o cdrutil main.c cdr_ops.c db_ops.c
(я пробовал также -ldb4.8, -ldb-4.8 и несколько других, но безуспешно)
ПОМОГИТЕ мне люди - как установить эту убогую библиотеку в Ubuntu? И почему это не работает из коробки, это какая-то ракетостроение или что?
1 ответ
Хорошо, я нашел ответ: функция dbopen поддерживалась в старых версиях Berkeley db. Теперь вы должны использовать DB->open. Страницы руководства Ubuntu в этом отношении устарели.