Использование 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 в этом отношении устарели.

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