MuseScore installation on gentoo

• Jul 24, 2013 - 01:30

Hi, I get a little issue using mscore-1.3, but as you prefer repports with the last code. I am trying to install it on gentoo with portage on gentoo. I prefer to use portage because it manage the installed files and the dependencies for me for me.

First, I now nothing to cmake. And I realy have other things to do than to read hundreds of web pages before I can understand how I can pass parameters to your mscore build system.

It would really be great if it was some documentation, at least in the readme, that explain what a Joe user like me can do with mscore build system.

############

My system is gentoo linux ~amd64 with parts of qt5.1 installed from the qt overlay.

The first issue I get with the git code is: the build fail because it doesn't understand that pulseaudio is not installed. I modifed the CMakeLists.txt file as follow:

sed -i 's:include (FindPulseAudio):#:' CMakeLists.txt
sed -i 's:USE_PULSEAUDIO 1:USE_PULSEAUDIO 0:' CMakeLists.txt
sed -i 's:Pulseaudio found:Pulseaudio not found:' CMakeLists.txt

It is not a fix, just a workaround that work for me.

##############

After that, I get a lot of warnings like:

cc1plus: warning: /var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/mscore/build.release/all.h.gch: created and used with differing settings of '-m3dnow' [enabled by default]

and:

cc1plus: warning: /var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/mscore/build.release/all.h.gch: created and used with different settings of -fpie [enabled by default]

Which command can I use, or what can I do, in order to remove the cause of these warnings?

###############

Also, I have a question about the qt5 dependencies. In the ebuild, I put the following depends:

dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtscript:5
dev-qt/qtsvg:5
dev-qt/designer:5
dev-qt/qtdeclarative:5
dev-qt/qtscript:5
dev-qt/qttest:5
dev-qt/qtxmlpatterns:5
dev-qt/qtsql:5
dev-qt/qtconcurrent:5
dev-qt/qtwebkit:5[widgets]
dev-qt/qtopengl:5

Is it enough, or am I missing something?

I get the following warnings at the beginning of the build:

Could not find a package configuration file provided by "Qt5Declarative"
with any of the following names:

Qt5DeclarativeConfig.cmake
qt5declarative-config.cmake

That strange, because qtdeclarative-5.1.0 is installed, but I didn't find the 2 above files. What can I do?

###

Could not find a package configuration file provided by "Qt5ScriptTools"
with any of the following names:

Qt5ScriptToolsConfig.cmake
qt5s Could not find a package configuration file provided by "Qt5ScriptTools"
with any of the following names:

Qt5ScriptToolsConfig.cmake
qt5scripttools-config.cmake

Same problem here.

###

Could not find a package configuration file provided by "Qt5LinguistTools"
with any of the following names:

Qt5LinguistToolsConfig.cmake
qt5linguisttools-config.cmake

Here, it is no qt5 linguist ebuild in the qt5 overlay. So, which package provide it?

###

I still have to debug the ebuild to get it installed, but it compile.


Comments

The install begun to work, but now I get an access violation:

ScanFile /var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/ms * ACCESS DENIED: mkdir: /usr/local/share/mscore-2.0
/var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/mscore: cannot create destination path:

This file doesn't respect $PREFIX.

and an error:

CMake Error at share/locale/cmake_install.cmake:36 (FILE):
file INSTALL cannot find
"/var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/mscore/share/locale/mscore_af.qm".
Call Stack (most recent call first):
share/cmake_install.cmake:43 (INCLUDE)
cmake_install.cmake:49 (INCLUDE)

This file doesn't exist.

In reply to by [DELETED] 5

# make lrerelease
make: *** No rule to make target `lrerelease'. Stop.

It is a release option into the Makefile. I get the same result with "make", "make release" and "make release" followed by "make". In all cases, the build succeed with a lot of the mentioned warnings (hundreds of them), the qm files ares not generated, and emerge issue a sandobx violation:

ScanFile /var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/mscore/libmscore/tremolobar.h
ScanFile /var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/ms * ACCESS DENIED: mkdir: /usr/share/mscore-2.0
/var/tmp/portage/media-sound/musescore-9999/work/mscore-9999/mscore: cannot create destination path:

In fact, it understand $PREFIX, but not $DESTDIR.
Portage use a sandbox, and the build system must understand both of them.

In reply to by [DELETED] 5

In the main MakefileIn the main Makefile:

release:
if test ! -d build.release; then mkdir build.release; fi; \
cd build.release; \
export PATH=${BINPATH}; \
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" ..; \
make lrelease; \
make -j ${CPUS}; \

If I do:

cd build.release
make lrelease

all I get is:

/bin/sh: Qt5::lrelease: command not found
make[3]: *** [CMakeFiles/lrelease] Error 127
make[2]: *** [CMakeFiles/lrelease.dir/all] Error 2
make[1]: *** [CMakeFiles/lrelease.dir/rule] Error 2
make: *** [lrelease] Error 2

and:
# lrelease
Usage:
lrelease [options] project-file
lrelease [options] ts-files [-qm qm-file]
...

In reply to by DominiqueMichel

Now, it compile to the end, but I still get the sandbox violation. It look like to come from that line in the main CMakeList.txt file:

DEPENDS genManual
./CMakeLists.txt: COMMAND ${PROJECT_BINARY_DIR}/manual/${CMAKE_CFG_INTDIR}/genManual ${PROJECT_SOURCE_DIR} ${CMAKE_INSTALL_PREFIX}/${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME}manual

In reply to by DominiqueMichel

I patched CMakeLists.txt to remove that section.

Now musescore is installed and it run.

But it is another problem now. The font in use into the default qt5 theme is so small I must use xzoom to read mscore's menus.

Otherwise mscore look great, but well, if I cannot read the menus, that's mean it is unusable for me. I didn't find a way to change the font size, so I will mask this experimental ebuild and downgrade mscore to 1.3 until qt5 is user friendly. qtconfig doesn't compile, and the new split build system is terrific: it is not even a documentation that tell which part install what. I just have no more time to waste with this.

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