Sfoglia il codice sorgente

Resolves an issue when compiling ECL on OS X.

@loader_path is not available in this context, which means the library cannot load.

This results in an error:

<Result>
 <Exception><Source>Roxie</Source><Message>Error loading /var/lib/HPCCSystems/queries/myroxie/libW20150402-131125.dylib: dlopen(/var/lib/HPCCSystems/queries/myroxie/libW20150402-131125.dylib, 2): Library not loaded: @loader_path/../lib/libeclrtl.dylib
  Referenced from: /var/lib/HPCCSystems/queries/myroxie/libW20150402-131125.dylib
  Reason: image not found</Message></Exception>
</Result>

This fixes that error and allows the ECL->C to link properly.

This final commit allows the helloworld.ecl to pass on OS X.
(running esp, dali, eclcc, and roxie)
Brian O'Neill 10 anni fa
parent
commit
74b27caebd
1 ha cambiato i file con 2 aggiunte e 2 eliminazioni
  1. 2 2
      cmake_modules/commonSetup.cmake

+ 2 - 2
cmake_modules/commonSetup.cmake

@@ -686,8 +686,8 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
   set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_DIR}")
   set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
   if (APPLE)
-    set(CMAKE_INSTALL_RPATH "@loader_path/../${LIB_DIR}")
-    set(CMAKE_INSTALL_NAME_DIR "@loader_path/../${LIB_DIR}")
+    # used to locate libraries when compiling ECL
+    set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_DIR}")
   endif()
   MACRO (FETCH_GIT_TAG workdir edition result)
       execute_process(COMMAND "${GIT_COMMAND}" describe --tags --dirty --abbrev=6 --match ${edition}*