muse-sequencer / muse

MusE is a digital audio workstation with support for both Audio and MIDI
https://muse-sequencer.github.io/
Other
634 stars 67 forks source link

compile error rtaudio.cpp #1257

Closed poulpoulsen closed 6 months ago

poulpoulsen commented 6 months ago

Describe the bug the compile process stops with error. here is the log

[ 69%] Building CXX object muse/driver/CMakeFiles/driver.dir/rtaudio.cpp.o /home/held/src/muse/src/muse/driver/rtaudio.cpp: In Elementfunktion »virtual bool MusECore::RtAudioDevice::start(int)«: /home/held/src/muse/src/muse/driver/rtaudio.cpp:349:13: Fehler: »RtAudioError« bezeichnet keinen Typ; meinten Sie »RtAudioErrorType«? 349 | } catch ( RtAudioError& e ) { | ^~~~~~~~~~~~ | RtAudioErrorType /home/held/src/muse/src/muse/driver/rtaudio.cpp:351:5: Fehler: »e« wurde in diesem Gültigkeitsbereich nicht definiert 351 | e.printMessage(); | ^ /home/held/src/muse/src/muse/driver/rtaudio.cpp: In Elementfunktion »virtual void MusECore::RtAudioDevice::stop()«: /home/held/src/muse/src/muse/driver/rtaudio.cpp:379:12: Fehler: »RtAudioError« bezeichnet keinen Typ; meinten Sie »RtAudioErrorType«? 379 | } catch (RtAudioError& e) { | ^~~~~~~~~~~~ | RtAudioErrorType /home/held/src/muse/src/muse/driver/rtaudio.cpp:381:5: Fehler: »e« wurde in diesem Gültigkeitsbereich nicht definiert 381 | e.printMessage(); | ^ make[2]: *** [muse/driver/CMakeFiles/driver.dir/build.make:166: muse/driver/CMakeFiles/driver.dir/rtaudio.cpp.o] Fehler 1 make[1]: *** [CMakeFiles/Makefile2:2439: muse/driver/CMakeFiles/driver.dir/all] Fehler 2 make: *** [Makefile:156: all] Fehler 2

To Reproduce Steps to reproduce the behavior:

  1. Go to src directory
  2. Click on ./compile_muse.sh

Expected behavior compile should run smoothly

Desktop (please complete the following information):

terminator356 commented 6 months ago

Hello. Please tell me which RtAudio version that you have. Tell me which version your package manager says is installed.

And if possible, please locate the RtAudio.h file (typically /usr/include/rtaudio/RtAudio.h), open it and post the first few pages of code, from around line 42 - line 100. We are looking for lines such as "define RTAUDIO_VERSION" or "RTAUDIO_VERSION_MAJOR".

Thanks.

poulpoulsen commented 6 months ago

Hello, my installed version is 5.2.0 in RtAudio.h

define RTAUDIO_VERSION "5.2.0"

Hope it helps

Merry christmas

terminator356 commented 6 months ago

Hi. Thank you for the information.

This is very puzzling. We have had no other complaints like this.

Something seems to be wrong with your RtAudio installation. The error that you received indicates "RtAudioError" is not defined in the RtAudio.h header file. But... Version 5.2 RtAudio.h header file is supposed to define it !

Please check that there is no other RtAudio installation, perhaps manually compiled. A good place to check for that is /usr/local/include/RtAudio. Is there already an RtAudio.h in there?

If there is no other RtAudio installation, then something is very strange.

Please, if you can, post the entire listing of your RtAudio.h I am curious about what is going on and I would like to see the entire file. You should be able to post the file contents here, or else DropBox or something else.

Thanks!

poulpoulsen commented 6 months ago

Good news! i managed it to make Muse work. after uninstalling rtaudio 5.2.0 and manually install 6.0.1 Muse works. two issues remain anyway:

  1. i have to install rtaudio in /usr/lib otherwise Muse does not find it.
  2. this message after start tells that display is broken, but for me Muse works as far as i see. qt.qpa.qgnomeplatform.theme: The desktop style for QtQuick Controls 2 applications is not available on the system (qqc2-desktop-style). The application may look broken.

do you know anythink about that?

terminator356 commented 6 months ago

i have to install rtaudio in /usr/lib otherwise Muse does not find it.

Hm, it is advisable to install manually built software in usr/local/... because otherwise if you then install a packaged version of the software, it will want to install in /usr/... and that will interfere with your manually built version.

Perhaps you forgot to re-configure MusE (with cmake) after manually building RtAudio in /usr/local/...? Upon re-configuration, MusE should be able to find any software in /usr/local/...

this message after start tells that display is broken, but for me Muse works as far as i see.

Can't help there, but MusE does not use QtQuick, so it shouldn't be a problem. Search your packages for various QtQuick desktop themes, perhaps one of them needs to be installed.

Good luck. Thanks.

poulpoulsen commented 6 months ago

hello, yes i know that, but for muse it wont work. rtaudio is correctly installed with prefix /usr/local. muse compiles fine, no error. BUT after start muse4 it does not find rtaudio. i think, this is an error but i don't know how to fix it.

poulpoulsen commented 6 months ago

this is the error: muse4: error while loading shared libraries: librtaudio.so.7: cannot open shared object file: No such file or directory

spamatica commented 6 months ago

I think it is common that /usr/local/lib is not included in the library search-path by default. Adding it can be done adding the path (on a new line) in /etc/ld.so.conf and then running sudo ldconfig.

There are other ways to fix it as can be seen here: https://stackoverflow.com/questions/13428910/how-to-set-the-environment-variable-ld-library-path-in-linux

Still it is very odd that the original rtaudio did not work. I think it should.

poulpoulsen commented 6 months ago

Thanks you. I will test. We can close the ticket.