brummer10/Mamba

Mamba 1.5 fails to build on fedora 32

ycollet opened this issue · 5 comments

Here is the error I've got:

XSynth.cpp: In member function 'void xsynth::XSynth::print_soundfont()':
XSynth.cpp:102:5: error: 'fluid_sfont_iteration_start' was not declared in this scope; did you mean 'fluid_synth_tuning_iteration_start'?
  102 |     fluid_sfont_iteration_start(sfont);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     fluid_synth_tuning_iteration_start
XSynth.cpp:104:21: error: 'fluid_sfont_iteration_next' was not declared in this scope; did you mean 'fluid_synth_tuning_iteration_next'?
  104 |     while((preset = fluid_sfont_iteration_next(sfont)) != NULL) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     fluid_synth_tuning_iteration_next
XSynth.cpp:106:45: error: 'fluid_preset_get_banknum' was not declared in this scope; did you mean 'fluid_event_get_bank'?
  106 |         snprintf(inst, 100, "%03d %03d %s", fluid_preset_get_banknum(preset) + offset,
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                             fluid_event_get_bank
XSynth.cpp:107:29: error: 'fluid_preset_get_num' was not declared in this scope; did you mean 'fluid_player_get_bpm'?
  107 |                             fluid_preset_get_num(preset),fluid_preset_get_name(preset));
      |                             ^~~~~~~~~~~~~~~~~~~~
      |                             fluid_player_get_bpm
XSynth.cpp:107:58: error: 'fluid_preset_get_name' was not declared in this scope; did you mean 'fluid_player_get_bpm'?
  107 |                             fluid_preset_get_num(preset),fluid_preset_get_name(preset));
      |                                                          ^~~~~~~~~~~~~~~~~~~~~
      |                                                          fluid_player_get_bpm
XSynth.cpp: In member function 'int xsynth::XSynth::get_instrument_for_channel(int)':
XSynth.cpp:143:41: error: 'fluid_preset_get_banknum' was not declared in this scope; did you mean 'fluid_event_get_bank'?
  143 |     snprintf(inst, 100, "%03d %03d %s", fluid_preset_get_banknum(preset) + offset,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                         fluid_event_get_bank
XSynth.cpp:144:25: error: 'fluid_preset_get_num' was not declared in this scope; did you mean 'fluid_player_get_bpm'?
  144 |                         fluid_preset_get_num(preset),fluid_preset_get_name(preset));
      |                         ^~~~~~~~~~~~~~~~~~~~
      |                         fluid_player_get_bpm
XSynth.cpp:144:54: error: 'fluid_preset_get_name' was not declared in this scope; did you mean 'fluid_player_get_bpm'?
  144 |                         fluid_preset_get_num(preset),fluid_preset_get_name(preset));
      |                                                      ^~~~~~~~~~~~~~~~~~~~~
      |                                                      fluid_player_get_bpm

On Fedora 32, fluidsynth 1.1.11 is installed.

Hi @ycollet

It use fluidsynth 2.1.4
However, I've include support for 1.1.11 now, just I'm not sure if it is correct, as I cant test it.
Please do a fresh checkout from git and let me know if it fix the issue.

Thanks a lot.
I cloned the master and the build runs fine now.

There was a error in my implementation for fluidsynth version < 2, it build but crash as soon you try to load a SoundFont.
Latest git fixed that now.

Thanks.
I will wait for the next release to packages it for Fedora.
It will be available here:
https://copr.fedorainfracloud.org/coprs/ycollet/linuxmao/

Mamba-11.6 compiles fine on Fedpra 31, 32 and 33:
https://copr.fedorainfracloud.org/coprs/ycollet/linuxmao/build/1702727/
I close the bug report ...