Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 831054 - sci-electronics/kicad-6.0.0 fails to compile: ld: libTKXCAF.so: undefined reference to TPrsStd_DriverTable::AddDriver(Standard_GUID const&, opencascade::handle<TPrsStd_Driver> const&)
Summary: sci-electronics/kicad-6.0.0 fails to compile: ld: libTKXCAF.so: undefined ref...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Zoltan Puskas
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-12 07:40 UTC by Agostino Sarubbo
Modified: 2022-01-15 22:15 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.xz (build.log.xz,37.07 KB, application/x-xz)
2022-01-12 07:40 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2022-01-12 07:40:42 UTC
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.
Comment 1 Agostino Sarubbo gentoo-dev 2022-01-12 07:40:44 UTC
CC'ing also the author of the commit (79739fd24ba548e14dea516d644bfae16e2fb67b)
Comment 2 Agostino Sarubbo gentoo-dev 2022-01-12 07:40:46 UTC
Created attachment 761948 [details]
build.log.xz

build log and emerge --info (compressed because it exceeds attachment limit, use 'xzless' to read it)
Comment 3 Agostino Sarubbo gentoo-dev 2022-01-12 07:40:47 UTC
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
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-12 08:28:52 UTC
I think this is fixed in 6.0.1.
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-12 08:55:02 UTC
@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.
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-12 11:01:13 UTC
*** Bug 831069 has been marked as a duplicate of this bug. ***
Comment 7 Larry the Git Cow gentoo-dev 2022-01-13 01:25:44 UTC
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(-)
Comment 8 Bernd 2022-01-13 05:54:07 UTC
(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.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-13 06:03:18 UTC
(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!
Comment 10 Bernd 2022-01-13 06:08:47 UTC
(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.
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-14 22:01:30 UTC
(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?
Comment 12 Bernd 2022-01-15 09:01:10 UTC
(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
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-15 22:15:39 UTC
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>