我正在尝试在FreeBSD上编译Erlang,我想要包含odbc许可证。
在Ubuntu上,如果添加unixodbc-dev包,确保使用Erlang编译odbc,但是,我找不到与FreeBSD等效的包。
我已尝试安装unixODBC软件包,以及libodbc ++和libiodbc软件包。这些都不起作用。
我也尝试从unixodbc.org下载unixodbc并安装它,但无济于事。
所以,如果有一个我可以使用的软件包,或者我应该从源代码下载并编译,我到目前为止还没有找到解决方案。
有关需要安装哪些软件包或需要采取哪些步骤以确保ODBC使用Erlang进行编译的任何想法?
注意:这是使用FreeBSD 9.1-Release和Erlang R16B02
答案 0 :(得分:0)
从查看包文件列表,unixODBC
应该是正确的包。
从编译Erlang的位置查看lib/odbc/config.log
内部。我说(在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
。
答案 1 :(得分:0)
Erlang可以使用unixODBC或libiodbc。
从端口安装Erlang时应该可以正常工作。首先,确保您的端口树是最新的,例如与portsnap
。
登录或su
到root。然后转到/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选项。然后以root身份运行命令make install clean
。这应该构建和安装Erlang及其所有依赖项。
编辑:如果您不想使用端口,请确保在编译erlang之前安装了databases/unixODBC
或databases/libiodbc
,然后使用{{1使用erlang的--with-odbc
选项,它应该可以正常工作。这就是港口的作用。