Ответ
Misha v.3 19.01.2009 11:39
/ 19.01.2009 11:46
- перед сборкой драйвера парсер собирать не обязательно, там важен лишь путь кажется к одному файлу. у вас расположение каталожек правильное, соотв. нужный include должен найтись. к тому-же вы говорили, что парсер у вас не собирается, для чего тогда вы вообще запускали ./build...?
- по умолчанию нужные include-ы mysql-я отсутствуют и они появляются кажется лишь после configure mysql или либы (последнее я не проверял).
- в log-е проверьте, этот ли путь к include-ам mysql-я действительно использовался при сборке драйвера
- не думаю, что проблема из-за разницы версий mysql-я. клиентская либа меняется не так часто, и если бы они вдруг меняли API, они наверняка бы сменили что-нить кроме минорной цифры в версии mysql-я
- можно попробовать ручками повторить комманду сборки драйвера, чтобы принудительно заставить его собраться static (кажется с этим на freebsd до сих пор проблемы). или, другой вариант, как рекомендует Sumo, использовать ключ --with-dynamic-stdcpp при сборке _parser_. важно: и дррайвер и parser оба должны быть собраны одинаково: или оба static или оба dynamic (мы собираем static, понять как собрался доайвер можно по размеру, если я не ошибаюсь, то dynamic получается в районе 30 КБ, а static в районе 60 КБ. после strip конечно)
P.S. для сборки драйвера в static на freebsd надо:
./configure ...
make
копируем последнюю выданную строку и добавляем в неё перед '-o .libs/...' следующее:
'-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic'
хотя я не особый спец в этом, возможно с gmake нужен другой бубен.