Problem building from source

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem building from source

RafaelMartinez

I'm in stuck in this command
make -j$(nproc)

The output is:

[sudo] password for rafael:
[ 33%] Built target translations
[ 35%] Automatic MOC, UIC and RCC for target pianobooster
[ 35%] Built target pianobooster_autogen
[ 37%] Building CXX object build/CMakeFiles/pianobooster.dir/MidiDeviceFluidSynth.o
[ 40%] Building CXX object build/CMakeFiles/pianobooster.dir/pianobooster_autogen/mocs_compilation.o
[ 40%] Building CXX object build/CMakeFiles/pianobooster.dir/pianobooster_autogen/EWIEGA46WW/qrc_application.o
/home/rafael/Downloads/PianoBooster-develop (2)/PianoBooster-develop/src/MidiDeviceFluidSynth.cpp: In member function ‘virtual bool CMidiDeviceFluidSynth::openMidiPort(CMidiDeviceBase::midiType_t, QString)’:
/home/rafael/Downloads/PianoBooster-develop (2)/PianoBooster-develop/src/MidiDeviceFluidSynth.cpp:127:79: error: invalid conversion from ‘void (*)(void*, const char*, int)’ to ‘fluid_settings_foreach_t {aka void (*)(void*, char*, int)}’ [-fpermissive]
        fluid_settings_foreach(m_fluidSettings, 0, debug_settings_foreach_func);
                                                                              ^
In file included from /usr/include/fluidsynth.h:91:0,
                 from /home/rafael/Downloads/PianoBooster-develop (2)/PianoBooster-develop/src/MidiDeviceFluidSynth.h:34,
                 from /home/rafael/Downloads/PianoBooster-develop (2)/PianoBooster-develop/src/MidiDeviceFluidSynth.cpp:29:
/usr/include/fluidsynth/settings.h:213:6: note:   initializing argument 3 of ‘void fluid_settings_foreach(fluid_settings_t*, void*, fluid_settings_foreach_t)’
 void fluid_settings_foreach(fluid_settings_t* settings, void* data,
      ^~~~~~~~~~~~~~~~~~~~~~
build/CMakeFiles/pianobooster.dir/build.make:518: recipe for target 'build/CMakeFiles/pianobooster.dir/MidiDeviceFluidSynth.o' failed
make[2]: *** [build/CMakeFiles/pianobooster.dir/MidiDeviceFluidSynth.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:88: recipe for target 'build/CMakeFiles/pianobooster.dir/all' failed
make[1]: *** [build/CMakeFiles/pianobooster.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Reply | Threaded
Open this post in threaded view
|

Re: Problem building from source

Louis B.
Administrator
I presume from your other post that you are on Ubuntu 18.04. I have that OS at home but I am away at the moment so I cannot test this. It works ok on my laptop running Ubuntu 20.04.2 LTS.

However on line 33 of MidiDeviceFluidSynth.cpp you could try deleting the const keyword work. If that does not work just comment out the whole of the debug_settings_foreach_func function along with line 127 where is called. that function does nothing important and is only used for debugging.

Thank you for posting your other  topics to the forum I will try and reply next week when I get back home. Sorry for the slow reply I have been rather distracted with other things and other projects.

Louis
Reply | Threaded
Open this post in threaded view
|

Re: Problem building from source

RafaelMartinez
I downloaded an AppImage of the newer version and it works just fine. I love this software. It seems that the version from the Ubuntu repositories is just outdated. I don't know who is responsible for that. Anyways, even though the AppImage works fine I still want to figure out how to build it from source. Thanks for your suggestion!
Reply | Threaded
Open this post in threaded view
|

Re: Problem building from source

Louis B.
Administrator
Yep just tried it on an VirtualBox image of  Ubuntu 20.04.2 LTS and deleting the const keyword work on line 33 of MidiDeviceFluidSynth.cpp fixes it for me. Thanks for raising this.