openAV-Sorcer
openAV-Sorcer copied to clipboard
cannot build main.dsp with Faust 0.9.90 (or 2.5.x)
With Faust 0.9.90 main.dsp
cannot be compiled to main.cpp
.
I used to use this command to compile main.cpp with Faust 0.9.67:
faust -i -a lv2synth.cpp -o main.cpp main.dsp
Faust 0.9.90 no longer provides lv2synth.cpp
; it provides lv2.cpp
or lv2ui.cpp
, but when using either of these architecture files Faust complains about redefined symbols:
filter.lib:1904: ERROR: redefinition of symbols are not allowed : BoxIdent[levelfilter] is already defined in file "filter.lib" line 1904
filter.lib:1912: WARNING: equivalent re-definitions of BoxIdent[levelfilterN]
filter.lib:933: WARNING: equivalent re-definitions of BoxIdent[apnl]
filter.lib:434: WARNING: equivalent re-definitions of BoxIdent[TF2]
effect.lib:22: WARNING: equivalent re-definitions of BoxIdent[log2]
music.lib:52: ERROR: redefinition of symbols are not allowed : BoxIdent[frac] is already defined in file "music.lib" line 52
music.lib:252: ERROR: redefinition of symbols are not allowed : BoxIdent[decimal] is already defined in file "music.lib" line 252
music.lib:478: WARNING: equivalent re-definitions of BoxIdent[chebychev]
music.lib:492: WARNING: equivalent re-definitions of BoxIdent[chebychevpoly]
oscillator.lib:231: WARNING: equivalent re-definitions of BoxIdent[diffn]
AIUI music.lib
should no longer be used and all other libraries should be referenced via library("name")
instead of import("name")
.
Hey @rekado, thanks for reporting. Correct - in order to move FAUST forward and continue to improve the language itself, it has been necessary for the FAUST developers to move/rename/refactor parts of the language, which results .dsp
code becoming outdated and no longer working.
I've not tested the 0.9.90 code (or any recent releases..) so this breakage (although unfortunate) can be expected. Going by the FAUST github, they're working more actively on FAUST 2.x series: https://github.com/grame-cncm/faust/releases
Would you think it best to fixup Sorcer for the 2.x FAUST branch or do you have a specific reason that 0.9.90 branch is the target?
Regards, -Harry
Hey Harry,
I think it would be best to use the latest version of Faust (2.5.23). I just mentioned Faust 0.9.90 because it is the last release of Faust 1 and it is still used by other projects.
Cheers, Ricardo