Создание модуля Apache C, проблема с подключением SQLite - PullRequest
1 голос
/ 07 декабря 2009

Немного поиграем с этим, но не слишком далеко ...

Логика моего кода SQLite работает, если я скомпилирую его как отдельный исполняемый файл.

Мой mod_hello.c компилирует и загружает / прекрасно работает без кода SQLite

. Сочетая эти два, модуль компилируется и устанавливается, но процесс apache умирает немедленно при каждой загрузке.Эта проблема связана с удалением всего кода SQLite и простым связыванием с SQLite.Другими словами, с тем же кодом:

apxs -cia -L/usr/local/lib -I/home/devin mod_hello.c 
/* Works Fine, prints "hello world" */

apxs -cia -L/usr/local/lib -I/home/devin -lsqlite3 mod_hello.c 
/* compiles but dies on apache load */

Платформа - OpenBSD 4.6 с версией платформы Apache 1.3 и SQLite 3.6.20, загруженной с сайта SQLite и скомпилированной из источника

Ответы [ 2 ]

1 голос
/ 08 декабря 2009

Проблема была связана с моей загрузкой SQLite и компиляцией - когда я удалил все эти файлы и установил пакет OpenBSD для SQLite, он работал нормально. Таким образом, для библиотеки SQLite необходимы некоторые специфичные для платформы настройки компиляции. Лучше всего использовать пакеты, я думаю.

- Девин

0 голосов
/ 07 декабря 2009

Обычно, когда это происходит, либо libsqlite3.so отсутствует в LD_ LIBRARY_PATH, либо libsqlite3.so не совсем то, на что вы хотите сослаться, то есть, например, есть. libsqlite3.1.so, на который вы хотите сослаться. Поэтому я советую проверить пути загрузки, убедиться, что libsqlite3.so есть, и проверить, есть ли где-нибудь libsqlite3.x.so, на который вам, возможно, придется ссылаться. (-lsqlite3.x вместо -lsqlite3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...