diff -ruN spack-src/examples/nvector/CMakeLists.txt spack-src-patched/examples/nvector/CMakeLists.txt --- spack-src/examples/nvector/CMakeLists.txt 2022-04-22 16:55:14.000000000 +0000 +++ spack-src-patched/examples/nvector/CMakeLists.txt 2022-08-03 16:34:47.789320825 +0000 @@ -25,6 +25,10 @@ # Build the nvector test utilities add_library(test_nvector_obj OBJECT test_nvector.c) +if(BUILD_SHARED_LIBS) + # need PIC when shared libs are used since the example executables will link to the shared lib + set_property(TARGET test_nvector_obj PROPERTY POSITION_INDEPENDENT_CODE TRUE) +endif() target_link_libraries(test_nvector_obj PRIVATE sundials_nvecserial) if(ENABLE_MPI AND MPI_C_FOUND) @@ -33,6 +37,9 @@ add_subdirectory(mpiplusx) # Build the mpi nvector test utilities add_library(test_nvectormpi_obj OBJECT test_mpinvector.c) + if(BUILD_SHARED_LIBS) + set_property(TARGET test_nvectormpi_obj PROPERTY POSITION_INDEPENDENT_CODE TRUE) + endif() target_link_libraries(test_nvectormpi_obj PRIVATE MPI::MPI_C sundials_nvecparallel) endif() add_subdirectory(manyvector)