MuseScore git master fails to compile with -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON

• Mar 22, 2015 - 23:06
Reported version
3.0
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Everytime I compile MuseScore from git with -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON, I get the following error:


$ cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON .
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.9.1")
found Doxygen
-- configured /home/kalle/Sources/MuseScore/build/Doxyfile.in --> /home/kalle/Sources/MuseScore/Doxyfile
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- checking for module 'libpulse'
-- package 'libpulse' not found
-- Found lame: /usr/lib64/libmp3lame.so
Alsa found.
Pulseaudio not found.
-- jack (jack audio connection kit) >= 0.98.0 found
portaudio detected /usr/include /usr/lib64 -lportaudio -lm -lpthread
-- precompiled header generation
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
QTSINGLEAPPLICATION_INCLUDE_DIRS
used as include directory in directory /home/kalle/Sources/MuseScore/mscore

-- Configuring incomplete, errors occurred!
See also "/home/kalle/Sources/MuseScore/CMakeFiles/CMakeOutput.log".

I am running Gentoo GNU/Linux unstable on amd64. This patch fixes the issue:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ffff26..47307c4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -326,7 +326,7 @@ endif(APPLE)
##

if (USE_SYSTEM_QTSINGLEAPPLICATION)
- find_path(QTSINGLEAPPLICATION_INCLUDE_DIRS qtsingleapplication.h PATH_SUFFIXES QtSolutions)
+ find_path(QTSINGLEAPPLICATION_INCLUDE_DIRS qtsingleapplication.h PATH_SUFFIXES qt5/QtSolutions)
find_library(QTSINGLEAPPLICATION_LIBRARIES QtSolutions_SingleApplication-2.6)
else(USE_SYSTEM_QTSINGLEAPPLICATION)
subdirs (thirdparty/singleapp)

Please tell me if you need more information.

Thanks in advance,
Karl


Comments

Sure! Actually, the reason I report this bug is because I am creating a live (git) ebuild for MuseScore for the Pro-Audio Gentoo Overlay [1]. The difference between the live ebuild and the 2.0 version should be minimal. Since I am not a Gentoo developer (I am a Gentoo overlay maintainer/developer) I do not know if I can get the ebuild into the official Portage tree, but I can make the ebuild available in the Pro-Audio overlay. I guess sooner or later the official Portage tree will have the new version...

However, before I can finish an ebuild, this issue should be fixed since bundled libraries are pain for maintainers [2].

[1] http://proaudio.tuxfamily.org/wiki/index.php?title=Main_Page
[2] https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies

Yeah, for the versioned ebuild this is no problem; just apply the patch, but for the other ebuild I was planning (the live ebuild that builds directly from git) I would appreciate if this bug got fixed so that the patch does not have to be ported each and every time the source changes.

Unfortunately I am short on time this week, so in the worst case the ebuilds will not be available until the weekend. For example, I must craft a few more patches to remove automagic dependencies (on portaudio for example) from the build system. Automagic dependencies are too bad [2].

[2] https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_depend…

Hi
Same issue and almost same solution on Fedora 28, building v2.3.2
(The line is patched in the Fedora "spec file" that is used to build the RPM, but I first looked on Google ...)

They do this: sed -i \
-e "/QTSINGLEAPPLICATION_INCLUDE_DIRS/s|)| PATHS %{_includedir}/qt5)|" \
-e "s|QtSolutions_SingleApplication-2.6|Qt5Solutions_SingleApplication-2.6|" \
CMakeLists.txt