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 build failure in linux #7042

Closed
wants to merge 6 commits into from
Closed

[qt5]Fix build failure in linux #7042

wants to merge 6 commits into from

Conversation

JackBoosY
Copy link
Contributor

@JackBoosY JackBoosY commented Jun 26, 2019

Now we don't need to use qmake_all to build qt5 and other modules in linux, it seems to break the disabled parameters during the build. See documentation.

Fix the failure of qt5 module build in linux (caused by #5293):

  • qt5-base
  • qt5-3d
  • qt5-activeqt : only support Windows
  • qt5-charts
  • qt5-connectivity
  • qt5-datavis3d
  • qt5-declarative
  • qt5-gamepad
  • qt5-graphicaleffects
  • qt5-imageformats
  • qt5-location
  • qt5-macextras : only support OSX
  • qt5-modularscripts
  • qt5-mqtt
  • qt5-multimedia
  • qt5-networkauth
  • qt5-purchasing
  • qt5-quickcontrols
  • qt5-quickcontrols2
  • qt5-remoteobjects
  • qt5-script
  • qt5-scxml
  • qt5-sensors
  • qt5-serialport
  • qt5-speech
  • qt5-svg
  • qt5-tools
  • qt5-virtualkeyboard
  • qt5-webchannel
  • qt5-websockets
  • qt5-webview
  • qt5-winextras : only support Windows
  • qt5-xmlpatterns

Related: #6962 #5655 #5362 #3859 #3644.

@JackBoosY JackBoosY added wip info:internal This PR or Issue was filed by the vcpkg team. labels Jun 26, 2019
@JackBoosY
Copy link
Contributor Author

@TheScarfix can you have a look?

@TheScarfix
Copy link
Contributor

will try to look into it tomorrow. Still trying to fix the build of 5.12.4. Maybe a major rework of the port for the next update might be useful.

@JackBoosY
Copy link
Contributor Author

JackBoosY commented Jun 27, 2019

@TheScarfix BTY, why do we need to execute make qmake_all before executing make? I did not see this option in the official documentation(Windows Linux OSX).

@TheScarfix
Copy link
Contributor

I don't really know, I just made the update to 5.12 and not much related to the scripts here that make qt work.

@heydojo
Copy link
Contributor

heydojo commented Jun 28, 2019

@TheScarfix BTY, why do we need to execute make qmake_all before executing make? I did not see this option in the official documentation(Windows Linux OSX).

A configure step which is used to generate project files.
https://doc.qt.io/qt-5/qmake-common-projects.html#

Maybe a major rework of the port for the next update might be useful.

That's too big a project to take on by one person. Better to just fix what's there for now. The paths in the compiled binaries and the replication of files inside the various plugin directories are the main issues. Try deploying an application using windeployqt which uses qtquickwidgets and some translations for example.

@JackBoosY JackBoosY marked this pull request as ready for review June 28, 2019 05:42
@JackBoosY
Copy link
Contributor Author

JackBoosY commented Jun 28, 2019

@heydojo I only found this document about qmake_all in the official documentation, and it seems to work only for the installation documentation.

And I only see the discussions about qmake_all here. After reading these discussions, I still don't understand this command.

It seems that we need to pass the parameter all to qmake/make instead of the parameter qmake_all (Pay attention to the underline).

When I drilled into the Makefile, I found that if you use make qmake_all, all options will be opened, including the options disabled in configure (eg: directX), which is why the current version of qt5-declarative failed to build in Linux.

@JackBoosY
Copy link
Contributor Author

JackBoosY commented Jun 28, 2019

  1. Linux-PR-Eager result:
x64-linux test notes
qt5-base Pass
qt5-modularscripts Pass
qt5-xmlpatterns Pass
qt5-websockets Pass
qt5-webchannel Pass
qt5-virtualkeyboard Pass
qt5-sensors Pass
qt5-speech Pass
qt5-macextras Fail only support OSX
qt5-declarative Pass
qt5-tools Pass
qt5-svg Pass
qt5-charts Pass
qt5-scxml Pass
qt5-imageformats Pass
qt5-serialport Pass
qt5-quickcontrols2 Pass
qt5-activeqt Fail only support Windows
qt5-datavis3d Pass
qt5-gamepad Pass
qt5-networkauth Pass
qt5-3d Pass
qt5-quickcontrols Pass
qt5-graphicaleffects Pass
qt5-location Pass
qt5-multimedia Pass
qt5-mqtt Pass
qt5-script Pass
qt5-purchasing Pass
  1. The following ports are not tested (Manual test success):
  • qt5-connectivity
  • qt5-remoteobjects
  • qt5-webview
  • qt5-winextras
  1. Windows-PR-Eager test failed due to failure of qwt source download.

@JackBoosY JackBoosY removed the wip label Jun 28, 2019
@JackBoosY
Copy link
Contributor Author

/azp run

ports/qt5-quickcontrols2/portfile.cmake Outdated Show resolved Hide resolved
ports/qt5-tools/portfile.cmake Outdated Show resolved Hide resolved
ports/qt5-tools/portfile.cmake Outdated Show resolved Hide resolved
ports/qt5-tools/portfile.cmake Outdated Show resolved Hide resolved
@TheScarfix
Copy link
Contributor

I think this specific workaround might not be needed in 5.12.4. I'll test it with SKIP_MAKEFILES later. Maybe we could work together to bring all the fixes plus the update in one PR?

@JackBoosY
Copy link
Contributor Author

@TheScarfix I will help you to fix the update PR. If this PR is resolved earlier, we may first merge this PR.

@JackBoosY JackBoosY added the wip label Jul 9, 2019
@microsoft microsoft deleted a comment from azure-pipelines bot Jul 10, 2019
@microsoft microsoft deleted a comment from azure-pipelines bot Jul 10, 2019
@JackBoosY
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@JackBoosY
Copy link
Contributor Author

Open a new PR(#7230) to fix this issue.

@JackBoosY JackBoosY closed this Jul 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
info:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants