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)

Reply via email to