compiling on rasbian buster: qtwebengine5-dev missing

• Mar 31, 2020 - 07:16

I'm trying to compile musescore on my raspberry pi, but since the qtwebengine5-dev package is missing from the repo for some reason, the build fails. What are my options? I can think of:

1) Compile qt from source, but not sure how to approach this, "how much" of qt I really need to get the build working, which version of qt, any pointers appreciated.

2) If possible, hack the parts of musescore that uses qtwebengine5-dev out of musescore, not sure if this is even feasible, is qtwebengine5-dev used for core elements of musescore, or just "some small corner" that I can do without. Again, any input is highly appreciated.

Is there a better way to go about this? Anyone successfully compiled musescore on raspberry pi?


Comments

Thanks for the pointers!

I tried compiling following the steps outlined here: https://musescore.org/en/handbook/developers-handbook/compilation/compi…, make goes well, "sudo make install" fails, I can't figure out what the errors are exactly, any help appreciated. Here are the actual steps I did (I hope it's not totally obfuscated by linebreaks):

git clone --depth 1 git://github.com/musescore/MuseScore.git --branch v3.4.2
mv MuseScore MuseScore_3.4.2
edit Makefile (BUILD_WEBENGINE="OFF")
atte@hune:~/downloads/tmp/MuseScore_3.4.2$ grep WEBENG Makefile
BUILD_WEBENGINE="OFF" # Override with "OFF" to disable.
-DBUILD_WEBENGINE="${BUILD_WEBENGINE}" \
-DBUILD_WEBENGINE="${BUILD_WEBENGINE}" \
make revision
make
..snip
Scanning dependencies of target mscore_autogen
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make[3]: Entering directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 98%] Automatic MOC for target mscore
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 98%] Built target mscore_autogen
make[3]: Entering directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
Scanning dependencies of target mscore
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make[3]: Entering directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 98%] Building CXX object main/CMakeFiles/mscore.dir/mscore_autogen/mocs_compilation.cpp.o
[ 98%] Building CXX object main/CMakeFiles/mscore.dir/main.cpp.o
[100%] Linking CXX executable mscore
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[100%] Built target mscore
make[2]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make[1]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
sudo make install
..snip
make[3]: Entering directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 0%] Automatic MOC for target google_analytics
[ 1%] Automatic MOC for target global
[ 1%] Generating mscore.1.gz
[ 1%] Copying '/mnt/data/atte/tmp/MuseScore_3.4.2/share/workspaces/Basic.xml' to 'Basic/Basic.xml'
Man pages have been compressed ready for installation.
Creating symlink alias for man pages.
Symlink alias: musescore.1.gz -> mscore.1.gz
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 1%] Built target manpages
make[3]: Entering directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
Scanning dependencies of target mops1
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 1%] Copying '/mnt/data/atte/tmp/MuseScore_3.4.2/share/workspaces/Advanced.xml' to 'Advanced/Advanced.xml'
make[3]: Entering directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make[3]: *** No rule to make target 'all.h', needed by 'CMakeFiles/mops1'. Stop.
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make[2]: *** [CMakeFiles/Makefile2:73: CMakeFiles/mops1.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 1%] Built target global_autogen
[ 1%] Compressing 'Advanced.workspace'
[ 1%] Compressing 'Basic.workspace'
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 1%] Built target workspaces
make[3]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
[ 1%] Built target google_analytics_autogen
make[2]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make[1]: *** [Makefile:152: all] Error 2
make[1]: Leaving directory '/mnt/data/atte/tmp/MuseScore_3.4.2/build.release'
make: *** [Makefile:52: release] Error 2

In reply to by Atte Jensen

When I tried to compile MuseScore for the first time (not on a pi) I had the same webengine problem and when I fixed that I got numerous other weird errors like yours.
I don't know about your distro, but in some distributions (debian based), there are both qt4 and qt5 installed and this leads to compilations issues. You should check if you have qt4 installed and if yes, try to remove qt4 packages. You could also install qt5-default (if that's is not installed). These 2 things fixed my errors in various systems.

Good luck to you :-)

A bit late to this party, but what I ended up doing (just a few minutes ago with a fresh Raspberry Pi image and a fresh cloning of the MuseScore repo) appears to have worked, aside from ridiculously large scaling of everything (text, icons, etc):

Turn web engine stuff off in both Makefile and CMakeLists.txt

Makefile: BUILD_WEBENGINE="OFF" # Override with "OFF" to disable.
CMakeLists.txt: option(BUILD_WEBENGINE "Built in webengine support" OFF)

(I also did a "make clean" and "make revision" before the "make" just to be sure.)

Do you still have an unanswered question? Please log in first to post your question.