You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current configuration of the core library relies on sqlite3 which in turn relies on CGO and libc. This significantly reduces the portability of the Linux version of the released binaries. Specifically, the packaged version cannot be run on Ubuntu 18.04 because of a mismatch in the libc version.
Proposal
Change the sqlite3 dependency from using github.com/mattn/go-sqlite3 to modernc.org/sqlite. This should remove the libc runtime dependency and make the core library (and released binaries) significantly more portable across Linux distributions.
Concerns
Dependencies on recent features of sqlite: This should not be a significant concern as the new dependency makes a concerted effort to stay up to date with upstream sqlite.
Performance: The Go version of sqlite is not as performant as the CGO version in general. However, the database transactions are not generally on the critical path of cmgr functionality and shouldn't be a significant concern.
The text was updated successfully, but these errors were encountered:
As an additional advantage, this may make it easier to add experimental support for Windows containers/challenges. The last time I looked at it, there are some implicit POSIX assumptions but it mostly worked.
Issue
The current configuration of the core library relies on
sqlite3
which in turn relies onCGO
andlibc
. This significantly reduces the portability of the Linux version of the released binaries. Specifically, the packaged version cannot be run on Ubuntu 18.04 because of a mismatch in thelibc
version.Proposal
Change the
sqlite3
dependency from usingjackfan.us.kg/mattn/go-sqlite3
tomodernc.org/sqlite
. This should remove thelibc
runtime dependency and make the core library (and released binaries) significantly more portable across Linux distributions.Concerns
sqlite
: This should not be a significant concern as the new dependency makes a concerted effort to stay up to date with upstreamsqlite
.cmgr
functionality and shouldn't be a significant concern.The text was updated successfully, but these errors were encountered: