Open GoogleCodeExporter opened 8 years ago
......
/usr/lib/llvm-3.0/include/llvm/Support/IRBuilder.h:1146:13: note:
llvm::CallInst* llvm::IRBuilder<preserveNames, T,
Inserter>::CreateCall(llvm::Value*, llvm::ArrayRef<llvm::Value*>, const
llvm::Twine&) [with bool preserveNames = true; T = llvm::ConstantFolder;
Inserter = llvm::IRBuilderDefaultInserter<true>]
/usr/lib/llvm-3.0/include/llvm/Support/IRBuilder.h:1146:13: note: no known
conversion for argument 2 from ‘std::vector<llvm::Value*,
std::allocator<llvm::Value*> >::iterator {aka
__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*,
std::allocator<llvm::Value*> > >}’ to ‘llvm::ArrayRef<llvm::Value*>’
make[3]: *** [build/CMakeFiles/llvm-lua_dynamic.dir/LLVMCompiler.o] Error 1
make[2]: *** [build/CMakeFiles/llvm-lua_dynamic.dir/all] Error 2
make[1]: *** [build/CMakeFiles/llvm-lua_binary.dir/rule] Error 2
make: *** [llvm-lua_binary] Error 2
Original comment by saintcru...@gmail.com
on 24 Jun 2013 at 2:28
llvm-lua-1.3.1 only supports LLVM 2.8
You need to use the latest git version of llvm-lua with LLVM 3.1
No version of llvm-lua will compile with LLVM 3.0.
You will have to install LLVM 3.1 then tell cmake where it is installed.
If you already have 3.1 install then please attach the CMakeCache.txt file and
provide the output from the llvm-config command (of LLVM 3.1):
<path to LLVM 3.1>/bin/llvm-config --ldflags --cppflags
Original comment by rjakabo...@gmail.com
on 24 Jun 2013 at 6:15
Thanks for the informative reply. I'm pretty novice to all this. I have both
llvm 3.0 and 3.1 installed as well as the git version for llvm-lua. I assume
i've not understood correctly how to tell cmake to use the correct llvm-config
command.
llvm-config-3.1 --ldflags --cppflags
-L/usr/lib/llvm-3.1/lib -lpthread -lffi -ldl -lm
-I/usr/lib/llvm-3.1/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
llvm-config --ldflags --cppflags
-L/usr/lib/llvm-3.0/lib -lpthread -lffi -ldl -lm
-I/usr/lib/llvm-3.0/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Original comment by saintcru...@gmail.com
on 27 Jun 2013 at 7:16
There's a symlink in /usr/bin to /usr/lib/llvm-3.1/bin/llvm-config.
When using cmake-gui the LLVM_CONFIG_EXECUTABLE field is changed to
/usr/lib/llvm-3.1/bin/llvm-config and/or the same is done for LLVM_LD =
/usr/lib/llvm-3.1/bin/llvm-ld This keeps pointing to llvm-3.0 libs etc. Even
after deleting the cache.
If i change the llvm-config path in CMakeCache.txt it works and builds with
many warning but 100% without errors.
Original comment by saintcru...@gmail.com
on 27 Jun 2013 at 7:28
ok you will need to set the LLVM_CONFIG_EXECUTABLE cmake variable to point to
llvm-config-3.1
either in the cmake-gui (ccmake for the console gui) or with
cmake -D LLVM_CONFIG_EXECUTABLE:String=/usr/bin/llvm-config-3.1 ..
make
re-open if that doesn't work
Original comment by rjakabo...@gmail.com
on 27 Jun 2013 at 7:30
ah, sorry I didn't fully read your last update. I had marked the issue as
done. Thinking that the variable only had to be set. Can you attach the bad
CMakeCache.txt file (the generated one when you set the variable from the gui).
I will take a closer look in the morning.
Original comment by rjakabo...@gmail.com
on 27 Jun 2013 at 9:08
Since i've backed-away from using the repo download for the sources and used
the archive under downloads. Attached is the CMakeCache.txt file.
Setting the values with ccmake DOES work, i'll back away from the gui as well.
cmake works fine yet make fails starting with below errors
/tools/llvm_lua-1.3.1/llvm-lua/LLVMCompiler.cpp:256:56: error: invalid
conversion from ���const llvm::Type*��� to
���llvm::Type*��� [-fpermissive]
In file included from /data/tools/llvm_lua-1.3.1/llvm-lua/LLVMCompiler.cpp:26:0:
ending with
/usr/lib/llvm-3.1/include/llvm/Support/IRBuilder.h:1179:13: note:
llvm::CallInst* llvm::IRBuilder<preserveNames, T,
Inserter>::CreateCall(llvm::Value*, llvm::ArrayRef<llvm::Value*>, const
llvm::Twine&) [with bool preserveNames = true; T = llvm::ConstantFolder;
Inserter = llvm::IRBuilderDefaultInserter<true>]
/usr/lib/llvm-3.1/include/llvm/Support/IRBuilder.h:1179:13: note: no known
conversion for argument 2 from ���std::vector<llvm::Value*,
std::allocator<llvm::Value*> >::iterator {aka
__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*,
std::allocator<llvm::Value*> > >}��� to
���llvm::ArrayRef<llvm::Value*>���
make[2]: *** [build/CMakeFiles/llvm-lua_dynamic.dir/LLVMCompiler.o] Error 1
make[1]: *** [build/CMakeFiles/llvm-lua_dynamic.dir/all] Error 2
make: *** [all] Error 2
Original comment by saintcru...@gmail.com
on 1 Jul 2013 at 10:48
Attachments:
I've disabled curses for the sake of compilation, this does not seem to catch
on even with all paths set correctly.
Original comment by saintcru...@gmail.com
on 1 Jul 2013 at 11:01
Fixed with cmake -DCURSES_LIBRARY=/usr/lib/libncurses.so
-DCURSES_INCLUDE_PATH=/usr/include .
Original comment by saintcru...@gmail.com
on 1 Jul 2013 at 11:02
At this time i have seen a file which indicates lua-compiler is about to be
built but the build still fails, i hope i'm not asking too many n00b questions
here. Feel free to point me to a guide or checklist.
Original comment by saintcru...@gmail.com
on 3 Jul 2013 at 8:51
Sorry for this mess, it is compiling as expected. What i've done is removed all
sources. Pulled a new git clone, made the build-directory, ccmake .., configured
LLVM_CC /usr/bin/clang
LLVM_CONFIG_EXECUTABLE /usr/bin/llvm-config-3.1
LLVM_LD /usr/bin/llvm-ld-3.1
then ran make. I'm kind of baffled at this since that is what i did before but
each time i entered something wrong initially. This seems to echoe thru the
process ?
Anyway, thank you for the time you spent on this n00bness.
Original comment by saintcru...@gmail.com
on 3 Jul 2013 at 9:54
Original issue reported on code.google.com by
saintcru...@gmail.com
on 24 Jun 2013 at 2:27