[SOLVED] MuseScore 3 compiles successfully but always crashes
Hi my favourite notator!
I just downloaded mscore 3 source on my machine (Mageia 6, x86_64) and tried to compile it. I needed to do that, instead of using the AppImage, since that last one does not support Jack. At first, the compilation didn't go well, but then everything got fine when I signalled PortAudio as OFF in the Make file (strange, as a matter of fact, since portaudio and portmidi are both installed on the machine, both as libs and devel, of course).
Anyway, after the successful compilation, the "make install" didn't go well, neither trying to run the programme from build-release/mscore/ directly.
I don't know where else to look, or what to search for. So, any help is more than welcome.
Thanks a million in advance.
Hosam Adeeb Nashed
Comments
Running from the build directory rather than the install directory is expected to crash
Did you follow all the build steps from the developers' handbook?
In reply to Running from the build… by Jojo-Schmitz
I just did the usual: "make", then "sudo make install". The install didn't go well. The error message doesn't say much, just that the process failed.
BUT...
Trying to run the programme from the build directory worked just fine with the two previous versions, namely 1.3 and 2.3.2!!!
In reply to I just did the usual: "make"… by HosAdeeb
No, it didn't really work just fine with 1.3 or 2.3.2, it just didn't crash and you didn't notice what you missed (no sound, lack of being able to add chord symbols, and several other issues).
What exactly does the error message say?
In reply to No, it didn't really work… by Jojo-Schmitz
CMake Error at mscore/cmake_install.cmake:36 (file):
file INSTALL cannot find "//QtWebEngineProcess".
Call Stack (most recent call first):
cmake_install.cmake:58 (include)
Makefile:84: recipe for target 'install/strip' failed
make[1]: *** [install/strip] Error 1
make[1]: Leaving directory '/home/hosadeeb/mscore3_0_2/build.release'
Makefile:138: recipe for target 'install' failed
make: *** [install] Error 2
In reply to CMake Error at mscore/cmake… by HosAdeeb
Do you have the Qt WebEngine component installed?
See for example https://musescore.org/en/node/276196 and #281111: Problem trying to create a snap for version 3.0
In reply to Do you have the Qt WebEngine… by Jojo-Schmitz
I had already installed both the libs and the devel packages prior to the install.
In reply to Do you have the Qt WebEngine… by Jojo-Schmitz
I copied the bit for Ubuntu Studio, and provided a missing "endif". Still, on "make install" I received the following error messages:
Installing the project stripped...
-- Install configuration: "RELEASE"
-- Installing: /usr/local/share/applications/mscore3.desktop
-- Installing: /usr/local/share/appdata/mscore3.appdata.xml
-- Installing: /usr/local/share/man/man1/mscore3.1.gz
-- Up-to-date: /usr/local/share/man/man1/musescore3.1.gz
-- Installing: /usr/local/share/mime/packages/musescore3.xml
CMake Error at cmake_install.cmake:56 (file):
file INSTALL cannot find "/usr/lib64/qt4/libexec/QtWebEngineProcess".
Makefile:84: recipe for target 'install/strip' failed
make[1]: *** [install/strip] Error 1
make[1]: Leaving directory '/home/hosadeeb/mscore3_0_2/build.release'
Makefile:138: recipe for target 'install' failed
make: *** [install] Error 2
Now, the problem is, I have both qt4 and qt5 installed, and the required file resides in the qt5 dir tree. I just don't know where to put that in either the Make file or the CMakeLists file.
In reply to I copied the bit for Ubuntu… by HosAdeeb
I've seen this being discussed very recently, but can't find it right now
In reply to No, it didn't really work… by Jojo-Schmitz
Mmmm
With 1.3, I did try the sound, and it did work, once I pointed the synth to the soundfont file to use.
In reply to Mmmm With 1.3, I did try the… by HosAdeeb
yes, but not without that extra step, which were not needed after a make install
In reply to Running from the build… by Jojo-Schmitz
I have a question on that: When I press F5 within Visual Studio 2017 (on Windows 10), it starts in debugging mode using the executabel in build directory. Who to convince VS 2017 to start debugging from install directory? Maybe it is described sowhere in developer's handbook and I just missed it. If so, can you give me a pointer?
Besides that: my very deep respect for the descriptions in the developers handbook, they are very accurate and complete. Even a dinosaur like me was able to get it up and runnig within a couple of hours using the description there.
In reply to I have a question on that:… by drowo
It is in the handbook, check https://musescore.org/en/handbook/developers-handbook/compilation/compi…
In reply to It is in the handbook, check… by Jojo-Schmitz
Thanks! The Problem is sitting on the chair in front of the computer - as always :-)
So, that's what I did, still to no avail:
In the excerpt (condition) I had copied for the Ubuntu Studio bit, I noticed that there was an un-defined var, only mentioned for that condition. So, I put the needed paths manually, since the original script assumed everything was in one place, while on my installation (Mageia 6) that wasn't the case.
On "make install", all the needed files are found and put in the right places, but I nevertheless receive an error message "cannot find //QtWebEngineProcess". What I find strange is the fact that the file's path is "//"...
In reply to So, that's what I did, still… by HosAdeeb
Which hints at an unset or empty variable
In reply to Which hints at an unset or… by Jojo-Schmitz
I did try to find where the "QtWebEngineProcess" is referred to, but I just cannot find it either in the Make file or the CMakeList. If I should be looking somewhere else, please point me in the right direction.
Thanks again for bearing with me.
In reply to I did try to find where the … by HosAdeeb
Try the MuseScore developers' chat at https://t.me/musescoreeditorchat, this had come up there before
It led to some changes in https://musescore.org/en/handbook/developers-handbook/compilation/compi…. Seems you need to get rid of qt4-dev?
In reply to Try the MuseScore developers… by Jojo-Schmitz
I did. And it did the trick!!!
Thanks a whole lot!
In reply to I did. And it did the trick!… by HosAdeeb
Hi. I ran into this problem, and the solution above was not possible.
I think I know the root cause of this problem. At least this works for me without really deleting any packages. I say this without really being a QT expert, just a patzer.
Qt has a program called qtchooser, which chooses which qt release you use. You can have qt4 and qt5 both installed, and choose one or the other as needed. This program uses a configuration file to find out where things are installed.
Ubuntu has two packages: qt4-default and qt5-default. If you install the first your system defaults to qt4. If you install the second your system defaults to qt5. So, I suspect that just removing qt4-default and installing qt5-default seems to fix the problem. That's what I first did, and it seemed to work. But it seems like reconfiguring a whole system just to build one application is a mistake. Maybe it's just me.
A better solution, I think, and one which works with the release 3.3.4 branch, is to change line 59 of build/FindQt5.cmake to read:
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} "-qt=qt5" "-query" ${_var}
The CLI parameter "-qt=qt5" is new. This tells QT_QMAKE_EXECUTABLE (== qmake) to use qt5. This is what I did the second time I tried to solve this problem, and this seems to work as well. In fact, I installed qt4-default, thereby restoring qt4 as the default, and adding -qt=qt5 in FindQt5.cmake seemed to build properly.
If I had a vote, and I realize I don't, I would do the second thing. As I say, I'm just a Qt patzer, so you get what you pay for.
In reply to Hi. I ran into this problem… by vilcxjo
Adding "-qt=qt5" helped me build, as I was getting the same error. Thank you!
In reply to Adding "-qt=qt5" helped me… by anonymouseymoo
I'm getting "Unknown option -qt=qt5". My qmake is from Qt 5.15.0 beta 3, can't get any newer
In reply to Hi. I ran into this problem… by vilcxjo
$ sudo apt-get install qt5-default
worked for me as a workaround, but I agree it is not the best long term solution