gonic version: v0.16.4
docker tag: latest
Actually this is irrelevant to issue, but nevermind.
Building go-sqlite3 statically is very easy, just pass -ldflags '-linkmode external -extldflags "-static"' to go build
taglib requires static rebuild and some code changes, but nothing very hard
Firstly we need to build taglib as static library: pass -DBUILD_SHARED_LIBS=OFF to cmake (this is confusing, but disabling shared libraries enables static :/)
Static zlib is also needed, which is not always bundled with system package (on alpine use zlib-static)
Needed code change is at https://github.com/sentriz/audiotags/blob/master/audiotags.go#L25: add zlib to pkg-config
gonic version: v0.16.4 docker tag: latest Actually this is irrelevant to issue, but nevermind.
Building go-sqlite3 statically is very easy, just pass
-ldflags '-linkmode external -extldflags "-static"'
togo build
taglib requires static rebuild and some code changes, but nothing very hard Firstly we need to build taglib as static library: pass
-DBUILD_SHARED_LIBS=OFF
tocmake
(this is confusing, but disabling shared libraries enables static :/) Static zlib is also needed, which is not always bundled with system package (on alpine usezlib-static
) Needed code change is at https://github.com/sentriz/audiotags/blob/master/audiotags.go#L25: addzlib
to pkg-configFinal build command is:
ldd
shows:(whole process was made in
alpine
docker image)I didn't send PR because this is mostly untested (at least i could build it statically)