Opened 4 months ago

Closed 4 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 Changed 4 months ago by Dave-Allured (Dave Allured)

Context please. VTK is at 9.3.0 on Macports. What are you trying to do with a down level version?

comment:2 in reply to:  1 Changed 4 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 4 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 in reply to:  1 Changed 4 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 4 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 Changed 4 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 4 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.

Version 0, edited 4 months ago by barracuda156 (next)

comment:8 in reply to:  6 Changed 4 months ago by barracuda156

comment:9 Changed 4 months ago by barracuda156

Owner: set to barracuda156
Resolution: fixed
Status: newclosed

In 609fb2e2f7980e2caf7ba81b04e68938b386dee5/macports-ports (master):

vtk: fix build on < 10.7

Closes: #70089

Note: See TracTickets for help on using tickets.