Closed dvzrv closed 6 years ago
I did not they test on OS X yet. Your should test against master-dev first.
@sletz I get that I should, but currently I'm packaging 2.5.23. I'll have to fix that version first, so we can move on to llvm 7.0.0.
I guess the changes won't be much different. This is where I am so far with a patch, but still failing build (in attachment).
llvm7.patch.txt faust-2.5.23-llvm7.txt
Any help would be greatly appreciated!
Preparing a patch or better a Pull Request for master-dev branch would really help. Thanks.
Then we can possibly make a new release...
I just did the fix for master-dev here : https://github.com/grame-cncm/faust/commit/f5b00bf5caddfe5ed96ca7548e40504e7d09f4ac
@sletz excellent. thanks! are you able to give an ETA on a new release? any outstanding issues?
Not sure.... If not too difficult, maybe patching the 2.5.23 code base will be the fastest way...
@sletz, that's what I did for now. Thanks for the help though! :)
When compiling faust 2.20.2 with LLVM 7.1.0, I get:
[ 97%] Building CXX object CMakeFiles/dynamiclib.dir/build/source/compiler/generator/llvm/llvm_code_container.cpp.o
In file included from /build/source/compiler/../architecture/faust/gui/JSONUIDecoder.h:35,
from /build/source/compiler/generator/llvm/llvm_dsp_aux.hh:32,
from /build/source/compiler/generator/llvm/llvm_dynamic_dsp_aux.hh:25,
from /build/source/compiler/generator/llvm/llvm_code_container.cpp:31:
/build/source/compiler/../architecture/faust/gui/CGlue.h: In function 'void buildUIGlue(UIGlue*, UI*, bool)':
/build/source/compiler/../architecture/faust/gui/CGlue.h:284:101: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double, double, double)' to 'addVerticalSliderFun' {aka 'void (*)(void*, const char*, float*, float, float, float, float)'} [-Wcast-function-type]
glue->addVerticalSlider = reinterpret_cast<addVerticalSliderFun>(addVerticalSliderGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:285:107: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double, double, double)' to 'addHorizontalSliderFun' {aka 'void (*)(void*, const char*, float*, float, float, float, float)'} [-Wcast-function-type]
glue->addHorizontalSlider = reinterpret_cast<addHorizontalSliderFun>(addHorizontalSliderGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:286:83: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double, double, double)' to 'addNumEntryFun' {aka 'void (*)(void*, const char*, float*, float, float, float, float)'} [-Wcast-function-type]
glue->addNumEntry = reinterpret_cast<addNumEntryFun>(addNumEntryGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:287:113: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double)' to 'addHorizontalBargraphFun' {aka 'void (*)(void*, const char*, float*, float, float)'} [-Wcast-function-type]
glue->addHorizontalBargraph = reinterpret_cast<addHorizontalBargraphFun>(addHorizontalBargraphGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:288:107: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double)' to 'addVerticalBargraphFun' {aka 'void (*)(void*, const char*, float*, float, float)'} [-Wcast-function-type]
glue->addVerticalBargraph = reinterpret_cast<addVerticalBargraphFun>(addVerticalBargraphGlueDouble);
^
/build/source/compiler/generator/llvm/llvm_code_container.cpp: In constructor 'LLVMCodeContainer::LLVMCodeContainer(const string&, int, int)':
/build/source/compiler/generator/llvm/llvm_code_container.cpp:77:9: error: 'class llvm::FastMathFlags' has no member named 'setUnsafeAlgebra'
FMF.setUnsafeAlgebra();
^~~~~~~~~~~~~~~~
/build/source/compiler/generator/llvm/llvm_code_container.cpp: In constructor 'LLVMCodeContainer::LLVMCodeContainer(const string&, int, int, llvm::Module*, llvm::LLVMContext*)':
/build/source/compiler/generator/llvm/llvm_code_container.cpp:97:9: error: 'class llvm::FastMathFlags' has no member named 'setUnsafeAlgebra'
FMF.setUnsafeAlgebra();
^~~~~~~~~~~~~~~~
[ 98%] Building CXX object CMakeFiles/dynamiclib.dir/build/source/compiler/generator/llvm/llvm_dsp_aux.cpp.o
make[2]: *** [CMakeFiles/dynamiclib.dir/build.make:1714: CMakeFiles/dynamiclib.dir/build/source/compiler/generator/llvm/llvm_code_container.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /build/source/compiler/generator/llvm/llvm_dsp_aux.cpp:36:
/build/source/compiler/../architecture/faust/gui/CGlue.h: In function 'void buildUIGlue(UIGlue*, UI*, bool)':
/build/source/compiler/../architecture/faust/gui/CGlue.h:284:101: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double, double, double)' to 'addVerticalSliderFun' {aka 'void (*)(void*, const char*, float*, float, float, float, float)'} [-Wcast-function-type]
glue->addVerticalSlider = reinterpret_cast<addVerticalSliderFun>(addVerticalSliderGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:285:107: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double, double, double)' to 'addHorizontalSliderFun' {aka 'void (*)(void*, const char*, float*, float, float, float, float)'} [-Wcast-function-type]
glue->addHorizontalSlider = reinterpret_cast<addHorizontalSliderFun>(addHorizontalSliderGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:286:83: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double, double, double)' to 'addNumEntryFun' {aka 'void (*)(void*, const char*, float*, float, float, float, float)'} [-Wcast-function-type]
glue->addNumEntry = reinterpret_cast<addNumEntryFun>(addNumEntryGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:287:113: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double)' to 'addHorizontalBargraphFun' {aka 'void (*)(void*, const char*, float*, float, float)'} [-Wcast-function-type]
glue->addHorizontalBargraph = reinterpret_cast<addHorizontalBargraphFun>(addHorizontalBargraphGlueDouble);
^
/build/source/compiler/../architecture/faust/gui/CGlue.h:288:107: warning: cast between incompatible function types from 'void (*)(void*, const char*, double*, double, double)' to 'addVerticalBargraphFun' {aka 'void (*)(void*, const char*, float*, float, float)'} [-Wcast-function-type]
glue->addVerticalBargraph = reinterpret_cast<addVerticalBargraphFun>(addVerticalBargraphGlueDouble);
^
make[1]: *** [CMakeFiles/Makefile2:115: CMakeFiles/dynamiclib.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/l06pwmpd4yj48iwz4nhmxv2n6cgbzknd-faust-2.20.2.drv' failed with exit code 2
LLVM 5 and 6 work fine.
Is is a real problem for you if LLVM 5 and 6 still work? In the meantime we are almost at LLVM 10.0
Ah, no. 7 is the default on NixOS and I thought it was the latest. Therefore I was afraid all future versions would have this bug too.
I just tested, turns out 8 and 9 work as well, so all good! Thanks for your quick replies everytime!
Arch Linux is currently rebuilding against llvm 7.0.0. I was wondering, what the status is on building faust with it.
I tried to patch the 2.5.23 code base but it's pretty messy due to the many
defined()
checks towards every major llvm version release on nearly all includes.I could use some help! If this is already fixed in the current HEAD, maybe cut a new release?