Created attachment 757127 [details] Full Build Log The snippet from the emerge log is: ... [44/3999] /usr/bin/x86_64-pc-linux-gnu-g++ -DCSFDB -DDriver_EXPORTS -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DLIN -DOCC_CONVERT_SIGNALS -D_OCC64 -I. -Isrc -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/Driver -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/DriverUNV -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/DriverDAT -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/DriverSTL -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/StdMeshers -I/var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/inc -Isrc/3rdParty/salomesmesh -I/usr/include/opencascade-7.5.3 -Wall -Wextra -Wno-write-strings -O2 -pipe -Wno-sign-compare -Wno-reorder -Wno-switch -Wno-unused-variable -Wno-unused-but-set-variable -Wno-comment -Wno-unused-parameter -Wno-empty-body -Wno-pedantic -Wno-unused-result -Wno-maybe-uninitialized -Wno-missing-field-initializers -fPIC -std=gnu++17 -MD -MT src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Mesh.cpp.o -MF src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Mesh.cpp.o.d -o src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Mesh.cpp.o -c /var/tmp/portage/media-gfx/freecad-0.19.2-r5/work/FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/Driver/Driver_Mesh.cpp [45/3999] : && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -Wall -Wextra -Wno-write-strings -O2 -pipe -Wno-sign-compare -Wno-reorder -Wno-switch -Wno-unused-variable -Wno-unused-but-set-variable -Wno-comment -Wno-unused-parameter -Wno-empty-body -Wno-pedantic -Wno-unused-result -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname,libDriver.so -o lib/libDriver.so src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Document.cpp.o src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Mesh.cpp.o src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_SMDS_Mesh.cpp.o src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_SMESHDS_Mesh.cpp.o -lTKFillet -lTKMesh -lTKernel -lTKG2d -lTKG3d -lTKMath -lTKIGES -lTKSTL -lTKShHealing -lTKXSBase -lTKBool -lTKBO -lTKBRep -lTKTopAlgo -lTKGeomAlgo -lTKGeomBase -lTKOffset -lTKPrim -lTKSTEPBase -lTKSTEPAttr -lTKSTEP209 -lTKSTEP -lTKHLR -lTKFeat -lTKBin -lTKBinL -lTKCAF -lTKXCAF -lTKLCAF -lTKVCAF -lTKCDF -lTKXDESTEP -lTKXDEIGES -lTKMeshVS -lTKService -lTKV3d -lTKRWMesh && : [31mFAILED: [0mlib/libDriver.so : && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -Wall -Wextra -Wno-write-strings -O2 -pipe -Wno-sign-compare -Wno-reorder -Wno-switch -Wno-unused-variable -Wno-unused-but-set-variable -Wno-comment -Wno-unused-parameter -Wno-empty-body -Wno-pedantic -Wno-unused-result -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname,libDriver.so -o lib/libDriver.so src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Document.cpp.o src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Mesh.cpp.o src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_SMDS_Mesh.cpp.o src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_SMESHDS_Mesh.cpp.o -lTKFillet -lTKMesh -lTKernel -lTKG2d -lTKG3d -lTKMath -lTKIGES -lTKSTL -lTKShHealing -lTKXSBase -lTKBool -lTKBO -lTKBRep -lTKTopAlgo -lTKGeomAlgo -lTKGeomBase -lTKOffset -lTKPrim -lTKSTEPBase -lTKSTEPAttr -lTKSTEP209 -lTKSTEP -lTKHLR -lTKFeat -lTKBin -lTKBinL -lTKCAF -lTKXCAF -lTKLCAF -lTKVCAF -lTKCDF -lTKXDESTEP -lTKXDEIGES -lTKMeshVS -lTKService -lTKV3d -lTKRWMesh && : /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lTKVCAF /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lTKRWMesh collect2: error: ld returned 1 exit status ...
ian2 ~ # emerge -pqv '=media-gfx/freecad-0.19.2-r5::gentoo' [ebuild U ] media-gfx/freecad-0.19.2-r5 [0.19.2-r4] USE="addonmgr fem idf image inspection material openscad part-design path points raytracing robot show surface techdraw tux -cloud -debug -headless -pcl -plot -ship -test" PYTHON_SINGLE_TARGET="python3_9 -python3_8" ian2 ~ #
ian2 ~ # emerge --info '=media-gfx/freecad-0.19.2-r5::gentoo' Portage 3.0.28 (python 3.9.9-final-0, default/linux/amd64/17.1, gcc-11.2.0, glibc-2.33-r7, 5.15.5-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-5.15.5-gentoo-x86_64-AMD_Ryzen_7_2700_Eight-Core_Processor-with-glibc2.33 KiB Mem: 65826208 total, 1978872 free KiB Swap: 16777212 total, 16777212 free Timestamp of repository gentoo: Wed, 01 Dec 2021 00:15:01 +0000 Head commit of repository gentoo: 8e9aa59afe382070561d05ff44d0cbaf5d14f91a Timestamp of repository src_prepare-overlay: Mon, 29 Nov 2021 15:51:23 +0000 Head commit of repository src_prepare-overlay: 147f9b46f819e38dfacf3d766d077d3abeba8e91 Timestamp of repository steam-overlay: Tue, 09 Nov 2021 10:53:07 +0000 Head commit of repository steam-overlay: b21d724e69a176a398cae2db70172cb9dfede48a sh bash 5.1_p8 ld GNU ld (Gentoo 2.37_p1 p0) 2.37 app-shells/bash: 5.1_p8::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.34.0-r3::gentoo dev-lang/python: 2.7.18_p13::gentoo, 3.9.9::gentoo, 3.10.0_p1::gentoo dev-lang/rust: 1.56.1::gentoo dev-util/cmake: 3.20.5::gentoo sys-apps/baselayout: 2.7-r3::gentoo sys-apps/openrc: 0.44.9::gentoo sys-apps/sandbox: 2.25::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.71-r1::gentoo sys-devel/automake: 1.13.4-r2::gentoo, 1.16.4::gentoo sys-devel/binutils: 2.37_p1::gentoo sys-devel/gcc: 11.2.0::gentoo sys-devel/gcc-config: 2.4::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.10-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.33-r7::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.uk.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-jobs: 0 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes sync-rsync-verify-max-age: 24 irp-overlay location: /var/lib/irp-overlay masters: gentoo src_prepare-overlay location: /var/db/repos/src_prepare-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/src_prepare-overlay.git masters: gentoo steam-overlay location: /var/db/repos/steam-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/steam-overlay.git masters: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.8/conf /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-elog strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_GB.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j16" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl alsa amd64 bluetooth branding bzip2 cairo cdda cli crypt cups dbus dri drm dts dvb dvb_cards_dibusb-usb1 dvb_cards_dibusb-usb2 elogind encode exif fbcondecor flac fortran gdbm gif gpm gtk iconv icu ipv6 jpeg lcms ldap libglvnd libnotify libtirpc mad mmx mng mp3 mpeg multilib ncurses netirfc nls nptl ogg opengl openmp pam pango pcre pdf png policykit pulseaudio readline sdl seccomp split-usr sse sse2 ssl svg text tiff truetype udev udisks unicode upower usb v4l vaapi vdpau vorbis vulkan vulkan-overlay x264 xattr xfce_plugins_brightness xfce_plugins_clock xfce_plugins_multiload-nandhp xfce_plugins_power xfce_plugins_trash xfce_plugins_xmonad xml xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="coreboot efi-32 efi-64 pc" INPUT_DEVICES="libinput joystick" KERNEL="linux" L10N="en en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" QEMU_SOFTMMU_TARGETS="aarch64 arm i386 x86_64" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon radeonsi v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS ian2 ~ #
I have the same problem. I do not have time to dive much into it, but I did find a little info. I am not sure what is relevant but I write it here as it may help others to fix this. The two missing libs belongs to opencascade. On my system I have two implementations of opencascade: sci-libs/oce-0.18.3-r3 and sci-libs/opencascade-7.5.3-r3 sci-libs/oce seems to put files in /usr/lib64/ directly, where sci-libs/opencascade put files in a sub dir /usr/lib64/opencascade-7.5.3 There is a eselect module for opencascade listing only one implemetation: 7.5 sci-libs/oce do not have the missing libs, only sci-libs/opencascade have them, so they only exist in /usr/lib64/opencascade-7.5.3 I guess the problem probably comes because the sci-libs/oce files are detected by the configuration part and thus the path for sci-libs/opencascade files are not used.
You could be right Jesper. The failing line doesn't have a -L option to specify a library search path and so is likely using /usr/lib64. @Ian: Do you by chance have oce installed beside opencascade? If so, could you please try, whether temporarily removing oce will solve this?
The configuration however is correctly detecting opencascade, not oce. But the library path for opencascade libs is not passed for the module in question.
(In reply to Bernd from comment #4) > You could be right Jesper. The failing line doesn't have a -L option to > specify a library search path and so is likely using /usr/lib64. > > @Ian: Do you by chance have oce installed beside opencascade? If so, could > you please try, whether temporarily removing oce will solve this? Unfortunately, I can't install opencascade without breaking Kicad. Kicad V6 used opencascade, but was then masked so I'm back to V5 that only uses oce. I'll have a look to see what I can do, not promising anything.
(In reply to Ian Pickworth from comment #6) > (In reply to Bernd from comment #4) > > You could be right Jesper. The failing line doesn't have a -L option to > > specify a library search path and so is likely using /usr/lib64. > > > > @Ian: Do you by chance have oce installed beside opencascade? If so, could > > you please try, whether temporarily removing oce will solve this? > > Unfortunately, I can't install opencascade without breaking Kicad. Kicad V6 > used opencascade, but was then masked so I'm back to V5 that only uses oce. > > I'll have a look to see what I can do, not promising anything. OK, scratch that, should have checked first: I have sci-libs/oce-0.18.3-r3 sci-libs/opencascade-7.5.3-r3 but: ian2 ~ # eselect opencascade list Installed opencascade [1] 7.5 * ian2 ~ # Can't uninstall oce due to Kicad issue as above.
(In reply to Ian Pickworth from comment #7) > (In reply to Ian Pickworth from comment #6) > > (In reply to Bernd from comment #4) > > > You could be right Jesper. The failing line doesn't have a -L option to > > > specify a library search path and so is likely using /usr/lib64. > > > > > > @Ian: Do you by chance have oce installed beside opencascade? If so, could > > > you please try, whether temporarily removing oce will solve this? > > > > Unfortunately, I can't install opencascade without breaking Kicad. Kicad V6 > > used opencascade, but was then masked so I'm back to V5 that only uses oce. > > > > I'll have a look to see what I can do, not promising anything. > > OK, scratch that, should have checked first: > I have > sci-libs/oce-0.18.3-r3 > sci-libs/opencascade-7.5.3-r3 > > but: > ian2 ~ # eselect opencascade list > Installed opencascade > [1] 7.5 * > ian2 ~ # > > Can't uninstall oce due to Kicad issue as above. It works if oce is unmerged. I did this: emerge --unmerge sci-libs/oce This complained about a stack of preserved libs needed by kicad emerge --jobs media-gfx/freecad Then worked and installed emerge --oneshot --jobs @preserved-rebuild Put oce back and fixed kicad I think that counts as a workaround.
Kicad should work with opencascade-7.5.2 as well, according to the ebuild. So if you downgrade to v7.5.2, on which freecad should work with, you can probably have both packages, kicad and freecad installed with only using opencascade.
While figuring this out, I noticed that oce seems to be somehow broken wrt to installed libraries. Most libraries are installed in /usr/lib64, but a select few are installed into /usr/lib64/oce-0.18.
I can confirm this to happen, if both oce and opencascade are installed. Although include and library dirs are correctly found, during configuration, the basic library libTKernel.so is referenced from /usr/lib64. grep -i occ CMakeCache.txt: FREECAD_USE_OCC_VARIANT:STRING=Official Version //disable usage of occt-config files OCCT_CMAKE_FALLBACK:BOOL=ON OCC_INCLUDE_DIR:PATH=/usr/include/opencascade-7.5.3 OCC_LIBRARY:FILEPATH=/usr/lib64/libTKernel.so OCC_LIBRARY_DIR:UNINITIALIZED=/usr/lib64/opencascade-7.5.3 //Details about finding OCC FIND_PACKAGE_MESSAGE_DETAILS_OCC:INTERNAL=[/usr/include/opencascade-7.5.3][v7.5.3()] //STRINGS property for variable: FREECAD_USE_OCC_VARIANT FREECAD_USE_OCC_VARIANT-STRINGS:INTERNAL=Official Version;Community Edition
Looks like this was only because of the OCCT_CMAKE_FALLBACK option was set to on. Removing this option from the ebuild fixes it. Currently building the port for the live ebuild, before pushing a PR tomorrow.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=febb7b197dd214a577942eddcc0096984ec0b8d3 commit febb7b197dd214a577942eddcc0096984ec0b8d3 Author: Bernd Waibel <waebbl-gentoo@posteo.net> AuthorDate: 2021-12-03 23:11:36 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-12-04 21:52:44 +0000 media-gfx/freecad: don't fail if oce and occ are both installed Switch a cmake option, to allow proper configuration if both sci-libs/oce and sci-libs/opencascade are installed. This allows to further simplify opencascade related logic. Closes: https://bugs.gentoo.org/827936 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Signed-off-by: Sam James <sam@gentoo.org> media-gfx/freecad/freecad-0.19.2-r5.ebuild | 11 ----------- 1 file changed, 11 deletions(-)