homeseer 3 hs3 .net c# mono sqlite3 sqlite

Solving sqlite3 column database name error(s)

Running HS3 on osx has issues showing its logs. The console displays following error:

[Error]->GetLog Error: sqlite3_column_database_name16

It looked like a typical mono on mac issue, and easily resolved by recompiling the sqlite binary with the SQLITE_ENABLE_COLUMN_METADATA directive. It’s not a specific homeseer problem, it’s applicable to all mono on mac users using System.Data.SQLite.dll

  • Be sure to have all developer tools installed
  • Download source code from sqlite.org (should be sqlite-autoconf-*.tar.gz)
  • Unzip

Compile with correct options, i386 arch was needed because mono was still compiled with x86 architecture.

./configure CFLAGS='-arch x86_64 -arch i386 -DSQLITE_ENABLE_COLUMN_METADATA=1' && make

The resulted .libs/libsqlite3.0.dylib is identified as :

libsqlite3.0.dylib: Mach-O universal binary with 2 architectures: [x86_64: Mach-O 64-bit dynamically linked shared library x86_64] [i386]

… and can then be copied in the same folder as the mono application, in our case the homeseer folder.

Restart the application, problem should be solved :-).