Has someone already deployed the LLVM compilation chain on Bela?
LLVM chain on Bela?
What do you mean?
Our latest test image comes with clang 4.0 (3.8 in the older one), we got them from here. What else is needed / what are you trying to achieve?
I would like to test having Faust LLVM backend running on Bela, that would need being able to link to the LLVM chain, especially the LLVM IT and JIT stuff. So basically having this LLVM package compiled on Bela: http://releases.llvm.org
Well if you click on the "Download" button there, it takes you to the page I linked above, from which we download the pre-built ARM binaries you find on our images. Is that enough?
Well I would need the "LLVM source code" compiled on Bela, not only the "Clang" stuff.
- Edited
Do you mean the first link ("llvm source code") here?
The installation of clang
comes with the following binaries:
root@bela:~# find /usr -type f -name "*llvm*"
/usr/local/bin/llvm-mc
/usr/local/bin/llvm-profdata
/usr/local/bin/llvm-cxxfilt
/usr/local/bin/llvm-dwp
/usr/local/bin/llvm-modextract
/usr/local/bin/llvm-as
/usr/local/bin/llvm-split
/usr/local/bin/llvm-symbolizer
/usr/local/bin/llvm-readobj
/usr/local/bin/llvm-diff
/usr/local/bin/llvm-objdump
/usr/local/bin/llvm-tblgen
/usr/local/bin/llvm-nm
/usr/local/bin/llvm-dis
/usr/local/bin/llvm-opt-report
/usr/local/bin/llvm-lto2
/usr/local/bin/llvm-dwarfdump
/usr/local/bin/llvm-xray
/usr/local/bin/llvm-pdbdump
/usr/local/bin/llvm-stress
/usr/local/bin/llvm-bcanalyzer
/usr/local/bin/llvm-cat
/usr/local/bin/llvm-link
/usr/local/bin/llvm-config
/usr/local/bin/llvm-cxxdump
/usr/local/bin/llvm-lto
/usr/local/bin/llvm-cov
/usr/local/bin/llvm-mcmarkup
/usr/local/bin/llvm-c-test
/usr/local/bin/llvm-strings
/usr/local/bin/llvm-extract
/usr/local/bin/llvm-rtdyld
/usr/local/bin/llvm-size
/usr/local/bin/llvm-ar
/usr/local/bin/llvm-dsymutil
Yes the first link: the "llvm source code" itself.
- Edited
After meeting with @sletz at the WAC 2107, we tried this. Compile fails because FAUST is using dynamic_cast
and the llvm
releases do not have rtti
enabled by default.
Solution: reconfigure (and recompile)llvm
with -DLLVM_ENABLE_RTTI=ON
http://lists.llvm.org/pipermail/llvm-dev/2017-August/116771.html
- Edited
On a 4.4.x kernel:
install libllvm
from the repo: this has RTTI enabled
apt-get install libllvm3.9
* Compile FAUST from source: get the faust2
branch and build and install with
make install
* Create a project and add the following make
options:
LDLIBS=-lfaust `llvm-config --ldflags --libs all --system-libs` -lssl -lcrypto
- add in this file which sletz has adapted from the original Bela architecture file:
Result: it builds but it does not make sound.
- Edited
Note you need to build with:
LDLIBS="-lfaust `llvm-config --ldflags --libs all --system-libs` -ltinfo -lssl -lcrypto"