So where do I get Qt 5.4.2?

• May 28, 2017 - 20:47

Trying to start contributing as a MuseScore developer, down the second hurdle.

On https://musescore.org/en/developers-handbook/compilation/compile-instru… I get to this:

"6. Qt 5.8 is shipped as a online installer, suitable for 10.7+. Download, open the DMG and run the online installer. By default it will install Qt 5.8 in your home directory. To build any 2.x version of MuseScore, you need Qt 5.4.2 though."

Uh, okay? The instructions continue with obvious references to Qt 5.8 (not 5.4.2)

When I go to the Qt website, there appears to be no way to download previous versions of their tool.


Comments

Actually, you can install any recent-ish version using the online installer - the one our compile instructions specifically say to use. Fire up the online installer and it shows you a whole list of things you can download, including Qt 5.4.2.

In reply to by Marc Sabatella

Okay, I see now what this is trying to tell me:

"6. Qt 5.8 is shipped as a online installer, suitable for 10.7+. Download, open the DMG and run the online installer. By default it will install Qt 5.8 in your home directory. To build any 2.x version of MuseScore, you need Qt 5.4.2 though."

Something so basic and important should not be written in such an unclear and offhand manner. Please change it to something clearer, like:

"6. Download the Qt online installer 3.0 (not 5.8???) (OS 10.7+). Do not install the latest version of Qt. Install only version Qt 5.4.2, as newer versions currently exhibit bugs when compiling MuseScore. Below we refer to the version name of the installer, 5.8, but you will be running Qt 5.4.2." <-- actually that still doesn't make sense. The current installer version I see is 3.0.0. Someone please fix these instructions.

You might also want to say something about having to open an account at Qt and sign up for a 30 day trial in order to download Qt. I have Qt version 2.1 installed on my machine from 2011, and at that time Qt could be downloaded directly from the web. Obviously things have changed a little since then.

In reply to by [DELETED] 5

lasonic, it looks to me like MuseScore needs to update its instructions for developers. The MuseScore issue I reported: https://musescore.org/en/node/207346 is a 5 minute fix. I've now spent several hours trying to get to the point where I can simply look at the code to fix this problem, without success. It took me about 5 minutes to write a method in my own software which fixes this problem when importing the wrongly formed files from MuseScore.

I am aware that 10.9 is an old OS. I refuse to change to the newer Mac OS versions because each new version of the Mac OS is regressively bigger, slower and simply worse than the previous one.

I also have a Windows machine, so rather than wade through out-of-date MuseScore instructions and file bug reports with Qt that will never be fixed for an out-of-date Mac version, I'll try with Windows 10 later.

In reply to by [DELETED] 5

The instructions are not "fine". They are poorly written and contain wrong and misleading information:

"6. Qt 5.8 is shipped as a online installer"

No, it isn't. There is a separate app, called "Qt installer" which is currently at version 3.0.0

", suitable for 10.7+."

Wrong. The installer crashes under 10.9

" Download, open the DMG and run the online installer."

To download, a user has to sign up for a 30-day trial at Qt, which includes giving out a phone number.

" By default it will install Qt 5.8 in your home directory."

It won't if it crashes on booting.

" To build any 2.x version of MuseScore, you need Qt 5.4.2 though."

Huh? This sounds contradictory, leaves one scratching one's head. If development requires 5.8 as you say above, then why is this offhand remark about 5.4.2 even included here? If I'm going to "develop" the current version of MuseScore, which is 2.1, then this tells me I need 5.4.2, but you tell me I need 5.8. Which is it?

If you want developers to join, volunteering their time for free, they shouldn't have to waste their time with this kind of nonsense. Please fix the instructions.

In reply to by neo-barock

The Qt installer version is entirely separate from the Qt you'll install, we have no control over the version and it quite frankly doesn't even matter. The point still stands that you need the online installer to be able to install Qt5.8; therefor it *is* the way that it is shipped.

If the installer crashes for you, then report the crash to Qt.

To download you don't have to sign up for anything. Click on "Desktop" then on "Open Source": Done.

The current development is master, it is so for any project using git as a versioning system. This is not MuseScore specific talk.

Aside from the triggered responses, I do agree that the versioning information on the Windows instructions page were more clear, so I've copied those over to the mac page.

