conda-forge / occt-feedstock

A conda-smithy repository for occt.
BSD 3-Clause "New" or "Revised" License
4 stars 21 forks source link

Missing symbol XCAFDoc_MaterialTool::GetMaterial in 7.7.1 #97

Open matthiasdiener opened 1 year ago

matthiasdiener commented 1 year ago

Solution to issue cannot be found in the documentation.

Issue

In version 7.7.1, occt seems to miss the XCAFDoc_MaterialTool::GetMaterial symbol. This symbol is present in 7.7.0. For this reason, e.g. gmsh can not run with 7.7.1:

$ conda install gmsh
[....]
$ gmsh -version
gmsh: symbol lookup error: /home/mdiener/mambaforge/envs/test/bin/../lib/libgmsh.so.4.11: undefined symbol: _ZNK20XCAFDoc_MaterialTool11GetMaterialERK9TDF_LabelRN11opencascade6handleI24TCollection_HAsciiStringEES7_RdS7_S7_
$ c++filt _ZNK20XCAFDoc_MaterialTool11GetMaterialERK9TDF_LabelRN11opencascade6handleI24TCollection_HAsciiStringEES7_RdS7_S7_
XCAFDoc_MaterialTool::GetMaterial(TDF_Label const&, opencascade::handle<TCollection_HAsciiString>&, opencascade::handle<TCollection_HAsciiString>&, double&, opencascade::handle<TCollection_HAsciiString>&, opencascade::handle<TCollection_HAsciiString>&) const

This affects at least linux-64.

Installed packages

# packages in environment at /home/mdiener/mambaforge/envs/test:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
aiohttp                   3.8.4           py311h2582759_0    conda-forge
aiosignal                 1.3.1              pyhd8ed1ab_0    conda-forge
aom                       3.5.0                h27087fc_0    conda-forge
async-timeout             4.0.2              pyhd8ed1ab_0    conda-forge
attrs                     22.2.0             pyh71513ae_0    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2022.12.7            ha878542_0    conda-forge
charset-normalizer        2.1.1              pyhd8ed1ab_0    conda-forge
curl                      7.88.1               hdc1c0ab_1    conda-forge
double-conversion         3.2.0                h27087fc_1    conda-forge
eigen                     3.4.0                h4bd325d_0    conda-forge
expat                     2.5.0                hcb278e6_1    conda-forge
ffmpeg                    5.1.2           gpl_h8dda1f0_106    conda-forge
fltk                      1.3.8                h83e168f_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.14.2               h14ed4e7_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
freeimage                 3.18.0               he1b5a44_0    conda-forge
freetype                  2.12.1               hca18f0e_1    conda-forge
frozenlist                1.3.3           py311hd4cff14_0    conda-forge
gettext                   0.21.1               h27087fc_0    conda-forge
gl2ps                     1.4.2                h0708190_0    conda-forge
gmp                       6.2.1                h58526e2_0    conda-forge
gmsh                      4.11.1               h5c738d0_0    conda-forge
gnutls                    3.7.8                hf3e180e_0    conda-forge
hdf4                      4.2.15               h9772cbc_5    conda-forge
hdf5                      1.12.2          nompi_h4df4325_101    conda-forge
icu                       72.1                 hcb278e6_0    conda-forge
idna                      3.4                pyhd8ed1ab_0    conda-forge
jpeg                      9e                   h0b41bf4_3    conda-forge
jsoncpp                   1.9.5                h4bd325d_1    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.20.1               h81ceb04_0    conda-forge
lame                      3.100             h166bdaf_1003    conda-forge
ld_impl_linux-64          2.40                 h41732ed_0    conda-forge
lerc                      4.0.0                h27087fc_0    conda-forge
libaec                    1.0.6                hcb278e6_1    conda-forge
libblas                   3.9.0           16_linux64_openblas    conda-forge
libcblas                  3.9.0           16_linux64_openblas    conda-forge
libcurl                   7.88.1               hdc1c0ab_1    conda-forge
libdeflate                1.17                 h0b41bf4_0    conda-forge
libdrm                    2.4.114              h166bdaf_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libexpat                  2.5.0                hcb278e6_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.2.0              h65d4601_19    conda-forge
libgfortran-ng            12.2.0              h69a702a_19    conda-forge
libgfortran5              12.2.0              h337968e_19    conda-forge
libglu                    9.0.0             he1b5a44_1001    conda-forge
libgomp                   12.2.0              h65d4601_19    conda-forge
libhwloc                  2.9.0                hd6dc26d_0    conda-forge
libiconv                  1.17                 h166bdaf_0    conda-forge
libidn2                   2.3.4                h166bdaf_0    conda-forge
liblapack                 3.9.0           16_linux64_openblas    conda-forge
libnetcdf                 4.9.1           nompi_h34a3ff0_101    conda-forge
libnghttp2                1.52.0               h61bc06f_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libogg                    1.3.4                h7f98852_1    conda-forge
libopenblas               0.3.21          pthreads_h78a6416_3    conda-forge
libopus                   1.3.1                h7f98852_1    conda-forge
libpciaccess              0.17                 h166bdaf_0    conda-forge
libpng                    1.6.39               h753d276_0    conda-forge
libsqlite                 3.40.0               h753d276_0    conda-forge
libssh2                   1.10.0               hf14f497_3    conda-forge
libstdcxx-ng              12.2.0              h46fd767_19    conda-forge
libtasn1                  4.19.0               h166bdaf_0    conda-forge
libtheora                 1.1.1             h7f98852_1005    conda-forge
libtiff                   4.5.0                h6adf6a1_2    conda-forge
libunistring              0.9.10               h7f98852_0    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libva                     2.18.0               h0b41bf4_0    conda-forge
libvorbis                 1.3.7                h9c3ff4c_0    conda-forge
libvpx                    1.11.0               h9c3ff4c_3    conda-forge
libwebp-base              1.3.0                h0b41bf4_0    conda-forge
libxcb                    1.13              h7f98852_1004    conda-forge
libxml2                   2.10.3               hfdac1af_6    conda-forge
libzip                    1.9.2                hc929e4a_1    conda-forge
libzlib                   1.2.13               h166bdaf_4    conda-forge
loguru                    0.6.0           py311h38be061_2    conda-forge
lz4-c                     1.9.4                hcb278e6_0    conda-forge
multidict                 6.0.4           py311h2582759_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
nettle                    3.8.1                hc379101_1    conda-forge
nlohmann_json             3.11.2               h27087fc_0    conda-forge
numpy                     1.24.2          py311h8e6699e_0    conda-forge
occt                      7.7.1                h6cf717c_0    conda-forge
openh264                  2.3.1                hcb278e6_2    conda-forge
openssl                   3.1.0                h0b41bf4_0    conda-forge
p11-kit                   0.24.1               hc5aa10d_0    conda-forge
pip                       23.0.1             pyhd8ed1ab_0    conda-forge
proj                      9.1.1                h8ffa02c_2    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
pugixml                   1.11.4               h9c3ff4c_0    conda-forge
python                    3.11.2          h2755cc3_0_cpython    conda-forge
python_abi                3.11                    3_cp311    conda-forge
rapidjson                 1.1.0             he1b5a44_1002    conda-forge
readline                  8.2                  h8228510_1    conda-forge
setuptools                67.6.1             pyhd8ed1ab_0    conda-forge
sqlite                    3.40.0               h4ff8645_0    conda-forge
svt-av1                   1.4.1                hcb278e6_0    conda-forge
tbb                       2021.8.0             hf52228f_0    conda-forge
tbb-devel                 2021.8.0             hf52228f_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
typing-extensions         4.5.0                hd8ed1ab_0    conda-forge
typing_extensions         4.5.0              pyha770c72_0    conda-forge
tzdata                    2023c                h71feb2d_0    conda-forge
utfcpp                    3.2.3                ha770c72_0    conda-forge
vtk                       9.2.5           egl_py311h7054ab3_3    conda-forge
wheel                     0.40.0             pyhd8ed1ab_0    conda-forge
wslink                    1.10.1             pyhd8ed1ab_0    conda-forge
x264                      1!164.3095           h166bdaf_2    conda-forge
x265                      3.5                  h924138e_3    conda-forge
xorg-fixesproto           5.0               h7f98852_1002    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.8.4                h0b41bf4_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
xorg-libxfixes            5.0.3             h7f98852_1004    conda-forge
xorg-libxmu               1.1.3                h7f98852_0    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-libxt                1.2.1                h7f98852_2    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yarl                      1.8.2           py311hd4cff14_0    conda-forge
zlib                      1.2.13               h166bdaf_4    conda-forge
zstd                      1.5.2                h3eb15da_6    conda-forge

