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

xaos: restrict compilers to supported by qt64 #27298

Merged
merged 1 commit into from
Jan 7, 2025

Conversation

tuffnatty
Copy link
Contributor

Description

Building xaos on Mojave fails, as it tries to use the unsupported XCode 10.3 compiler.
Add the needed compiler.blacklist-append directive.

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 10.14.6 18G9323 x86_64
Command Line Tools 10.3.0.0.1.1562985497

Verification

Have you

  • followed our Commit Message Guidelines?
  • squashed and minimized your commits?
  • checked that there aren't other open pull requests for the same change?
  • referenced existing tickets on Trac with full URL in commit message?
  • checked your Portfile with port lint?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?
  • checked that the Portfile's most important variants haven't been broken?

@szhorvat
Copy link
Contributor

szhorvat commented Jan 4, 2025

Thanks for fixing this!

If this is necessary for Qt 6.4, shouldn't it be done by the Qt6 port group?

@tuffnatty
Copy link
Contributor Author

@szhorvat Probably you are right, but I am not sure what's the usual practice. I see other PortGroups are blacklisting compiler versions, probably qt6 could also do this. So you're proposing to move it to the port group?

@@ -47,6 +48,9 @@ compiler.thread_local_storage yes

compiler.cxx_standard 2017

# Same as qt64
compiler.blacklist-append {clang < 1100}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why would this need the same compiler as Qt 6.4 ; what is the error you're seeing if this is not set? I am pretty sure there is no need to set anything in the qt6 PortGroup for this as I fail to see why it would be related to what compiler Qt6 used.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@reneeotten Because it uses Qt 6 headers, and they are not compatible with Apple Clang < 1100:

In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_xaos/xaos/work/XaoS-4.3.3/src/ui-hlp/ui_helper.cpp:13:
In file included from /opt/local/libexec/qt6/lib/QtGui.framework/Headers/qclipboard.h:7:
In file included from /opt/local/libexec/qt6/lib/QtGui.framework/Headers/qtguiglobal.h:7:
In file included from /opt/local/libexec/qt6/lib/QtCore.framework/Headers/qglobal.h:98:
/opt/local/libexec/qt6/lib/QtCore.framework/Headers/qcompilerdetection.h:128:10: error: "Unsupported Apple Clang version"
#        error "Unsupported Apple Clang version"
         ^
/opt/local/libexec/qt6/lib/QtCore.framework/Headers/qcompilerdetection.h:844:4: error: "Qt6 requires Unicode string support in both the compiler and the standard library"
#  error "Qt6 requires Unicode string support in both the compiler and the standard library"
   ^
...
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_xaos/xaos/work/build/XaoS_autogen/mocs_compilation.cpp:2:
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_xaos/xaos/work/build/XaoS_autogen/YPKJ5OE7LN/moc_customdialog.cpp:10:
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_xaos/xaos/work/build/XaoS_autogen/YPKJ5OE7LN/../../../XaoS-4.3.3/src/ui/customdialog.h:4:
In file included from /opt/local/libexec/qt6/lib/QtWidgets.framework/Headers/QDialog:1:
In file included from /opt/local/libexec/qt6/lib/QtWidgets.framework/Headers/qdialog.h:7:
In file included from /opt/local/libexec/qt6/lib/QtWidgets.framework/Headers/qtwidgetsglobal.h:7:
In file included from /opt/local/libexec/qt6/lib/QtGui.framework/Headers/qtguiglobal.h:7:
In file included from /opt/local/libexec/qt6/lib/QtCore.framework/Headers/qglobal.h:1403:
In file included from /opt/local/libexec/qt6/lib/QtCore.framework/Headers/qatomic.h:10:
/opt/local/libexec/qt6/lib/QtCore.framework/Headers/qbasicatomic.h:21:4: error: "Qt requires C++11 support"
#  error "Qt requires C++11 support"
   ^

@reneeotten reneeotten merged commit f97cbf8 into macports:master Jan 7, 2025
2 of 3 checks passed
@tuffnatty
Copy link
Contributor Author

@reneeotten Thanks! So you don't support the idea this should be at the PortGroup level? Because I suspect there are many more qt6 dependents needing this.

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

Successfully merging this pull request may close these issues.

4 participants