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, это должно работать нормально. Это то, что делает порт.

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