Install libraries to /usr/lib, not to /usr/lib/trellis/. This fixes tracing dependencies: >>> prjtrellis*: Tracing dependencies... >>> ERROR: prjtrellis*: libtrellis.so: path not found so:libboost_filesystem.so.1.82.0 so:libboost_program_options.so.1.82.0 so:libboost_thread.so.1.82.0 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libpython3.11.so.1.0 so:libstdc++.so.6 --- a/libtrellis/CMakeLists.txt 2023-05-08 09:55:05.000000000 +0200 +++ b/libtrellis/CMakeLists.txt 2024-01-10 10:31:42.455914809 +0100 @@ -100,20 +100,6 @@ include(GNUInstallDirs) file(RELATIVE_PATH TRELLIS_RPATH_LIBDIR /${CMAKE_INSTALL_BINDIR} /${CMAKE_INSTALL_LIBDIR}) file(RELATIVE_PATH TRELLIS_RPATH_DATADIR /${CMAKE_INSTALL_BINDIR} /${CMAKE_INSTALL_DATADIR}) -function(setup_rpath name) - if(APPLE) - set_target_properties(${name} PROPERTIES - BUILD_WITH_INSTALL_RPATH ON - INSTALL_RPATH "@loader_path/${TRELLIS_RPATH_LIBDIR}/${PROGRAM_PREFIX}trellis" - INSTALL_NAME_DIR "@rpath") - elseif(UNIX) - set_target_properties(${name} PROPERTIES - BUILD_WITH_INSTALL_RPATH ON - INSTALL_RPATH "\$ORIGIN/${TRELLIS_RPATH_LIBDIR}/${PROGRAM_PREFIX}trellis") - endif() -endfunction() - - # Avoid perturbing build if git version hasn't changed file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/generated") set(LAST_GIT_VERSION "") @@ -137,7 +123,6 @@ if (BUILD_ECPBRAM) target_include_directories(${PROGRAM_PREFIX}ecpbram PRIVATE tools) target_compile_definitions(${PROGRAM_PREFIX}ecpbram PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}") target_link_libraries(${PROGRAM_PREFIX}ecpbram trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param}) - setup_rpath(${PROGRAM_PREFIX}ecpbram) if (WASI) set_property(TARGET ${PROGRAM_PREFIX}ecpbram PROPERTY SUFFIX ".wasm") endif() @@ -149,7 +134,6 @@ if (BUILD_ECPPACK) target_include_directories(${PROGRAM_PREFIX}ecppack PRIVATE tools) target_compile_definitions(${PROGRAM_PREFIX}ecppack PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}") target_link_libraries(${PROGRAM_PREFIX}ecppack trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param}) - setup_rpath(${PROGRAM_PREFIX}ecppack) if (WASI) set_property(TARGET ${PROGRAM_PREFIX}ecppack PROPERTY SUFFIX ".wasm") endif() @@ -161,7 +145,6 @@ if (BUILD_ECPUNPACK) target_include_directories(${PROGRAM_PREFIX}ecpunpack PRIVATE tools) target_compile_definitions(${PROGRAM_PREFIX}ecpunpack PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}") target_link_libraries(${PROGRAM_PREFIX}ecpunpack trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param}) - setup_rpath(${PROGRAM_PREFIX}ecpunpack) if (WASI) set_property(TARGET ${PROGRAM_PREFIX}ecpunpack PROPERTY SUFFIX ".wasm") endif() @@ -173,7 +156,6 @@ if (BUILD_ECPPLL) target_include_directories(${PROGRAM_PREFIX}ecppll PRIVATE tools) target_compile_definitions(${PROGRAM_PREFIX}ecppll PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}") target_link_libraries(${PROGRAM_PREFIX}ecppll trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param}) - setup_rpath(${PROGRAM_PREFIX}ecppll) if (WASI) set_property(TARGET ${PROGRAM_PREFIX}ecppll PROPERTY SUFFIX ".wasm") endif() @@ -185,7 +167,6 @@ if (BUILD_ECPMULTI) target_include_directories(${PROGRAM_PREFIX}ecpmulti PRIVATE tools) target_compile_definitions(${PROGRAM_PREFIX}ecpmulti PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}") target_link_libraries(${PROGRAM_PREFIX}ecpmulti trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param}) - setup_rpath(${PROGRAM_PREFIX}ecpmulti) if (WASI) set_property(TARGET ${PROGRAM_PREFIX}ecpmulti PROPERTY SUFFIX ".wasm") endif() @@ -194,7 +175,7 @@ endif() if (BUILD_SHARED) - install(TARGETS trellis ${PythonInstallTarget} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROGRAM_PREFIX}trellis) + install(TARGETS trellis ${PythonInstallTarget} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() install(DIRECTORY ../database DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROGRAM_PREFIX}trellis PATTERN ".git" EXCLUDE)