Environment info

active environment : test
    active env location : /home/mdiener/mambaforge/envs/test
            shell level : 2
       user config file : /home/mdiener/.condarc
 populated config files : /home/mdiener/mambaforge/.condarc
                          /home/mdiener/.condarc
          conda version : 23.1.0
    conda-build version : not installed
         python version : 3.10.10.final.0
       virtual packages : __archspec=1=x86_64
                          __cuda=12.0=0
                          __glibc=2.36=0
                          __linux=6.1.0=0
                          __unix=0=0
       base environment : /home/mdiener/mambaforge  (writable)
      conda av data dir : /home/mdiener/mambaforge/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/mdiener/mambaforge/pkgs
                          /home/mdiener/.conda/pkgs
       envs directories : /home/mdiener/mambaforge/envs
                          /home/mdiener/.conda/envs
               platform : linux-64
             user-agent : conda/23.1.0 requests/2.28.2 CPython/3.10.10 Linux/6.1.0-5-amd64 debian/12 glibc/2.36
                UID:GID : 3098:3098
             netrc file : None
           offline mode : False
matthiasdiener commented 1 year ago

The reason is that 7.7.1 changed the method signature to remove the const in src/XCAFDoc/XCAFDoc_MaterialTool.hxx:

7.7.1:

 Standard_EXPORT static Standard_Boolean GetMaterial (const TDF_Label& MatL, 
Handle(TCollection_HAsciiString)& aName, Handle(TCollection_HAsciiString)& aDescription, 
Standard_Real& aDensity, Handle(TCollection_HAsciiString)& aDensName, 
Handle(TCollection_HAsciiString)& aDensValType);

7.7.0:

Standard_EXPORT Standard_Boolean GetMaterial (const TDF_Label& MatL, 
Handle(TCollection_HAsciiString)& aName, Handle(TCollection_HAsciiString)& aDescription, 
Standard_Real& aDensity, Handle(TCollection_HAsciiString)& aDensName, 
Handle(TCollection_HAsciiString)& aDensValType) const;
adam-urbanczyk commented 1 year ago

98 is merged - shouldn't this be closed?

matthiasdiener commented 1 year ago

98 is merged - shouldn't this be closed?

Not all items in https://github.com/conda-forge/gmsh-feedstock/pull/72#issuecomment-1496384160 were done yet, so I was thinking of keeping the issue open for now.