New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
app-containers/{lxd,podman}: Fix build on musl 1.2.4 #31890
Conversation
Pull Request assignmentSubmitter: @vimproved app-containers/lxd: @juippis, @gentoo/virtualization Linked bugsIn order to force reassignment and/or bug reference scan, please append Docs: Code of Conduct ● Copyright policy (expl.) ● Devmanual ● GitHub PRs ● Proxy-maint guide |
Pull request CI reportReport generated at: 2023-07-15 03:00 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't look like this is enough for lxd,
# github.com/mattn/go-sqlite3
sqlite3-binding.c: In function 'seekAndRead':
sqlite3-binding.c:35915:49: error: unknown type name 'off64_t'; did you mean 'off_t'?
35915 | #define osPread64 ((ssize_t(*)(int,void*,size_t,off64_t))aSyscall[10].pCurrent)
| ^~~~~~~
sqlite3-binding.c:38777:11: note: in expansion of macro 'osPread64'
38777 | got = osPread64(id->h, pBuf, cnt, offset);
| ^~~~~~~~~
sqlite3-binding.c:35915:58: error: expected ')' before 'aSyscall'
35915 | #define osPread64 ((ssize_t(*)(int,void*,size_t,off64_t))aSyscall[10].pCurrent)
| ~ ^~~~~~~~
sqlite3-binding.c:38777:11: note: in expansion of macro 'osPread64'
38777 | got = osPread64(id->h, pBuf, cnt, offset);
| ^~~~~~~~~
sqlite3-binding.c: In function 'seekAndWriteFd':
sqlite3-binding.c:35933:57: error: unknown type name 'off64_t'; did you mean 'off_t'?
35933 | #define osPwrite64 ((ssize_t(*)(int,const void*,size_t,off64_t))\
| ^~~~~~~
sqlite3-binding.c:38906:17: note: in expansion of macro 'osPwrite64'
38906 | do{ rc = (int)osPwrite64(fd, pBuf, nBuf, iOff);}while( rc<0 && errno==EINTR);
| ^~~~~~~~~~
sqlite3-binding.c:35934:21: error: expected ')' before 'aSyscall'
35934 | aSyscall[13].pCurrent)
| ^~~~~~~~
sqlite3-binding.c:38906:17: note: in expansion of macro 'osPwrite64'
38906 | do{ rc = (int)osPwrite64(fd, pBuf, nBuf, iOff);}while( rc<0 && errno==EINTR);
| ^~~~~~~~~~
sqlite3-binding.c:35933:21: note: to match this '('
35933 | #define osPwrite64 ((ssize_t(*)(int,const void*,size_t,off64_t))\
| ^
sqlite3-binding.c:38906:17: note: in expansion of macro 'osPwrite64'
38906 | do{ rc = (int)osPwrite64(fd, pBuf, nBuf, iOff);}while( rc<0 && errno==EINTR);
| ^~~~~~~~~~
/usr/lib/go/pkg/tool/linux_amd64/buildid -w $WORK/b420/_pkg_.a # internal
I get the exact same error with podman.
Side-note you should split the PR based on maintainers, but I see @zmedico is on devaway and can merge this on his behalf once the package compiles.
My bad. I'll keep that in mind for the future.
Will fix. |
Closes: https://bugs.gentoo.org/906073 Signed-off-by: Violet Purcell <vimproved@inventati.org>
Closes: https://bugs.gentoo.org/905996 Signed-off-by: Violet Purcell <vimproved@inventati.org>
77962fc
to
c4c349f
Compare
Replaced the patch with a much simpler fix from mattn/go-sqlite3#1177 |
Pull request CI reportReport generated at: 2023-07-15 20:10 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lxd seems fine now, but podman still fails. It's hard to get an exact error though, but seems related to that go-sqlite3:
cd /var/tmp/portage/app-containers/podman-4.5.0-r1/work/podman-4.5.0/vendor/github.com/mattn/go-sqlite3
TERM='dumb' x86_64-gentoo-linux-musl-gcc -I . -fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=$WORK/b840=/tmp/go-build -gno-record-gcc-switches -I $WORK/b840/ -O2 -g -std=gnu99 -DSQLITE_ENABLE_RTREE -DSQLITE_THREADSAFE=1 -DHAVE_USLEEP=1 - DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_TRACE_SIZE_LIMIT=15 -DSQLITE_OMIT_DEPRECATED -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT -Wno-deprecated-declarations -DHAVE_PREAD=1 -DHAVE_PWRITE=1 -I/var/tmp/portage/app-containers/podman-4. 5.0-r1/work/podman-4.5.0/vendor/github.com/mattn/go-sqlite3 -o $WORK/b840/_x012.o -c sqlite3_opt_unlock_notify.c
cd $WORK/b840
TERM='dumb' x86_64-gentoo-linux-musl-gcc -I /var/tmp/portage/app-containers/podman-4.5.0-r1/work/podman-4.5.0/vendor/github.com/mattn/go-sqlite3 -fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=$WORK/b840=/tmp/go-build -gno-record-gcc-switches -I ./ - O2 -g -std=gnu99 -DSQLITE_ENABLE_RTREE -DSQLITE_THREADSAFE=1 -DHAVE_USLEEP=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_TRACE_SIZE_LIMIT=15 -DSQLITE_OMIT_DEPRECATED -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT -Wno-deprecated- declarations -DHAVE_PREAD=1 -DHAVE_PWRITE=1 -I/var/tmp/portage/app-containers/podman-4.5.0-r1/work/podman-4.5.0/vendor/github.com/mattn/go-sqlite3 -o ./_cgo_main.o -c _cgo_main.c
cd /var/tmp/portage/app-containers/podman-4.5.0-r1/work/podman-4.5.0
TERM='dumb' x86_64-gentoo-linux-musl-gcc -I ./vendor/github.com/mattn/go-sqlite3 -fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=$WORK/b840=/tmp/go-build -gno-record-gcc-switches -o $WORK/b840/_cgo_.o $WORK/b840/_cgo_main.o $WORK/b840/_x001.o $WORK/ b840/_x002.o $WORK/b840/_x003.o $WORK/b840/_x004.o $WORK/b840/_x005.o $WORK/b840/_x006.o $WORK/b840/_x007.o $WORK/b840/_x008.o $WORK/b840/_x009.o $WORK/b840/_x010.o $WORK/b840/_x011.o $WORK/b840/_x012.o -O2 -g -ldl
TERM='dumb' /usr/lib/go/pkg/tool/linux_amd64/cgo -dynpackage sqlite3 -dynimport $WORK/b840/_cgo_.o -dynout $WORK/b840/_cgo_import.go
cat >/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b840/importcfg << 'EOF' # internal
# import config
packagefile context=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b002/_pkg_.a
packagefile crypto/sha1=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b108/_pkg_.a
packagefile crypto/sha256=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b109/_pkg_.a
packagefile crypto/sha512=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b098/_pkg_.a
packagefile database/sql=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b702/_pkg_.a
packagefile database/sql/driver=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b299/_pkg_.a
packagefile errors=/var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/d2/d2a9a13d7be0ccc626f478fd5149c77c508cf0715f03b7e850cf458ae90638ca-d
packagefile fmt=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b038/_pkg_.a
packagefile io=/var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/2f/2ff1b4726bb7e4ea99f90d67dc3f36f20727525448c735fd334e40b81111dd90-d
packagefile math=/var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/23/2346025e1d8e9d21a59e23ef72f55076126df10a9d292b21af4c329ec98ac7c9-d
packagefile net/url=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b071/_pkg_.a
packagefile reflect=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b036/_pkg_.a
packagefile runtime=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b008/_pkg_.a
packagefile strconv=/var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/9d/9d93a2a5206ee514191f5704e90c46e9a37477a1e575bd51661db86ee16080af-d
packagefile strings=/var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/7e/7eda8e5bde2cd1be7b06c3d34afeb302a3dc0e7e691c5063a1940cb9ec253bd2-d
packagefile sync=/var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/97/97527e42fe70ddba387c691d324c3789079e353c2b0e4d7c0d51d95c65279418-d
packagefile syscall=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b023/_pkg_.a
packagefile time=/var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/da/dad455d8b3731a955fc04d70954f9a5a37decaa9b4509562ddec18c44ad326ec-d
packagefile runtime/cgo=/var/tmp/portage/app-containers/podman-4.5.0-r1/temp/go-build302938212/b068/_pkg_.a
EOF
/usr/lib/go/pkg/tool/linux_amd64/compile -o $WORK/b840/_pkg_.a -trimpath "$WORK/b840=>" -p github.com/mattn/go-sqlite3 -lang=go1.16 -installsuffix shared -buildid SmnICbbmwbKX5X4dQGER/SmnICbbmwbKX5X4dQGER -goversion go1.20.6 -shared -c=4 -nolocalimports -importcfg $WORK/b840/ importcfg -pack ./vendor/github.com/mattn/go-sqlite3/convert.go ./vendor/github.com/mattn/go-sqlite3/doc.go ./vendor/github.com/mattn/go-sqlite3/sqlite3_func_crypt.go ./vendor/github.com/mattn/go-sqlite3/sqlite3_go18.go ./vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate. go ./vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate_omit.go $WORK/b840/_cgo_gotypes.go $WORK/b840/backup.cgo1.go $WORK/b840/callback.cgo1.go $WORK/b840/error.cgo1.go $WORK/b840/sqlite3.cgo1.go $WORK/b840/sqlite3_context.cgo1.go $WORK/b840/sqlite3_load_extension.cgo1.go $WORK/b840/sqlite3_opt_userauth_omit.cgo1.go $WORK/b840/sqlite3_other.cgo1.go $WORK/b840/sqlite3_type.cgo1.go $WORK/b840/_cgo_import.go
cd /var/tmp/portage/app-containers/podman-4.5.0-r1/work/podman-4.5.0/vendor/github.com/mattn/go-sqlite3
/usr/lib/go/pkg/tool/linux_amd64/pack r $WORK/b840/_pkg_.a $WORK/b840/_x001.o $WORK/b840/_x002.o $WORK/b840/_x003.o $WORK/b840/_x004.o $WORK/b840/_x005.o $WORK/b840/_x006.o $WORK/b840/_x007.o $WORK/b840/_x008.o $WORK/b840/_x009.o $WORK/b840/_x010.o $WORK/b840/_x011.o $WORK/b840/ _x012.o # internal
/usr/lib/go/pkg/tool/linux_amd64/buildid -w $WORK/b840/_pkg_.a # internal
cp $WORK/b840/_pkg_.a /var/tmp/portage/app-containers/podman-4.5.0-r1/homedir/.cache/go-build/78/785f7413879a84c73e424d4d55c2db17636b9fb55dda10f940d542accb221056-d # internal
make: *** [Makefile:319: bin/podman] Error 1
* ERROR: app-containers/podman-4.5.0-r1::gentoo failed (compile phase):
* emake failed
interesting, it builds fine for me. Will look into it. |
Combined into same PR due to both being the same bug in go-sqlite3. The joys of forced vendored dependencies.
Closes: https://bugs.gentoo.org/906073
Closes: https://bugs.gentoo.org/905996