Project

General

Profile

Actions

Bug #3185

closed

CMake: issue with modules path

Added by brad@comstyle.com almost 2 years ago. Updated almost 2 years ago.

Status:
Fixed
Priority:
Normal
Category:
build_cmake
Target version:
ASK QUESTIONS IN Forums:
No

Description

Using CMake we ran into this on OpenBSD..

dlopen() failed for: /usr/local//usr/local/lib/lighttpd/mod_accesslog.so

From src/CMakeLists.txt..

if(NOT LIGHTTPD_MODULES_DIR)
        set(LIGHTTPD_MODULES_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/lighttpd")
endif()

if(NOT WIN32)
        set(LIGHTTPD_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/${LIGHTTPD_MODULES_DIR}")
else()
        ## We use relative path in windows
        set(LIGHTTPD_LIBRARY_DIR "lib")
endif()

As a workaround LIGHTTPD_MODULES_DIR="lib/lighttpd" is being used.

Actions #1

Updated by gstrauss almost 2 years ago

  • Status changed from New to Patch Pending

I think this patch addresses your concern. The prior code has been in place since 2015, so I wonder how many people use the lighttpd CMake build... :/

--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -805,11 +805,10 @@ set(LIGHTTPD_VERSION_ID 0x104${PROJECT_VERSION_PATCH})
 set(PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
 set(PACKAGE_VERSION "${PROJECT_VERSION}")

-if(NOT LIGHTTPD_MODULES_DIR)
-       set(LIGHTTPD_MODULES_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/lighttpd")
-endif()
-
 if(NOT WIN32)
+       if(NOT LIGHTTPD_MODULES_DIR)
+               set(LIGHTTPD_MODULES_DIR "${CMAKE_INSTALL_LIBDIR}/lighttpd")
+       endif()
        set(LIGHTTPD_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/${LIGHTTPD_MODULES_DIR}")
 else()
        ## We use relative path in windows
@@ -1218,8 +1217,8 @@ endif()
 if(NOT WIN32)
 install(TARGETS ${L_INSTALL_TARGETS}
        RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-       LIBRARY DESTINATION ${LIGHTTPD_MODULES_DIR}
-       ARCHIVE DESTINATION ${LIGHTTPD_MODULES_DIR}/static)
+       LIBRARY DESTINATION ${LIGHTTPD_LIBRARY_DIR}
+       ARCHIVE DESTINATION ${LIGHTTPD_LIBRARY_DIR}/static)
 else()
 ## HACK to make win32 to install our libraries in desired directory..
 install(TARGETS lighttpd

Actions #2

Updated by brad@comstyle.com almost 2 years ago

Thanks. That seems to do the trick. I take out setting LIGHTTPD_MODULES_DIR and I am seeing the correct path.

Actions #3

Updated by gstrauss almost 2 years ago

  • Target version changed from 1.4.xx to 1.4.69
Actions #4

Updated by gstrauss almost 2 years ago

  • Status changed from Patch Pending to Fixed
Actions

Also available in: Atom