Bug 229426 - graphics/qt5-wayland build failure
Summary: graphics/qt5-wayland build failure
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-30 10:19 UTC by Denis Polygalov
Modified: 2018-07-01 04:08 UTC (History)
1 user (show)

See Also:
tcberner: maintainer-feedback+


Attachments
output of 'make' in /usr/ports/graphics/qt5-wayland (116.81 KB, text/plain)
2018-06-30 10:19 UTC, Denis Polygalov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Polygalov 2018-06-30 10:19:58 UTC
Created attachment 194782 [details]
output of 'make' in /usr/ports/graphics/qt5-wayland

Hi,

I am trying to build qt5-wayland from ports on 11.2-RELEASE amd64 machine.
I have mesa-libs compiled with wayland support and wayland and qt5 
installed from packages. The Qt version is 5.9.4 
The build failed I guess due to API mismatch between Qt 5.9.4
and qt5-wayland. See log attached. 

It seems like the port's Makefile does not check out correct
version of the qtwayland. Instead newer version is used.
By 'correct' I mean - compartible with the Qt version 
installed by pkg install ...

Regards,
Denis.
Comment 1 Tobias C. Berner freebsd_committer freebsd_triage 2018-06-30 12:02:14 UTC
Hi there

I assume you are using the packages from the quarterly branch, as you are still having 5.9.4 and not 5.10.1 of qt5-gui.

You need to checkout the quarterly ports tree too.


mfg Tobias
Comment 2 Adriaan de Groot freebsd_committer freebsd_triage 2018-06-30 12:03:55 UTC
You should upgrade qt5 ports all to the same version at once. Or keep your ports tree at the same revision as your packages. There is no support for mix-and-matching Qt versions (except for QtWebEngine, which is special).
Comment 3 Denis Polygalov 2018-06-30 15:18:11 UTC
Thanks for the comments.

Yes, I am using packages from the quarterly branch.
My /etc/pkg/FreeBSD.conf point to:

url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",

which is default.
I understand the situation, but I'd like to provide
different point of view regarding this issue.

I have the most recent RELEASE OS version and the most recent 
packages version. I addition I also have the most 
recent port tree version (i.e. I did 'portsnap fetch update').

Now I want to use /usr/ports/graphics/qt5-wayland and
realize that it is 'far in the future' and only useful for 
bleeding edge Qt developers who willing to re-compile the whole Qt.

Another option offered to me is to downgrade the _whole_ port 
tree to the quarterly version and moreover - freeze it.

At the same time Qt Wiki:
https://wiki.qt.io/QtWayland

stating that developers advised to select
QtWayland version which is matched with their 
installed Qt version by doing:
$ git checkout v5.10.0 # replace with your qt version

i.e. QtWayland is obeying to the Qt version already 
installed to the developer's machine.

FreeBSD qtwayland port is missing this functionality.

So how about to change the /usr/ports/graphics/qt5-wayland/Makefile
in a way that FreeBSD ports machinery download qtwayland source
code version which is compatible with the Qt version installed
on the developer's machine?

Regards,
Denis
Comment 4 Tobias C. Berner freebsd_committer freebsd_triage 2018-06-30 15:48:50 UTC
Hi there

The section of the Qt Documentaton tells you exactly what Adriaan and I were telling you too: "use the version of qt-wayland that matches your installed Qt."

Now, you are using Quarterly Packages which are 5.9.4 -- so you need to get qt5-wayland which is 5.9.4 -- you'll find the ports for that in the quarterly ports branch.

That is you need to checkout the quarterly ports tree. (you don't need to replace the main ports tree with the quarterly, just check it out somewhere, and built qt5-wayland in there). -- though if you ask me, your current set-up does not make much sense :)


If you want to use qt5-wayland 5.10.1 (as is in the head ports tree), then just rebuild Qt5 to be 5.10.1 :)


Qt5, and thereby the ports tree do not let you mix versions. 





mfg Tobias
Comment 5 Denis Polygalov 2018-07-01 04:08:53 UTC
Hi Tobias,

I see. You right, seems like using quarterly port tree with 
quarterly packages is the Right Way to go. I tried that and 
got qt5-wayland port installed without any problems.

For those who meet similar problem here is explanation
and link to very useful 'portfetch' script:

https://chriswells.io/blog/using-quarterly-ports-on-freebsd 

Regards,
Denis.