Skip to content
Paul Ruane edited this page Dec 8, 2016 · 5 revisions

Querying files gives a syntax error about RECURSIVE

This suggests the version of Sqlite3 you have installed is older than that required by TMSU, as TMSU makes use of recursive queries that were only supported from version 3.8.3.

  • Upgrade to Sqlite3 version 3.8.3 or later.

Accessing the virtual filesystem results in invalid ELF header errors

This either indicates that you have a corrupt library on your system or that a 32-bit process is trying to load a 64-bit shared library.

  • Check the files reported are not corrupt.
  • Check the settings at /etc/ld.so.config do not override where the linker looks for shared libraries.
  • Likewise check the contents of the LD_LIBRARY_PATH environment variable.

Parser stack overflow when querying the files

This is a Sqlite3 error that indicates that the SQL parser has built up a stack that is over its maximum limit. By default the maximum limit is 100 items which you are unlikely to hit in practice unless you are performing some very complex queries.

If you do hit this problem, it is possible to use a bigger stack by changing value in the Sqlite3 source code:

  • Edit $GOPATH/src/github.com/mattn/go-sqlite3/sqlite3.c
  • Search for the line #define YYSTACKDEPTH 100 and change the 100 to a larger number.
  • Recompile go-sqlite3 by running go install github.com/mattn/go-sqlite3
  • Recompile and reinstall TMSU by running make && sudo make install from the TMSU source directory.