[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