FreeBSD эквивалентно unixodbc-dev
Я пытаюсь скомпилировать Erlang на FreeBSD и хочу включить лицензии odbc.
В Ubuntu, если вы добавите пакет unixodbc-dev, который гарантирует, что odbc будет скомпилирован с Erlang, я не могу найти пакет, который эквивалентно работает с FreeBSD.
Я попытался установить пакет unixODBC и libodbC++ с пакетами libiodbc. Ни одна из этих работ.
Я также пытался скачать unixodbc с unixodbc.org и установить его, но безрезультатно.
Так что, если есть пакет, который я могу использовать, или если я должен загрузить что-то из исходного кода и скомпилировать, мне пока не удалось найти решение.
Любые идеи о том, какие пакеты должны быть установлены или какие шаги необходимо предпринять, чтобы ODBC был скомпилирован с Erlang?
Примечание: это с FreeBSD 9.1-Release и Erlang R16B02
2 ответа
Посмотрев на список файлов пакета, unixODBC
должен быть правильный пакет.
Загляни внутрь lib/odbc/config.log
откуда вы собрали Erlang. Мой говорит (на Debian):
configure:4913: checking for odbc in standard locations
configure:4939: result: -L/usr/lib
"Стандартные места" /usr/local/odbc /usr/local /usr/odbc /usr /opt/local/pgm/odbc /usr/local/pgm/odbc
и скрипт настройки ищет include/sql.h
ниже одного из этих каталогов. Если ваш установлен в другом каталоге, попробуйте указать --with-odbc=/some/path
в скрипт настройки.
Erlang может использовать unixODBC или libiodbc.
Это должно работать при установке Erlang из портов. Во-первых, убедитесь, что ваше дерево портов обновлено, например, portsnap
,
Логин или su
к корню. Затем перейдите к /usr/ports/lang/erlang
и запустить make config
, Вы должны увидеть следующий экран:
┌─────────────────────────── erlang-15.b.03.1_1,3 ─────────────────────────────┐
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │+[x] DOCS Build and/or install documentation │ │
│ │+[ ] DTRACE Enable DTrace support (experimental) │ │
│ │+[ ] GCC Use current GCC │ │
│ │+[ ] GS Enable GS application (deprecated) │ │
│ │+[ ] HIPE Build native HiPE compiler │ │
│ │+[ ] JAVA Java platform support │ │
│ │+[x] KQUEUE Enable Kernel Poll (kqueue) support │ │
│ │+[ ] ODBC ODBC backend │ │
│ │+[x] OPENSSL SSL/TLS support via OpenSSL │ │
│ │+[x] SCTP Enable SCTP support │ │
│ │+[x] SMP Enable SMP support │ │
│ │+[x] THREADS Threading support │ │
│ │+[ ] WX Enable WX application │ │
│ │─────────────────────────────── ODBC backend ─────────────────────────────│ │
│ │+( ) IODBC ODBC backend via iODBC │ │
│ │+( ) UNIXODBC ODBC backend via unixODBC │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├──────────────────────────────────────────────────────────────────────────────┤
│ < OK > <Cancel> │
└──────────────────────────────────────────────────────────────────────────────┘
Выберите вариант IOBDC или UNIXODBC. Затем запустите команду make install clean
как корень. Это должно собрать и установить Erlang и все его зависимости.
Изменить: если вы не хотите использовать порты, убедитесь, что у вас есть либо databases/unixODBC
или же databases/libiodbc
установить перед компиляцией erlang, а затем использовать --with-odbc
вариант с эрлангом configure
, это должно работать нормально. Это то, что делает порт.