Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[qt5] Fix mac build #5624

Merged
merged 11 commits into from
Mar 14, 2019
Merged

[qt5] Fix mac build #5624

merged 11 commits into from
Mar 14, 2019

Conversation

seanwarren
Copy link
Contributor

This PR allows qt5 to be build on mac

@Rastaban Rastaban self-assigned this Mar 11, 2019
@seanwarren
Copy link
Contributor Author

Hi, could you let me know what is failing please?
Is there somewhere I can check this myself?

@vicroms
Copy link
Member

vicroms commented Mar 11, 2019

Sorry, it failed due to an unrelated problem with our CI infrastructure.
I'll trigger a new build.

At the moment, build logs are not public.
We're working on a solution to make relevant build logs available.

@Rastaban
Copy link
Contributor

With this change we are seeing regressions on windows with most ports that depend on qt5-base. On Linux the build is doing something that causes the test VM to become unresponsive and the Azure DevOps agent connection times out so I don't have any results. The qt5-base build on OSX was skipped, usually this is because one of its dependencies failed. I will see if I can figure out which one it is.

@seanwarren
Copy link
Contributor Author

I believe the regressions on windows are now resolved. For me, PR #5359 is required for building on linux

@TheScarfix
Copy link
Contributor

@seanwarren is qt5 building for you on Linux? because if it is my PR #5364 might become obsolete

@seanwarren
Copy link
Contributor Author

@TheScarfix yes qt5 builds on linux using this PR (although per #4560 qt-declarative fails with a static build)

@seanwarren
Copy link
Contributor Author

Hello, please could I have an update on whats failing in the CI system

@vicroms
Copy link
Member

vicroms commented Mar 12, 2019

Edit: Message was too long (see comment history for original), in summary the contents were:

  • Some packages now build in Linux.
  • No changes for Mac (no regressions, but no new packages succeeded)
  • Regressions for all Windows platforms
  • Issue with jom invocation that have since been fixed.

@seanwarren
Copy link
Contributor Author

seanwarren commented Mar 12, 2019

@vicroms, thanks for the update. Are these logs built including commit 992b2be , which should have resolved that error?

@vicroms
Copy link
Member

vicroms commented Mar 13, 2019

The commit is included, but the ports didn't get rebuilt after that change so they're reported as still failing.

Our CI only rebuilds packages that have been changed, as that commit didn't modify any port, then nothing got rebuilt and reports the previous failure.

I've added a whitespace to qt5-base that should trigger a rebuild of all Qt related packages.

@seanwarren
Copy link
Contributor Author

Ah yes of course. OK will bear in find for future reference

@vicroms
Copy link
Member

vicroms commented Mar 13, 2019

Here are the build results:

Processing x64-linux                      631 vs 618
    qt5-charts                                                  Pass vs Fail
    qt5-connectivity                                            Pass vs Fail
    qt5-datavis3d                                               Pass vs Fail
    qt5-gamepad                                                 Pass vs Fail
    qt5-imageformats                                            Pass vs Fail
    qt5-networkauth                                             Pass vs Fail
    qt5-script                                                  Pass vs Fail
    qt5-serialport                                              Pass vs Fail
    qt5-speech                                                  Pass vs Fail
    qt5-svg                                                     Pass vs Fail
    qt5-virtualkeyboard                                         Pass vs Fail
    qt5-webchannel                                              Pass vs Fail
    qt5-websockets                                              Pass vs Fail

I still don't see any new builds passing on Mac.
I noticed that qt5-base was skipped, and the only dependency I found to have problems was harfbuzz (which was also skipped). I'm investigating why harfbuzz was skipped for Mac.

Also, one important thing: please update the CONTROL versions of the modified ports.

@seanwarren
Copy link
Contributor Author

OK it looks like the harfbuzz update to 2.3.1 broke the mac build due to an unused variable warning and the use of -Werror. I've pushed a patch which removes the offending lines (which were if(false) {}'d out anyway)

Sorry about the CONTROL versions - I've bumped qt5-base now

@seanwarren
Copy link
Contributor Author

The build of harfbuzz is now fixed on mac, however Qt seems to have a problem linking to this new version and falls over on some tests during the configure stage.

Since harfbuzz is an optional component I have disabled this on the mac build in the interest of getting something working

@Rastaban
Copy link
Contributor

Rastaban commented Mar 13, 2019

This is what I now see in the CI system:

Processing x64-osx                        628 vs 612
    cutelyst2                                                   Fail vs Skip
    libqglviewer                                                Fail vs Skip
    qca                                                         Fail vs Skip
    qscintilla                                                  Fail vs Skip
    qt5-activeqt                                                Fail vs Skip
    qt5-declarative                                             Fail vs Skip
    qt5-purchasing                                              Fail vs Skip
    qt5-remoteobjects                                           Fail vs Skip
    qt5-base                                                    Pass vs Skip
    qt5-charts                                                  Pass vs Skip
    qt5-connectivity                                            Pass vs Skip
    qt5-datavis3d                                               Pass vs Skip
    qt5-gamepad                                                 Pass vs Skip
    qt5-imageformats                                            Pass vs Skip
    qt5-networkauth                                             Pass vs Skip
    qt5-script                                                  Pass vs Skip
    qt5-sensors                                                 Pass vs Skip
    qt5-serialport                                              Pass vs Skip
    qt5-speech                                                  Pass vs Skip
    qt5-svg                                                     Pass vs Skip
    qt5-virtualkeyboard                                         Pass vs Skip
    qt5-webchannel                                              Pass vs Skip
    qt5-websockets                                              Pass vs Skip
    qt5-xmlpatterns                                             Pass vs Skip

The build failures in the list are not considered regressions because they were previously being skipped so we could accept this PR even with those failures. However you are on a roll, are you interested in investigating these failures as part of this PR?

@seanwarren
Copy link
Contributor Author

I think qt-declarative might be a bit more complex than I have time for (see #4560), I'll have a quick look at the others

@seanwarren
Copy link
Contributor Author

I think I can resolve most of these failures, however some of the fixes might need discussion.
Is it ok if we merge this PR as-is and I'll open another one for the other failures?
Cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants