Linux build

• Jan 1, 2015 - 18:40

I built 2.0b from source on OpenSuse 13.1. Easy build after finding and installing all the necessary Qt5 libraries. Everything working well so far.


Comments

ian, can you be more specific please?
'finding and installing all the necessary Qt5' what do you mean
by this? I want to change from Win7 to Linux and although being
a newbee on Linux, I have now an old pc where Win xp is removed
and I have Linux Mint 17.1 MATE 32 bit installed on it.
One of the main reasons I hesitated so long to change o.s. was
that I could not manage to get MuseScore up and running on Linux.
So my question to you.
Thanks in advance.
Joe.

It will be different on every distro. m.s.2 seems to require the latest Qt5 libraries and development packages. On opensuse, these are not in the main distribution repository, but in subsidiary Qt repositories which you have to enable. Then when you try 'make release' it will tell you what Qt packages are missing, and you can install them. If working from a download of the source .zip, you can ignore error messages about not using git.

If I can be of help, I have mscore 2 compiled from GIT source under OpenSuse 13.3. Getting it to compile cleanly was not an easy exercise, at least for me. Finding all the, as Ian says 'necessary' libraries was a time consuming - and it is not just Qt5, but other libraries you need as well for audio and other requirements.

However, it has been worth it as V2 has evolved over time into an excellent product. I could not now go back to earlier ones!

Good luck, again, my offer stands if you need it.

In reply to by turtlevt

I size the opportunity to ask you about the size of the mscore file you obtained.
I am the compiler uploading to http://prereleases.musescore.org/linux/nightly/. working under Mint17 (=Ubuntu 14.04)

The compilation by itself (the make command) produce a ~/musescore/MuseScore/build.release/mscore/mscore file of about 280 Mio, which can run. This is the file I do upload.

Further I run the make install command which produces /usr/local/bin/mscore of about 20 Mio which also can run.

I guess that the second one runs with the help of libraries available on my computer, and that the first one (which is perhaps used by other debian related linux users) includes these libraries.

Is your Suse installation similar ?

In reply to by robert leleu

Yes, the mscore executable, placed by the build into /usr/local/bin is of similar size to yours.

-rwxr-xr-x 1 root root 21518952 Jan 6 13:43 /usr/local/bin/mscore

In build.release it is 366.7MB.

To get mscore to compile I had to add the following lines to my .bashrc file.

PATH=$PATH:~/Qt/5.4/gcc_64/bin
QT_PLUGIN_PATH=$QT_PLUGIN_PATH:/home/turtle/Qt/5.4/gcc_64/plugins
CMAKE_PREFIX_PATH=/home/turtle/Qt/5.4/gcc_64/lib/cmake:/home/turtle/Qt/Qt5.4/gcc_64

and to get it to run I had to create the following script which I call instead of calling mscore directly.

QT_PLUGIN_PATH=$QT_PLUGIN_PATH:/home/turtle/Qt/5.4/gcc_64/plugins
mscore

Note I have QT5.4 installed in my home directory, not into the system itself.

It is working fine now.

If the 280 Meg one contained the libraries then we wouldn't hear about errors when it seeks GCCxx, Qt5 etc. and you wouldn't need a script in Linux to temporarily point the $Path to Qt etc.

On Suse the build produces the enormous file. It contains debugging symbols. If you strip it with the strip command, the result is about 21Mb. I guess you activated an automatic strip somehow.

In reply to by JoeAlders

Well Robert here my first problem:
After downloading and extracting the file (on my home folder which is on my second HD drive,
on my first HD drive are every other parts of the Linux O.S.), I see an icon : mscore.
When I right-click on it > Properties and on the 'basic' tab there is: Type: executable (application/x-executable).
Nothing to check something like 'Is Executable'.
Double-clicking on the icon: nothing happens.
Perhaps you can help me out here?
Joe.

In reply to by JoeAlders

Hi Joe, I have exactly the same problem in my Linux version - MX-14, a Debian-based distro. However I find the Windows nightlies and the latest beta work fine in Wine.

Compiling from source is a step too far (several steps, actually!) but I hope eventually to get a native Linux version.

In reply to by Brer Fox

Hello Brer, I managed to get the mscore executable into: /usr/local/bin by the advice of
turtlevt (received only a mail notification from him/her, cannot see the response here. Strange)
after being a su and using the command line:

1. extract the file : tar -xvjf < 'filename'.tar.bz2> -C /user/local/bin
2. entering that bin file, there is the 'mscore' but whatever I try, nothing happens.

