[SOLVED] Compiling: failed to create symbolic link 'musescore.1.gz': Operation not permitted
Ubuntu 20.04.3 LTS
Qt 5.15.2
Trying to compile the source files for the stable release. Latest via GitHub gives same problem.
> make release
[...]
Man pages have been compressed ready for installation.
Creating symlink alias for man pages.
Scanning dependencies of target global_autogen
/usr/bin/ln: failed to create symbolic link 'musescore.1.gz': Operation not permitted
make[3]: *** [CMakeFiles/manpages.dir/build.make:66: manpages] Error 1
make[3]: Leaving directory '[...]/build.release'
make[2]: *** [CMakeFiles/Makefile2:2280: CMakeFiles/manpages.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[...]
make: *** [Makefile:53: release] Error 2
Comments
I don't think building local release builds is actually supported.
In reply to I don't think building local… by jeetee
I've downloaded from here: https://musescore.org/en/download
under "Source Code".
Anyway, I got the same error forking from GitHub and trying to compile the latest version.
If you meant to use "debug", I get the same error with debug too.
In reply to Uh? I've downloaded from… by 255
First things first; latest stable is 3.6.2 and the dependencies are different than for the current master source code (to become MS4).
If you're trying to build 3.6.2 (why?) then see https://musescore.org/en/handbook/developers-handbook/compilation/compi…
If you're instead trying to build master, then see https://github.com/musescore/MuseScore/wiki/Compile-on-the-command-line
The former requires Qt5.9 (or 5.12) and indeed uses make (but not the release target! use mscore and install targets!), the latter does indeed require Qt5.15 but does not involve calling make directly.
In reply to First things first; latest… by jeetee
GitHub master:
> ./build.cmake
[...]
[ 0%] Automatic MOC and UIC for target gtest
[ 0%] Automatic MOC and UIC for target global
[ 0%] Generating mscore.1.gz
Man pages have been compressed ready for installation.
Creating symlink alias for man pages.
/usr/bin/ln: failed to create symbolic link 'musescore.1.gz': Operation not permitted
make[2]: *** [CMakeFiles/manpages.dir/build.make:67: manpages] Error 1
make[1]: *** [CMakeFiles/Makefile2:1947: CMakeFiles/manpages.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: warning: Clock skew detected. Your build may be incomplete.
[ 0%] Built target gtest_autogen
make[2]: warning: Clock skew detected. Your build may be incomplete.
[ 0%] Built target global_autogen
make: *** [Makefile:141: all] Error 2
CMake Error at build.cmake:249 (message):
Build step failed with status 2. See output above for details.
In reply to GitHub master: > ./build… by 255
You might need sudo to be able to install the symbolic link for the manpages target. Although I'm again not certain that it should be installing them for a normal dev build, so if you can join in the development chat on discord then someone with an active *nix build system should be able to help you out further.
In reply to You might need sudo to be… by jeetee
Ok in the end it was VirtualBox. You cannot create symlinks in a shared folder (can be enabled though).
I uncommented the affected line, and manually created a copy of the file it wanted to link, and it compiled.
In reply to Ok in the end it was… by 255
Symlinks or hardlinks? If one doesn't work., does the other?
ISTR that symbolic links are optional in POSIX, while hardlinks are not.
In reply to Symlinks or hardlinks? If… by Jojo-Schmitz
I had edited the post: both symlinks or hardlinks don't work.
However there seem to be a way to enable symlinks in VirtualBox.
In reply to I had edited the post: both… by 255
Maybe something like
ln -s xxx yyy || cp xxx yyy
, i.e. copy if the symlink fails, would fix this issue?In reply to Ok in the end it was… by 255
One has to wonder.. why VirtualBox for compilation and not native?