Opened 6 months ago
Closed 6 months ago
#70089 closed defect (fixed)
vtk @8.2.0 fails to compile: ld: duplicate symbol _exodus_unused_symbol_dummy_1
Reported by: | barracuda156 | Owned by: | barracuda156 |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.3 |
Keywords: | Cc: | stromnov (Andrey Stromnov), Dave-Allured (Dave Allured) | |
Port: | vtk |
Description
Looks like a bug:
:info:build [ 20%] Building CXX object Common/Core/CMakeFiles/vtkCommonCore.dir/vtkInformationStringKey.cxx.o :info:build cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/build/Common/Core && /opt/local/bin/mpicxx-mpich-gcc13 -DVTK_IN_VTK -DvtkCommonCore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/build/Common/DataModel -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/build/Common/Core -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/VTK-8.2.0/Common/Core -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/build/Utilities/KWIML -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/VTK-8.2.0/Utilities/KWIML -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/build/Utilities/KWSys -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/VTK-8.2.0/Utilities/KWSys -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/build/ThirdParty/utf8 -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/VTK-8.2.0/ThirdParty/utf8 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -arch ppc -mmacosx-version-min=10.6 -fPIC -fvisibility=hidden -MD -MT Common/Core/CMakeFiles/vtkCommonCore.dir/vtkInformationStringKey.cxx.o -MF CMakeFiles/vtkCommonCore.dir/vtkInformationStringKey.cxx.o.d -o CMakeFiles/vtkCommonCore.dir/vtkInformationStringKey.cxx.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/VTK-8.2.0/Common/Core/vtkInformationStringKey.cxx :info:build ld: duplicate symbol _exodus_unused_symbol_dummy_1 in CMakeFiles/vtkexodusII.dir/src/ex_open_par.c.o and CMakeFiles/vtkexodusII.dir/src/ex_create_par.c.o :info:build collect2: error: ld returned 1 exit status :info:build make[2]: *** [lib/libvtkexodusII-8.2.1.dylib] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_vtk/vtk/work/build' :info:build make[1]: *** [ThirdParty/exodusII/vtkexodusII/CMakeFiles/vtkexodusII.dir/all] Error 2 :info:build make[1]: *** Waiting for unfinished jobs....
Change History (9)
comment:1 follow-ups: 2 4 Changed 6 months ago by Dave-Allured (Dave Allured)
comment:2 Changed 6 months ago by barracuda156
Replying to Dave-Allured:
Context please. VTK is at 9.3.0 on Macports. What are you trying to do with a down level version?
I need to check this. Either it got updated after I copied the port to a local overlay or 9.3.0 was broken beyond what I considered reasonable to try fixing.
Will update on this today.
comment:3 Changed 6 months ago by barracuda156
I don’t remember if I even tried to build 9.3.0, since portfile declares 10.7+. But worth trying to fix that, rather than an old version. Will see if that works.
comment:4 Changed 6 months ago by barracuda156
Replying to Dave-Allured:
Just in case, does this thing really need all that stuff as bundled duplicates? It build Proj
, for example, which we have in MacPorts in every thinkable version. It also build a duplicate of hdf5
.
comment:5 Changed 6 months ago by barracuda156
I am still at 65%, this takes forever to build, but so far only a few trivial errors requiring minimal and used in other ports fixes.
comment:6 follow-up: 8 Changed 6 months ago by Dave-Allured (Dave Allured)
VTK has configure options to use either bundled packages, or external versions. When I got involved with this port, I chose to stay with the default bundled options as the path of least resistance. See the end of this conversation, where upstream explains why they favor bundled versions.
https://discourse.vtk.org/t/hdf5-version-support/12261
For Macports, It would be constructive to switch to external packages, but some debugging of API version changes might be needed. Please give that a try if you want to spend time on it.
comment:7 Changed 6 months ago by barracuda156
Support for 10.6 for Cocoa was dropped in https://github.com/Kitware/VTK/commit/f2e249c0a6a93f12808822cc5e5dddda35a09a35
And yes, it is broken now pretty badly. Also, restoring the older code may not suffice for PowerPC systems, since our 10.6 SDK is not exactly the same with x86, so I will not bother with it. Instead, rather switch it to X11, conditionally on the OS version. Since the Cocoa requires 10.7+, I can conveniently ignore ppc and use X11 on everything <10.7.
Soon will see if that works. Another option is SDL2. If neither works, then it is unfixable.
comment:8 Changed 6 months ago by barracuda156
Replying to Dave-Allured:
This worked for me: https://github.com/macports/macports-ports/pull/24172
comment:9 Changed 6 months ago by barracuda156
Owner: | set to barracuda156 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Context please. VTK is at 9.3.0 on Macports. What are you trying to do with a down level version?