From cef6f8188b495365c05fc0a8155ca0aed76aca17 Mon Sep 17 00:00:00 2001 From: Mahmoud Komaiha Date: Wed, 26 Aug 2026 17:21:08 -0400 Subject: [PATCH 1/2] BUG: Link the shared StealthLink library on Linux On Linux PlusDataCollection linked libStealthLink.a. The static archive carries none of the SDK's own dependencies, so the boost symbols it references are left unresolved and linking PlusLib fails with: undefined reference to `boost::system::system_category()' undefined reference to `boost::system::generic_category()' libStealthLink.so records those as DT_NEEDED, so linking the shared library instead resolves them without having to enumerate the SDK's bundled boost by hand. Also install the shared library alongside the executables, matching what the WIN32 branch already does. Since both branches install the same file it is hoisted out of the platform conditional. --- src/PlusDataCollection/CMakeLists.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/PlusDataCollection/CMakeLists.txt b/src/PlusDataCollection/CMakeLists.txt index 62c574e65..818d67ba4 100644 --- a/src/PlusDataCollection/CMakeLists.txt +++ b/src/PlusDataCollection/CMakeLists.txt @@ -1476,6 +1476,10 @@ IF(PLUS_USE_STEALTHLINK) ${CMAKE_CURRENT_SOURCE_DIR}/StealthLink ) + LIST(APPEND External_Libraries_Install + ${STEALTHLINK_STEALTHLINK_SHARED_LIBRARY} + ) + IF(WIN32) LIST(APPEND ${PROJECT_NAME}_LIBS optimized ${STEALTHLINK_STEALTHLINK_STATIC_LIBRARY} @@ -1484,12 +1488,10 @@ IF(PLUS_USE_STEALTHLINK) LIST(APPEND External_Libraries_Debug ${STEALTHLINK_STEALTHLINKD_SHARED_LIBRARY} ) - LIST(APPEND External_Libraries_Install - ${STEALTHLINK_STEALTHLINK_SHARED_LIBRARY} - ) ELSE() + # Link the shared library; the static one does not carry the SDK's boost dependencies LIST(APPEND ${PROJECT_NAME}_LIBS - ${STEALTHLINK_STEALTHLINK_STATIC_LIBRARY} + ${STEALTHLINK_STEALTHLINK_SHARED_LIBRARY} ) ENDIF() ENDIF() From a521b8e160c54e45a7abfd433493e837da1769a6 Mon Sep 17 00:00:00 2001 From: Mahmoud Komaiha Date: Wed, 26 Aug 2026 17:21:08 -0400 Subject: [PATCH 2/2] COMP: Remove unused vtkImageViewer2 include from ViewSequenceFile ViewSequenceFile.cxx includes vtkImageViewer2.h but never uses vtkImageViewer2; the include line is the only occurrence of the name in the file, and it is the only occurrence in the file's entire history. It is also the only thing in the target that reaches into VTK's InteractionImage module, which ViewSequenceFile does not link, so it compiles only when that module's include directory happens to arrive transitively. Where it does not, the build fails with: ViewSequenceFile.cxx:17:10: fatal error: vtkImageViewer2.h: No such file or directory Removing the include drops the undeclared dependency rather than linking a module whose symbols are never referenced. --- src/PlusDataCollection/Tools/ViewSequenceFile.cxx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/PlusDataCollection/Tools/ViewSequenceFile.cxx b/src/PlusDataCollection/Tools/ViewSequenceFile.cxx index bfbf1a0b9..4c434cd42 100644 --- a/src/PlusDataCollection/Tools/ViewSequenceFile.cxx +++ b/src/PlusDataCollection/Tools/ViewSequenceFile.cxx @@ -13,9 +13,6 @@ See License.txt for details. #include "vtkImageActor.h" #include "vtkImageData.h" #include "vtkImageImport.h" -#ifdef PLUS_RENDERING_ENABLED -#include "vtkImageViewer2.h" -#endif #include "vtkMatrix4x4.h" #include "vtkProp.h" #include "vtkRenderWindow.h"