Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make error : make: *** [ llvm-lua_binary ] Error 2 #18

Open
GoogleCodeExporter opened this issue Jan 15, 2016 · 11 comments
Open

Make error : make: *** [ llvm-lua_binary ] Error 2 #18

GoogleCodeExporter opened this issue Jan 15, 2016 · 11 comments

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?
1. cmake ..
2. make
3. error

What is the expected output? What do you see instead?
LLVM compiles

What version of the product are you using? On what operating system?
LLVM_lua-1.3.1 or LLVM-GIT : Debian Wheezy O.S.

Please provide any additional information below.
I see that all binaries, using cmake-gui, point to LLVM-3.1 version while the 
-L flag states a path to /usr/lib/llvm-3.0/include/llvm/... 

I could not find how to correct this just yet


Original issue reported on code.google.com by [email protected] on 24 Jun 2013 at 2:27

@GoogleCodeExporter
Copy link
Author

......
/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 [email protected] on 24 Jun 2013 at 2:28

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 24 Jun 2013 at 6:15

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 27 Jun 2013 at 7:16

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 27 Jun 2013 at 7:28

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 27 Jun 2013 at 7:30

  • Changed state: Done

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 27 Jun 2013 at 9:08

  • Changed state: Accepted

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 1 Jul 2013 at 10:48

Attachments:

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 1 Jul 2013 at 11:01

@GoogleCodeExporter
Copy link
Author

Fixed with cmake -DCURSES_LIBRARY=/usr/lib/libncurses.so 
-DCURSES_INCLUDE_PATH=/usr/include .

Original comment by [email protected] on 1 Jul 2013 at 11:02

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 3 Jul 2013 at 8:51

@GoogleCodeExporter
Copy link
Author

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 [email protected] on 3 Jul 2013 at 9:54

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant