Comments (7)
Hi! The reason is that LLPE currently builds against LLVM 3.6. However I have created a 3.7 branch that compiles against 3.7 (but is untested). Could you try
git pull
git checkout 3.7
And then rebuild?
from llpe.
It gets a bit futher before coming upon a new error:
teapot earnest i ~/build/lab/llpe-git/src/llpe/llpe % make
Scanning dependencies of target LLVMLLPEMain
[ 2%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/ArgSpec.cpp.o
[ 5%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/FunctionSharing.cpp.o
[ 8%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/MainLoop.cpp.o
[ 11%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/Shadows.cpp.o
[ 14%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/CFGEval.cpp.o
[ 17%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/Eval.cpp.o
/home/earnest/build/lab/llpe-git/src/llpe/llpe/main/Eval.cpp:2274:43: error: variable length array of non-POD element type 'std::pair<ValSetType, ImprovedVal>'
std::pair<ValSetType, ImprovedVal> Ops[SI->getNumOperands()];
^
1 error generated.
main/CMakeFiles/LLVMLLPEMain.dir/build.make:182: recipe for target 'main/CMakeFiles/LLVMLLPEMain.dir/Eval.cpp.o' failed
make[2]: *** [main/CMakeFiles/LLVMLLPEMain.dir/Eval.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'main/CMakeFiles/LLVMLLPEMain.dir/all' failed
make[1]: *** [main/CMakeFiles/LLVMLLPEMain.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
from llpe.
This is a Clang vs. G++ thing (the former doesn't support non-POD VLAs). Either use G++ or I'll finally remove the VLA stuff tonight :)
from llpe.
Ah, I thought given its llvm nature that clang was assumed. It does get further again with gcc (g++) but a new error is produced:
% cmake .
% make
[ 60%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/DOT.cpp.o
[ 62%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/IntegratorShared.cpp.o
[ 65%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/Save.cpp.o
[ 68%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/DSE.cpp.o
[ 71%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/LoadForward.cpp.o
[ 74%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/SaveSplit.cpp.o
[ 77%] Building CXX object main/CMakeFiles/LLVMLLPEMain.dir/Misc.cpp.o
/home/earnest/build/lab/llpe-git/src/llpe/llpe/main/Misc.cpp:30:43: fatal error: llvm/Target/TargetLibraryInfo.h: No such file or directory
compilation terminated.
main/CMakeFiles/LLVMLLPEMain.dir/build.make:686: recipe for target 'main/CMakeFiles/LLVMLLPEMain.dir/Misc.cpp.o' failed
make[2]: *** [main/CMakeFiles/LLVMLLPEMain.dir/Misc.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'main/CMakeFiles/LLVMLLPEMain.dir/all' failed
make[1]: *** [main/CMakeFiles/LLVMLLPEMain.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
As for removing VLAs, that always sounds like a good idea :-P
from llpe.
Both of these are done -- the one remaining VLA is now a vector, and the TLI include path is fixed (it was finding an old LLVM source tree by mistake).
Unfortunately building with Clang is currently still blocked because WxWidgets uses typeid and LLVM builds with -fno-rtti per default. Odd that GCC is ok with that, but it seems it is! So for now try building with GCC and I'll look into the RTTI issue some more.
from llpe.
That did the trick, it builds to completion now but with many warnings essentially repeating the same thing:
/home/earnest/build/lab/llpe-git/src/llpe/llpe/driver/Integrator.cpp:636:1: warning: ‘virtual void wxWindowBase::MakeModal(bool)’ is deprecated [-Wdeprecated-declarations]
}
^
In file included from /usr/include/wx-3.0/wx/wx.h:14:0,
from /home/earnest/build/lab/llpe-git/src/llpe/llpe/driver/Integrator.cpp:15:
/usr/include/wx-3.0/wx/window.h:688:5: note: declared here
wxDEPRECATED( virtual void MakeModal(bool modal = true) );
^
Full log: https://ptpb.pw/-pAn
Other than that, this particular issue can probably be closed now.
from llpe.
Standard WX I'm afraid :) Thanks for the report!
from llpe.
Related Issues (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from llpe.