[LLVMdev] LLVM out of source pass build: Loadable modules not supported

Rob Jansen jansen at cs.umn.edu
Thu Jan 22 13:49:21 PST 2015


OK, some progress with LLVM/Clang 3.5.1 built from source, as well as
LLVM/Clang 3.5.0 installed from the Fedora 21 repositories.

So to get around the “Modules not supported” error, I believe one must now
use the following before including the AddLLVM.cmake file:
set(LLVM_ENABLE_PLUGINS ON)
include(AddLLVM)

Enabling the plugins like this revealed some fragile code (i.e. bugs)
inside of share/llvm/cmake/AddLLVM.cmake. The first error was:

CMake Error at /home/rob/.shadow/share/llvm/cmake/AddLLVM.cmake:282
(set_output_directory):
  set_output_directory Function invoked with incorrect arguments for
function
  named: set_output_directory
Call Stack (most recent call first):
  /home/rob/.shadow/share/llvm/cmake/AddLLVM.cmake:400 (llvm_add_library)
  src/hoist/CMakeLists.txt:30 (add_llvm_loadable_module)

Which I worked around by setting this in my CMakeLists.txt file:
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib)

The second error was:

CMake Error at /home/rob/.shadow/share/llvm/cmake/AddLLVM.cmake:294
(set_target_properties):
  set_target_properties called with incorrect number of arguments.
Call Stack (most recent call first):
  /home/rob/.shadow/share/llvm/cmake/AddLLVM.cmake:402 (llvm_add_library)
  src/hoist/CMakeLists.txt:32 (add_llvm_loadable_module)

The problem is in this function call:
set_target_properties(${name}
      PROPERTIES
      PREFIX ""
      SUFFIX ${LLVM_PLUGIN_EXT}
      )
because when ${LLVM_PLUGIN_EXT} is empty, the SUFFIX property has no
associated value. I worked around it by setting some arbitrary value:
set(LLVM_PLUGIN_EXT “so”)

Are these considered bugs? I hope this helps someone else.
Rob

On Wed, Jan 21, 2015 at 7:04 PM, Rob Jansen <jansen at cs.umn.edu> wrote:

> I am [also] having problems when trying to build an out-of-source loadable
> module on Fedora 21:
>
> -- LLVMHoistGlobals ignored -- Loadable modules not supported on this
> platform.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150122/b4ee0be7/attachment.html>


More information about the llvm-dev mailing list