In reply to by jeetee

"The Qt installer version is entirely separate from the Qt you'll install, we have no control over the version and it quite frankly doesn't even matter."

Right. But don't call Qt 5.8 an installer. It isn't an installer.

"The point still stands that you need the online installer to be able to install Qt5.8; therefor it *is* the way that it is shipped."

Nope. It's not shipped "as an installer". It's shipped *via* an installer (as I see you have now in fact changed the text to read). There is a huge difference between "as" and "via". "As" was dead wrong, so why do you pretend to be correcting me here?

"If the installer crashes for you, then report the crash to Qt."

I reported it to you here because MuseScore was claiming that it works with 10.7 when it crashes with 10.9 I did not report it to Qt because Qt did not provide any System Requirements information so didn't claim anything, therefore it's not a Qt bug as far as I'm concerned. Sheesh people.

"To download you don't have to sign up for anything. Click on "Desktop" then on "Open Source": Done."

Great, thanks. I completely missed that.

"The current development is master, it is so for any project using git as a versioning system. This is not MuseScore specific talk."

It's talk for a developer to get started contributing to MuseScore, trying to follow instructions on the MuseScore website that are wrong. That seems pretty MuseScore-specific if you ask me.

"Aside from the triggered responses, I do agree that the versioning information on the Windows instructions page were more clear, so I've copied those over to the mac page."

Why is "suitable for 10.7+" still there? If Qt provides no system requirement information, why is MuseScore claiming compatibility which is demonstrably false? If MuseScore development is depending on a Qt installer whose version doesn't matter, then you should strike the reference to OS compatibility altogether and let the burden fall on Qt.

In reply to by neo-barock

Installing directly this way is not recommended, the process that we have developed for the build and for keeping versions up to date and for allowing side-by-side versions is really optimized to work with the online installer. I'm not saying it's impossible to get it to work another way, so feel free to explore that territory and document the steps if it turns out to lead to a successful build for you. But I think we'd rather one consistent set of steps that is known to work similarly across supported platforms.

In reply to by Marc Sabatella

"Installing directly this way is not recommended, the process that we have developed for the build and for keeping versions up to date and for allowing side-by-side versions is really optimized to work with the online installer."

It makes no difference whether one installs various versions of Qt directly via download links, or with the downloader app. The same packages are going to be installed in either case.

Since the downloader app crashes immediately on earlier versions of OSX, direct download links should be there. I suppose you could consider deliberately shutting out everyone who isn't able to use the downloader app. (It's always easier to just tell people they have to upgrade.)

That would simplify the upkeep of the instructions. But in that case it should also be made clear that only users of the latest Mac OS can participate, and of course the rest of the instructions should be updated to talk about the latest version of Xcode (7), and not Xcode 5.

In reply to by neo-barock

The folder structure might be different, especially if trying to maintain multiple installations. As I said, if you can get this alternate scheme to work, great, and feel free to document it. But it's much bettmethod focus our limited resources on one supported method.

You are the first to report an issue with the Qt installer on older unsupported OS's, so we had no way of knowing wouldn't work. As mentioned, you should report it to Qt. But our own resources are too limited to support every older OS version out there.

In reply to by neo-barock

Why is "suitable for 10.7+" still there? If Qt provides no system requirement information, why is MuseScore claiming compatibility which is demonstrably false? If MuseScore development is depending on a Qt installer whose version doesn't matter, then you should strike the reference to OS compatibility altogether and let the burden fall on Qt.

I left it in because:
A./ I don't develop on a mac, don't have once and can't verify the truthfulness of that statement.
B./ We depend on more libraries than just Qt
C./ If Qt were to fix its installer (which obviously at one point in time did work on 10.7) that statement would remain true.

You are the first user to note/mention that apparently the Qt-installer no longer works on that version, which is a good reason to adjust it. The developer handbook is a wiki-style document; you are free (and encouraged!) to update it with your experience. Especially on the point of incompatibilities.

There is a huge difference between "as" and "via"

Agreed, that why I've changed it :-)
But also keep in mind that MuseScore thrives because of its volunteers, many of which are non-native English speakers/writers (myself included). I'm sorry that such a small word mix-up has caused you troubles and I do thank you for pointing it out. In the end, we're all getting better for it.

