[Smtk-developers] More build problems
David Thompson
david.thompson at kitware.com
Thu Oct 26 19:59:40 EDT 2017
Hi all,
Are any of you having CMB build problems related to wslink? cmake 3.9.4? wslink is a python-only library (nothing compiled), but ParaView is now including it as a dependency as if it needed CS wrapping, so when trying to build CMB_Plugin, I get:
% ninja
[2/170] Linking CXX shared library lib/cmb-5.0/libCMB_Plugin.dylib
FAILED: lib/cmb-5.0/libCMB_Plugin.dylib
: && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -Wall -Wextra -Wno-deprecated -Wno-inconsistent-missing-override -g -arch x86_64 ... /Stage/Build/cmb/superbuild/superbuild/paraview/build/lib/libvtkPVServerManagerApplicationCS-pv5.4.a -lwslink -lwslinkCS -lwslink -lwslinkCS -lwslink -lwslinkCS -lwslink -lwslinkCS -lwslink -lwslinkCS ...
ld: library not found for -lwslink
If I manually remove "-lwslink[^ ]* " from build.ninja, the error changes to:
Undefined symbols for architecture x86_64:
"vtkCMBArcPolygonProvider::AddInnerLoopArcIds(vtkIdTypeArray*)", referenced from:
vtkCMBArcPolygonCreateClientOperator::Create(double, double, vtkSMProxy*) in vtkCMBArcPolygonCreateClientOperator.cxx.o
"vtkCMBArcPolygonProvider::SetOuterLoopArcIds(vtkIdTypeArray*)", referenced from:
vtkCMBArcPolygonCreateClientOperator::Create(double, double, vtkSMProxy*) in vtkCMBArcPolygonCreateClientOperator.cxx.o
"vtkCMBPolygonFromArcsOperator::GetInnerLoop(long long const&)", referenced from:
vtkCMBArcPolygonCreateClientOperator::Create(double, double, vtkSMProxy*) in vtkCMBArcPolygonCreateClientOperator.cxx.o
"vtkCMBPolygonFromArcsOperator::GetOuterLoop()", referenced from:
vtkCMBArcPolygonCreateClientOperator::Create(double, double, vtkSMProxy*) in vtkCMBArcPolygonCreateClientOperator.cxx.o
"vtkCMBPolygonFromArcsOperator::GetNumberOfInnerLoops()", referenced from:
vtkCMBArcPolygonCreateClientOperator::Create(double, double, vtkSMProxy*) in vtkCMBArcPolygonCreateClientOperator.cxx.o
"vtkCMBPolygonFromArcsOperator::AddArcId(long long)", referenced from:
vtkCMBArcPolygonCreateClientOperator::Create(double, double, vtkSMProxy*) in vtkCMBArcPolygonCreateClientOperator.cxx.o
"_wslinkCS_Initialize", referenced from:
_CMB_Plugin_CombinedInitialize in CMB_Plugin_Plugin.cxx.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
which I can almost fix by adding vtkCMBMeshing as a private dependency of CMB_Plugin (which appears to be a real problem, but why is it only showing up now?). I say almost, because that still leaves me with:
vtkCMBArcPolygonCreateClientOperator.cxx.o
"_wslinkCS_Initialize", referenced from:
_CMB_Plugin_CombinedInitialize in CMB_Plugin_Plugin.cxx.o
Note that CMB_Plugin_Plugin.cxx is a generated file. If I hand-edit that file to remove the wslink CS-initialization calls, then CMB_Plugin compiles and only one other dependency problem crops up (SceneBuilder apparently missing vtkCMBIO as a direct dependency).
This is with cmake 3.9.4 on macos 10.13.
I'll submit a MR for the SceneBuilder and CMB_Plugin dependencies that need fixing, but I'm at a loss about how to fix the wslink stuff. Any ideas?
Confusedly,
David
More information about the Smtk-developers
mailing list