I think I will use "Wine" to get things running as a windows program.

In reply to by JoeAlders

The windows «properties» shows 2 tabs.
The second one has a tickable «is executable» see attached

For the first trial you could open a terminal (Dolphin has a menu for that, perhaps also your file manager ?), and run mscore by typing "./mscore" in the terminal. In case of problem some message could be displayed.

Attachment Size
capture d'écran14.png 25.72 KB

In reply to by robert leleu

After entering /usr/local/bin in the command line and typing /.mscore, the following message
was displayed:
error while loading shared libraries: libQt5XmlPatterns.so.5: cannot open shared object file:
No such file or directory.
I have to download something first but to not know what.
Conclusion: I give up, thanks for the help guys!

In reply to by JoeAlders

Joe,

One last try?

This is the content of my PATH and QT_PLUGIN_PATH. Maybe your system is not showing the loader where to find the libraries.

In konsole or a terminal enter:

printenv | sort | more

Look for and compare your variables with these below:-

PATH=/home/turtle/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/opt/kde3/bin:/opt/real/RealPlayer:/home/turtle/Qt/5.4/gcc_64/bin

QT_PLUGIN_PATH=/home/turtle/.kde4/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/:/home/turtle/Qt/5.4/gcc_64/plugins

If you don't see the Qt stuff, you should add/change them to the locations where you have the files on your own system. I have done this on my own system through a simple script which sets the environment variables and then calls mscore. I then simply call the script for loading and running mscore.

Aren't computers fun!!

In reply to by turtlevt

turtlevt,
It is clear that I do not have that Qt 'thing' (have not the
foggiest idea what it is).
From where can I download that 'Qt stuff' ? If I use 'Package Manager' and filter for Qt or qt,
I cannot see anything that matches someling like Qt/5.4 or so.

In reply to by JoeAlders

Joe. It came from the developers, not from the OpenSuse repositories. Here's how I did it:-

Go to http://www.qt.io/download-open-source/

If you click on the big, green download button, it downloads an 'installer' onto your system. The file is called: qt-opensource-linux-x64-1.6.0-7-online.bin on my system (I am 64 bit).

When it has finished downloading, make sure the file has an executable permission bit -rwx.
Then, from a terminal or konsole window, enter the file name and run it.

A download window should open. Follow the download instructions. It takes quite a while to download the full Qt5 set. I specified my home directory as the place to put it.

Once it is downloaded, you can make your own little script to call mscore adding the lines to show the system where to find the Qt files. Others on the forum have kindly also shown examples of doing this.

Then, hopefully, you should have a working MuseScore.

In reply to by underquark

My God is this frustrating!

I managed to download a version of Qt using the Package Manager.
Could not see which version was downloaded so after downloading I did a 'locate' in a terminal and to my surprise this was version 5.2.1. But anyway....
Then I executed 'printenv | sort | more ' and did not see anything which points to Qt5. After I calmed down (did not realize that Linux could be so frustrating), I read the comment which underquark wrote, clicked on the link, downloaded the offline installer Qt 5.4.0 32 bit version for Linux Host and what do I have to do now?
Can somebody (underquark?) supply me a STEP BY STEP procedure how to proceed further please!!
For you Linux addicts this is must be a piece of cake but for me as an absolute Linux beginner NOTHING is easy!

In reply to by JoeAlders

FWIW, the problem isn't Linux itself; it's simply that no official MuseScore package for Linux have been created yet. If you had to manually install everything on Windows too, you'd be just as frustrated.

Once official Linux packages are created - which I assume will happen when 2.0 is officially released - then installation will be just as simple as it appears to be on Windows and Mac.

Meanwhile, until an official package is available for your distribution, I suspect it would be easier to build MuseScore yourself - there *are* clear step by step instructions on how to do that in the Developer's Handbook on this site (click Development link in menu at right).

@JoeAlders

I note that earlier you said that you are using Mint 17 so I can't give you step-by-step instructions for this as - although it is based on ubuntu - I don't use it. I use plain old ubuntu and the XFCE desktop (less fancy but runs well). The reason I use ubuntu is not because it is the best OS or even the best Linux OS but because it has a HUGE user base and support seems easier to get than for some other distro's.

FWI I just went to the Qt site and followed instructions and built QT5 from source. I can't remember how I did it but I just read the guides there and it worked. I then modified a script already found on this site to add the qt libraries to my path before the latest MS runs. I still use 1.3 and it runs without all that effort.

What version Qt does your Linux Mint come with anyway? It might already be up to date.

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