What you might not be aware of, is that your tone came across rather harsh and on the edge of insulting (why can't [stupid] musescore not even get so simple instructions clear and correct?)? I'm positive that this wasn't your intention at all; but simply ask for a little bit of appreciation on both sides. Both for those who've put some time into attempting to write to instructions when there weren't any yet; and those (like yourself) willing to contribute and improve this product and community.

In reply to by jeetee

jeetee, as a non-native speaker of German living in Germany, I do truly appreciate what you're saying. Believe me, your English is much better than my German ;)

It is of course frustrating to try to help, to be led to believe that setting things up will just take a few simple steps, and then find that at almost every step the instructions are wrong. I'm glad to be able to help correct them, and have added direct download links to Qt.

In reply to by neo-barock

Also jeetee, about the language "as" and "via", I can see how it would be very easy to get this mixed up, because it turns out that:

- Qt 5.8 for Mac in fact does begin as an installer, but with this installer you cannot also install other versions of Qt.
- Qt 5.4.2 is also its own installer, which also does not allow installing other versions.

The reason for this is that, similar to Windows, almost all Mac applications have their own installer (package). Only some apps also have an additional pre-installer (a "downloader") which is a separate app that downloads packages, as is the case with the separate Qt Installer app. Adobe does this too, for example.

Anyway, the Compile Instructions webpage was previously wrong and is now correct.

But there is another clue that this webpage is out of date: all the references to Xcode state "Xcode 5" but Xcode is now in version 7. The ways things get done in Xcode can change a lot from one version to the next, so I will try to verify that the instructions on the webpage work for the version of Xcode that I'm running - Xcode 6, though I'm not optimistic. I also can't verify anything for Xcode 7 because I can't install it (as I do not run the latest OSX).

In reply to by Jojo-Schmitz

Indeed, that is why we do have instructions on how to build 2.x as necessary, but to be clear. the default case is, new development should be on master. Even bug fixes to address regressions in 2.1 should be developed on master, as I understand, unless it is known the issue *only* affects 2.1 (and not master), which is indeed possible.

In reply to by Marc Sabatella

Okay. Mentioning that another version of Qt is needed but not mentioning that it's only for 1% of the cases seems misleading to me. In that case I'd say Qt 5.4.2 doesn't need to be mentioned in the instructions. Anyone working along those lines is going to know that already, or find that info somewhere else, right?

In its original wording the instruction sounded to me as if I needed 5.4.2 in order to work on MuseScore 2.x, and since the MuseScore release is now 2.1, to me that means the current release is a subset of 2.x, but it sounds like I must be wrong about that.

Sorry to be so dense, but I don't use these tools and have never participated in an open source project, obviously.

In reply to by neo-barock

I don't understand the question, but let me just restate plainly: all current development should be in master. You should in no way whatsoever be concerned with 2.1, 2.2, 2.x, or 2 dot anything else. All development should be in master. I mentioned IRC because it is a much more efficient method for working through build issues.

Actually, if I understand you correctly, it sounds like maybe you are misunderstanding something: Qt 5.4.2 *is* required for 2.1 as well as 2.2 as well as any other 2 dot anything. It's just that, once again, you should not be developing on those branches, so the that's why I say it's moot. Develop on master, period. *If* it is then later determined that we want to have another 2.x release, we can "cherry-pick" relevant commits from the master branch and apply them manually to 2.2 or whatever, but even if this happens, chances are this will be done without your ever having had to checkout or build that branch yourself.

In reply to by Marc Sabatella

Thanks. Yes, as I mentioned in the first bug report I posted here, I've never used git, and never participated in an open source project. Probably I should have written that again in this thread. It may help to remember that to anyone who does not understand how versioning works in git (or any other version control system, I suppose), the verbiage on the webpage concerning MuseScore versions and Qt requirements is going to appear confusing and contradictory..

My mentality comes from the 1980's, when I could flip a switch and start programming. As a solo developer, version control has never been necessary for me. Save-and-rename-as-you-go has always been enough. So up to now I've understood version control in principle as a tool for group projects, but never understood in detail, because I never used it.

Anyway, now that I joined git and have the git book, I'm beginning to understand how it's used, and what the statements about versions mean. So now I get what you're saying.

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