Skip to contentSkip to conversation

package/erlang: add optional dependency to unixodbc

PATCH New Bernd Kuhls 3 participants 3 messages Oct 23, 2016 – Oct 25, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/erlang: add optional dependency to unixodbc

Quote from erlang configure without unixodbc:

checking for odbc in standard locations... no
configure: WARNING: No odbc library found skipping odbc
configure: WARNING: "ODBC library - header check failed"
configure: WARNING: "ODBC library - link check failed"

Quote from erlang configure with unixodbc:

checking for odbc in standard locations... -L/home/buildroot/br3_couchdb/output/host/usr/i586-buildroot-linux-uclibc/sysroot/usr/lib checking for SQLAllocHandle in -lodbc... yes

To check for unixodbc support used by erlang use readelf:

$ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/erlang/lib/odbc-2.11.1/priv/bin/odbcserver | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libodbc.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]

Tested using this minimal defconfig:

BR2_PACKAGE_ERLANG=y
BR2_PACKAGE_ERLANG_SMP=y
BR2_PACKAGE_UNIXODBC=y

---
 package/erlang/erlang.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/erlang/erlang.mk +4 -0
index 6efffde..c9d7b22 100644
@@ -55,6 +55,10 @@ else
 ERLANG_CONF_OPTS += --without-ssl
 endif
 
+ifeq ($(BR2_PACKAGE_UNIXODBC),y)
+ERLANG_DEPENDENCIES += unixodbc
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 ERLANG_CONF_OPTS += --enable-shared-zlib
 ERLANG_DEPENDENCIES += zlib
Signature · 1 line
2.9.3
#1 lore raw

PATCH 1/1 package/erlang: add optional dependency to unixodbc

Quoted 18 lines · Bernd Kuhls

Quote from erlang configure without unixodbc:

checking for odbc in standard locations... no
configure: WARNING: No odbc library found skipping odbc
configure: WARNING: "ODBC library - header check failed"
configure: WARNING: "ODBC library - link check failed"

Quote from erlang configure with unixodbc:

checking for odbc in standard locations... -L/home/buildroot/br3_couchdb/output/host/usr/i586-buildroot-linux-uclibc/sysroot/usr/lib checking for SQLAllocHandle in -lodbc... yes

To check for unixodbc support used by erlang use readelf:

$ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/erlang/lib/odbc-2.11.1/priv/bin/odbcserver | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libodbc.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]
Quoted 6 lines

Tested using this minimal defconfig:

BR2_PACKAGE_ERLANG=y
BR2_PACKAGE_ERLANG_SMP=y
BR2_PACKAGE_UNIXODBC=y

Looks good to me. I tried it out by running Erlang, starting the odbc application and running a couple functions against it to see that it would call into the library fine. I didn't connect to a database, but I could tell that it was interacting with the unixodbc library based on the error messages. If something changes and you need to test it again, I think this is sufficient:

# erl
Eshell V7.3  (abort with ^G)
1> odbc:start().
ok
2> odbc:connect("DSN=sql-server;UID=aladdin;PWD=sesame", []).
{error,"[unixODBC][Driver Manager]Data source name not found, and no
default driver specified SQLSTATE IS: IM002 Connection to database
failed."}
Quoted 27 lines
---
 package/erlang/erlang.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/erlang/erlang.mk +4 -1
index 6efffde..c9d7b22 100644
@@ -55,6 +55,10 @@ else
 ERLANG_CONF_OPTS += --without-ssl
 endif
 
+ifeq ($(BR2_PACKAGE_UNIXODBC),y)
+ERLANG_DEPENDENCIES += unixodbc
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 ERLANG_CONF_OPTS += --enable-shared-zlib
 ERLANG_DEPENDENCIES += zlib
--

2.9.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 4 lines
Frank Hunleth
Troodon Software LLC
Embedded Software Development
http://troodon-software.com/
#2 lore raw

PATCH 1/1 package/erlang: add optional dependency to unixodbc

In reply to Bernd Kuhls

Hello,

Quoted 20 lines · Bernd Kuhls

Quote from erlang configure without unixodbc:

checking for odbc in standard locations... no
configure: WARNING: No odbc library found skipping odbc
configure: WARNING: "ODBC library - header check failed"
configure: WARNING: "ODBC library - link check failed"

Quote from erlang configure with unixodbc:

checking for odbc in standard locations... -L/home/buildroot/br3_couchdb/output/host/usr/i586-buildroot-linux-uclibc/sysroot/usr/lib checking for SQLAllocHandle in -lodbc... yes

To check for unixodbc support used by erlang use readelf:

$ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/erlang/lib/odbc-2.11.1/priv/bin/odbcserver | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libodbc.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]

Tested using this minimal defconfig:

Quoted 8 lines

BR2_PACKAGE_ERLANG=y
BR2_PACKAGE_ERLANG_SMP=y
BR2_PACKAGE_UNIXODBC=y

---
 package/erlang/erlang.mk | 4 ++++
 1 file changed, 4 insertions(+)

Applied to master, thanks. Thanks a lot Frank for the Tested-by!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com