[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