Closed gogins closed 6 years ago
We are currently trying to fix that (avoid to have a RTTI version of LLVM). If we fail, then I'll add this need the the build instructions
FWIW, Debian packages are built with RTTI
Recent versions of LLVM (like 5.0 and later) do not have the RTTI related issue anymore.
Thanks for the info.
Regards, Mike
On Wed, Mar 28, 2018, 23:56 Stéphane Letz notifications@github.com wrote:
Recent versions of LLVM (like 5.0 and later) do not have the RTTI related issue anymore.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/grame-cncm/faust/issues/95#issuecomment-377104860, or mute the thread https://github.com/notifications/unsubscribe-auth/AGCDJVtohxI8T8ZWuJccVEv9AEPUtGRkks5tjE1sgaJpZM4QpABP .
This now builds the Csound Faust opcodes for me on:
Linux bodhimandala 4.13.0-37-generic #42-Ubuntu SMP Wed Mar 7 14:13:23 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
using gcc:
Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.2.0-8ubuntu3.2' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3.2)
with clang 5 installed:
clang version 5.0.0 (https://github.com/kripken/emscripten-fastcomp-clang.git c8606950a97dea79eb578599bb13a48a1639661a) (https://github.com/kripken/emscripten-fastcomp.git 0d8129bb20f502b9ba26d54414f05120f5622b4b) (emscripten 1.37.36 : 1.37.36) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/mkg/emsdk/clang/fastcomp/build_incoming_64/bin Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/7 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/7.2.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.1 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.4.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.2.0 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.2.0 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 Selected multilib: .;@m64
But when Csound runs I get this error message:
WARNING: could not open library '/usr/local/lib/csound/plugins64-6.0/libfaustcsound.so' (/usr/local/lib/csound/plugins64-6.0/libfaustcsound.so: undefined symbol: _Z16deleteDSPFactoryP16llvm_dsp_factory)
Actually the issue appears to be caused by the clang I have installed for WebAssembly not having debug stuff that needs to be linked in.
The Faust compiler in the faust2 branch requires the LLVM infrastructure to be built with runtime type information (RTTI). However, prebuilt binaries from LLVM are not built with RTTI. It therefore appears to be necessary to build LLVM from source and install it before the faust2 branch can be built.
This is not documented.
EIther this dependency should be documented in the build instructions, or instructions on where to find a prebuilt binary package of LLVM with RTTI should be documented.