Open eadmaster opened 9 years ago
hello thanks for the bug report, have you tried compiling from source an other software based on SFML to see if it's a problem from my config or if it's a problem in the package of that distribution ?
apperently the error is due to the fact that linthesia requires libsfml 2.x while Debian Wheezy provide the v1.6 which is not backward compatible...
update: i've compiled myself the latest sfml v2.2 and set the environment variables SFML_CFLAGS and SFML_LIBS as suggested. Now the configure script finishes successfully. But the compilation fails because the compiler (gcc v4.6.3) does not support the C++11 standard: i've tried replacing the flag "-std=c++11" as "-std=c++0x" but it fails due to unimplemented: non-static data member initializers in abstract_screen.h and context.h . Maybe this could be fixed with a test macro in the code?
I don't have my dev computer with me right now
can you try to add a static
in front of the variable in src/context/context.h
line 51 and same thing for the variable in src/screens/abstract_screen.h
line 20, if it works i will patch the code .
Ok, I've done that, now it's complaining about the rtmidi library:
midi_io/midi_in.cpp: In member function ‘void linthesia::MidiIn::open()’:
midi_io/midi_in.cpp:62:12: error: expected type-specifier before ‘RtMidiError’
midi_io/midi_in.cpp:62:24: error: expected ‘)’ before ‘&’ token
midi_io/midi_in.cpp:62:24: error: expected ‘{’ before ‘&’ token
midi_io/midi_in.cpp:62:25: error: ‘error’ was not declared in this scope
midi_io/midi_in.cpp:62:30: error: expected ‘;’ before ‘)’ token
make[2]: *** [midi_io/linthesia-midi_in.o] Error 1
make[2]: Leaving directory `/home/pi/linthesia/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pi/linthesia'
make: *** [all] Error 2
I have librtmidi-dev 1.0.15 installed, need to update?
hmm certainly a error due to C++11 syntax and the support i would say. If i haven't answered you in 24 hours can you poke me again in this ticket ?
also can you try if you have clang
package to compile with it as this compiler had an earlier better support of c++11
just tried with clang:
$ export CC=/usr/bin/clang++
$ export CXX=/usr/bin/clang++
$ ./configure
$ make
make all-recursive
make[1]: Entering directory `/home/pi/linthesia'
Making all in src
make[2]: Entering directory `/home/pi/linthesia/src'
/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -DGRAPHDIR="\"../graphics\"" -D__LINUX_JACK__ -Wall -std=c++11 -iquote ../libmidi -g -O2 -std=c++0x -MT midi_io/linthesia-midi_in.o -MD -MP -MF midi_io/.deps/linthesia-midi_in.Tpo -c -o midi_io/linthesia-midi_in.o `test -f 'midi_io/midi_in.cpp' || echo './'`midi_io/midi_in.cpp
midi_io/midi_in.cpp:62:12: error: unknown type name 'RtMidiError'; did you mean
'MidiError'?
catch (RtMidiError &error) {
^~~~~~~~~~~
MidiError
./libmidi/midi.h:21:7: note: 'MidiError' declared here
class MidiError;
^
midi_io/midi_in.cpp:63:15: error: no member named 'printMessage' in 'MidiError'
error.printMessage();
~~~~~ ^
2 errors generated.
make[2]: *** [midi_io/linthesia-midi_in.o] Error 1
make[2]: Leaving directory `/home/pi/linthesia/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pi/linthesia'
make: *** [all] Error 2
interesting, which version of RtMidi do you have ?
for Rtmidi, it seems they have renamed stuff between 2.0 and 2.1 so your latest errors are maybe related to that, someone else has started to issue a Pull request on that.
Same issue as above with rtmidi, on Trisquel 7 (Ubuntu derivative). Even when I manually download the latest rtmidi deb, plus its dependencies (like eventually c++6 which breaks libreoffice), I move on to this error: `midi_in.cpp: undefined reference to "RtMidiIn::RtMidiIn(RtMidi::Api, std::string, unsigned int)
I am running a raspian build meant for the banana pi board (based on Debian Wheezy). I should have all the dependencies installed, howerer the configure script fails like this: