Skip to content

Commit 3676389

Browse files
Merge pull request #377 from clysto/master
fix segmentation fault in conda env #352
2 parents fb2a409 + 018a94a commit 3676389

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,6 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
5858
add_compile_options(-Wno-shift-negative-value)
5959
endif()
6060

61-
if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT APPLE AND NOT CMAKE_C_SIMULATE_ID MATCHES "MSVC")
62-
add_link_options("-Wl,-z,relro,-z,now,-z,defs")
63-
endif()
64-
6561
if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_C_SIMULATE_ID MATCHES "MSVC")
6662
# error: 'strdup' is deprecated: The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strdup.
6763
# "strdup" is standard since C23
@@ -78,6 +74,10 @@ file(GLOB TAG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/tag*.c)
7874
add_library(${PROJECT_NAME} ${APRILTAG_SRCS} ${COMMON_SRC} ${TAG_FILES})
7975
set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)
8076

77+
if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT APPLE AND NOT CMAKE_C_SIMULATE_ID MATCHES "MSVC")
78+
target_link_options(${PROJECT_NAME} PRIVATE "-Wl,-z,relro,-z,now,-z,defs")
79+
endif()
80+
8181
if (MSVC)
8282
add_compile_definitions("_CRT_SECURE_NO_WARNINGS")
8383
else()
@@ -183,7 +183,9 @@ if(BUILD_PYTHON_WRAPPER AND Python3_Development_FOUND AND Python3_NumPy_FOUND)
183183
set(apriltag_py_target "apriltag.${Python3_SOABI}")
184184
Python3_add_library(${apriltag_py_target} MODULE ${CMAKE_CURRENT_SOURCE_DIR}/apriltag_pywrap.c)
185185
add_dependencies(${apriltag_py_target} apriltag_py_docstrings)
186-
target_link_libraries(${apriltag_py_target} PRIVATE apriltag Python3::Python Python3::NumPy)
186+
# avoid linking against Python3::Python to prevent segmentation faults in Conda environments
187+
# https://github.com/AprilRobotics/apriltag/issues/352
188+
target_link_libraries(${apriltag_py_target} PRIVATE apriltag Python3::NumPy)
187189
target_include_directories(${apriltag_py_target} PRIVATE ${PROJECT_BINARY_DIR})
188190

189191
set(PY_DEST ${CMAKE_INSTALL_PREFIX}/lib/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages/)

0 commit comments

Comments
 (0)