https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: sci-electronics/kicad-6.0.0 fails to compile. Discovered on: amd64 (internal ref: ci) NOTE: If you think this is a GCC-11 related issue, please block bug 732706.
CC'ing also the author of the commit (79739fd24ba548e14dea516d644bfae16e2fb67b)
Created attachment 761948 [details] build.log.xz build log and emerge --info (compressed because it exceeds attachment limit, use 'xzless' to read it)
Error(s) that match a know pattern in addition to what has been reported in the summary: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/opencascade/libTKXCAF.so: undefined reference to `TPrsStd_DriverTable::AddDriver(Standard_GUID const&, opencascade::handle<TPrsStd_Driver> const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/opencascade/libTKXCAF.so: undefined reference to `TPrsStd_DriverTable::Get()' /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/opencascade/libTKXCAF.so: undefined reference to `TPrsStd_Driver::TPrsStd_Driver()' /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/opencascade/libTKXCAF.so: undefined reference to `typeinfo for TPrsStd_Driver' /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libTKVCAF.so.7, needed by /usr/lib64/opencascade/libTKXCAF.so, not found (try using -rpath or -rpath-link) collect2: error: ld returned 1 exit status
I think this is fixed in 6.0.1.
@waebbl: ok, if I change opencascade to not have any of the ${PV} stuff and so on in env.in, it works, so I think we need to.. rip more of it out? and also ensure all consumers are updated? I don't want to touch this without hearing if it was intended or not in case I go deeper down the wrong way. I think we need to just go all-in on not-slotting and remove any idea of ${PV} and such from the env file.
*** Bug 831069 has been marked as a duplicate of this bug. ***
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=557e00d429f1249c6a15bc56181f369f087a8545 commit 557e00d429f1249c6a15bc56181f369f087a8545 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-01-13 01:11:22 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-01-13 01:25:33 +0000 sci-libs/opencascade: block eselect-opencascade We're no longer pursuing slotted OCC. Please emerge --depclean it if you have it installed (eselect-opencascade). Deslotting of OCC was already completed. Bug: https://bugs.gentoo.org/831069 Bug: https://bugs.gentoo.org/831054 Signed-off-by: Sam James <sam@gentoo.org> sci-libs/opencascade/opencascade-7.5.2-r4.ebuild | 1 + sci-libs/opencascade/opencascade-7.5.3-r5.ebuild | 1 + sci-libs/opencascade/opencascade-7.6.0-r1.ebuild | 1 + 3 files changed, 3 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4db0fd6113765ff6f6865e47bdbe8f4f2495e4f4 commit 4db0fd6113765ff6f6865e47bdbe8f4f2495e4f4 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-01-13 01:07:53 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-01-13 01:25:32 +0000 sci-libs/opencascade: fix installed environment file for non-slotted We're no longer using slotted OCC but I don't think we fully completed the version. I was initially going to wait but upon reflection, I think this is the only way forward that makes sense (updating the env.in to reflect the earlier changes). The old/outdated env file results in build failures in e.g. kicad. (Also, change ESYSROOT -> EPREFIX for the env file as the env file is for the end result system.) Bug: https://bugs.gentoo.org/831069 Bug: https://bugs.gentoo.org/831054 Signed-off-by: Sam James <sam@gentoo.org> sci-libs/opencascade/files/opencascade.env.in | 32 +++++++++++----------- ...7.5.2-r3.ebuild => opencascade-7.5.2-r4.ebuild} | 5 ++-- ...7.5.3-r4.ebuild => opencascade-7.5.3-r5.ebuild} | 5 ++-- ...de-7.6.0.ebuild => opencascade-7.6.0-r1.ebuild} | 5 ++-- 4 files changed, 22 insertions(+), 25 deletions(-)
(In reply to Sam James from comment #5) > @waebbl: ok, if I change opencascade to not have any of the ${PV} stuff and > so on in env.in, it works, so I think we need to.. rip more of it out? and > also ensure all consumers are updated? > > I don't want to touch this without hearing if it was intended or not in case > I go deeper down the wrong way. > > I think we need to just go all-in on not-slotting and remove any idea of > ${PV} and such from the env file. @sam: I can try to remove the ${PV} from the installation paths completely. IIRC I was already thinking about this, but then put it on hold for a revbump later on.
(In reply to Bernd from comment #8) > (In reply to Sam James from comment #5) > > @waebbl: ok, if I change opencascade to not have any of the ${PV} stuff and > > so on in env.in, it works, so I think we need to.. rip more of it out? and > > also ensure all consumers are updated? > > > > I don't want to touch this without hearing if it was intended or not in case > > I go deeper down the wrong way. > > > > I think we need to just go all-in on not-slotting and remove any idea of > > ${PV} and such from the env file. > > @sam: I can try to remove the ${PV} from the installation paths completely. > IIRC I was already thinking about this, but then put it on hold for a > revbump later on. I've given this a go (I had a change of heart after sleep) but if you have any issues with how it is now, let me know, and we can change it of course. No worries!
(In reply to Sam James from comment #9) > (In reply to Bernd from comment #8) > > @sam: I can try to remove the ${PV} from the installation paths completely. > > IIRC I was already thinking about this, but then put it on hold for a > > revbump later on. > > I've given this a go (I had a change of heart after sleep) but if you have > any issues with how it is now, let me know, and we can change it of course. > > No worries! Not having issues! Just noticed with 7.5.3 it's installed in $(get_libdir)/opencascade-7.5.3, so I'm wondering how the change work.
(In reply to Bernd from comment #10) > (In reply to Sam James from comment #9) > > (In reply to Bernd from comment #8) > > > @sam: I can try to remove the ${PV} from the installation paths completely. > > > IIRC I was already thinking about this, but then put it on hold for a > > > revbump later on. > > > > I've given this a go (I had a change of heart after sleep) but if you have > > any issues with how it is now, let me know, and we can change it of course. > > > > No worries! > > Not having issues! Just noticed with 7.5.3 it's installed in > $(get_libdir)/opencascade-7.5.3, so I'm wondering how the change work. Oh, oops, I'd seen that earlier and forgot to fix it. Let's change it to match the others?
(In reply to Sam James from comment #11) > Oh, oops, I'd seen that earlier and forgot to fix it. Let's change it to > match the others? Yes, I'm gonna fix this today
commit 2dcf0c603c3975d7f0c01435d64d2bdeddb6f8db (HEAD -> master, origin/master, origin/HEAD) Author: Bernd Waibel <waebbl-gentoo@posteo.net> Date: Sat Jan 15 21:52:47 2022 +0100 sci-libs/opencascade: rename gles2 USE flag to gles2-only Bugs: https://bugs.gentoo.org/831069 Bugs: https://bugs.gentoo.org/831126 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Closes: https://github.com/gentoo/gentoo/pull/23814 Signed-off-by: Sam James <sam@gentoo.org> commit ec86df92464abd1cd60e9675e9f84f83a9e6e76b Author: Bernd Waibel <waebbl-gentoo@posteo.net> Date: Sat Jan 15 21:50:21 2022 +0100 sci-libs/opencascade: don't pass USE_OPENGL option The option defaults to on and was erroneously passed as with the invert value of the gles2 USE flag, which lead to only libTKOpenGles library being built, but no libTKOpenGL library, resulting in build failures in revdeps. Closes: https://bugs.gentoo.rog/831069 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Signed-off-by: Sam James <sam@gentoo.org> commit 0ea126f6c797701fe675896e6a8bca989d9b82bb Author: Bernd Waibel <waebbl-gentoo@posteo.net> Date: Sat Jan 15 15:52:19 2022 +0100 sci-libs/opencascade: fix installation paths for 7.5 Use the same path as for the 7.6 series /usr/$(get_libdir)/${PN} instead of /usr/$(get_libdir)/${P}, so the changed environment files works for all versions. Bugs: https://bugs.gentoo.org/831054 Bugs: https://bugs.gentoo.org/831069 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Signed-off-by: Sam James <sam@gentoo.org>