Opened 11 months ago

Last modified 11 months ago

#67573 assigned defect

qtwebengine ports no longer configure with MacPorts’ re2

Reported by: chrstphrchvz (Christopher Chavez) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: mascguy (Christopher Nielsen), herbygillot (Herby Gillot)
Port: qt513-qtwebengine qt5-qtwebengine

Description (last modified by chrstphrchvz (Christopher Chavez))

The ports for qtwebengine 5.13 and 5.15 depend on MacPorts’ re2, but the configure test fails due to re2 now requiring Abseil which requires C++14, and so -std=gnu++11 (presumably a default flag from qmake) as used by the configure test is not allowed.

--->  Configuring qt5-qtwebengine
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-5.15.14-lts" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local QMAKE_LINK=/usr/bin/clang++ -spec macx-clang -- -webengine-kerberos -webengine-proprietary-codecs -system-webengine-icu -system-webengine-ffmpeg -feature-webengine-system-gn 
Info: creating stash file /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-5.15.14-lts/.qmake.stash

Running configuration tests...
[…]
Checking for re2... no
[…]
Qt WebEngine Build Tools:
[…]
  Optional system libraries used:
    re2 .................................. no

In config.log:

> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++11  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platform
s/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -mmacosx-version-min=10.13 -w -fPIC -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINM
AX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -
DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOM
INMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMA
X -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -DNOMINMAX -I
. -I/opt/local/libexec/qt5/mkspecs/macx-clang -o main.o main.cpp
> In file included from main.cpp:2:
> In file included from /opt/local/include/re2/filtered_re2.h:28:
> In file included from /opt/local/include/absl/strings/string_view.h:39:
> In file included from /opt/local/include/absl/base/attributes.h:37:
> In file included from /opt/local/include/absl/base/config.h:86:
> /opt/local/include/absl/base/policy_checks.h:79:2: error: "C++ versions less than C++14 are not supported."
> #error "C++ versions less than C++14 are not supported."

Change History (5)

comment:1 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

Description: modified (diff)
Port: qt6-qtwebengine removed

To correct myself, qt6-qtwebengine is not affected by this (presumably since it uses C++17)

comment:2 Changed 11 months ago by kencu (Ken)

They are certainly trying be super super sure that -DNOMINMAX gets defined ... :>

comment:3 Changed 11 months ago by mascguy (Christopher Nielsen)

Cc: mascguy herbygillot added

Adding Herby to the mix

comment:4 in reply to:  2 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

Replying to kencu:

They are certainly trying be super super sure that -DNOMINMAX gets defined ... :>

Presumably that is due to pkg-config --cflags re2 outputting seemingly identical flags from many of Abseil’s .pc files.

comment:5 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

So far I have not figured out how to influence CXXFLAGS and override -std=gnu++11 for the configuration tests, except for the -z noexecstack check which does pick up qt5.cxxflags-append -std=gnu++14.

This seems more like a situation for compiler_wrapper, but given the degree to which qmake is likely also controlling compiler selection, that might involve something like the approach in the (Qt4) qmake portgroup.

Note: See TracTickets for help on using tickets.