Source: gmsh Severity: important Tags: patch ftbfs Dear maintainer,
gmsh FTBFS with the new opencascade 7.8.1 as the CMakeLists.txt missed to list one library, and therefore many symbols are not resolved at build time: Excerpt of build log: /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `STEPCAFControl_Reader::STEPCAFControl_Reader()' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `STEPCAFControl_Reader::ChangeReader()' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `HeaderSection_FileDescription::SetImplementationLevel(opencascade::handle<TCollection_HAsciiString> const&)' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `APIHeaderSection_MakeHeader::FdValue() const' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `HeaderSection_FileName::SetTimeStamp(opencascade::handle<TCollection_HAsciiString> const&)' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `APIHeaderSection_MakeHeader::APIHeaderSection_MakeHeader(int)' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `HeaderSection_FileName::SetOriginatingSystem(opencascade::handle<TCollection_HAsciiString> const&)' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `StepData_StepModel::AddHeaderEntity(opencascade::handle<Standard_Transient> const&)' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `HeaderSection_FileName::SetPreprocessorVersion(opencascade::handle<TCollection_HAsciiString> const&)' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `StepData_StepModel::Header() const' collect2: error: ld returned 1 exit status /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `STEPCAFControl_Reader::Transfer(opencascade::handle<TDocStd_Document> const&, Message_ProgressRange const&)' /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `HeaderSection_FileName::SetName(opencascade::handle<TCollection_HAsciiString> const&)' collect2: error: ld returned 1 exit status /usr/bin/ld: libgmsh.so.4.12.2: undefined reference to `STEPControl_Writer::Write(char const*)' make[4]: *** [CMakeFiles/t13_cpp.dir/build.make:190: t13_cpp] Error 1 make[4]: Leaving directory '/build/gmsh-4.12.2+ds1/debian/build' make[3]: *** [CMakeFiles/Makefile2:1759: CMakeFiles/t13_cpp.dir/all] Error 2 make[4]: *** [CMakeFiles/t14_cpp.dir/build.make:190: t14_cpp] Error 1 make[4]: Leaving directory '/build/gmsh-4.12.2+ds1/debian/build' The attached patch makes the packages compile here locally - the patch *should* be backward compatible with the older opencascade currently in sid. -- tobi -- System Information: Debian Release: trixie/sid APT prefers oldstable-updates APT policy: (500, 'oldstable-updates'), (500, 'oldstable-security'), (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 6.7.12-amd64 (SMP w/8 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
--- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1331,7 +1331,7 @@ if(FREETYPE_FOUND) if(OCC_VERSION AND OCC_VERSION VERSION_GREATER_EQUAL "7.8.0") set(OCC_CAF_LIBS_REQUIRED - TKXCAF TKLCAF TKVCAF TKCAF TKV3d TKService TKCDF) + TKXCAF TKLCAF TKVCAF TKCAF TKV3d TKService TKCDF TKDESTEP ) else() set(OCC_CAF_LIBS_REQUIRED TKXDESTEP TKXDEIGES TKXCAF TKLCAF TKVCAF TKCAF TKV3d TKService TKCDF)