Opened 7 weeks ago

Last modified 3 days ago

#70477 assigned defect

qt5-qtlocation @5.15.12_0 build failure

Reported by: mhanmore Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: sonoma arm64 Cc: AgilentGCMS
Port: qt5-qtlocation

Description

I have hit this error both late in a (very long!!) build of QGIS3 and also in a fresh environment after sudo port uninstall installed. Both times with the same error:

--->  Building qt5-qtlocation
Error: Failed to build qt5-qtlocation: command execution failed
Error: See /opt/macports-test/var/macports/logs/_opt_macports-test_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtlocation/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port qt5-qtlocation failed

Full log from the clean install of just sudo port install qt5-qtlocation attached.

(Both are running on a fresh macports installation on an alternative path macports-test as per [2.2.4. Install Multiple MacPorts Copies](https://guide.macports.org/chunked/installing.macports.html))

Attachments (2)

macports_system_info.log (6.2 KB) - added by mhanmore 7 weeks ago.
System details log
main.log.bz2 (55.6 KB) - added by jmroot (Joshua Root) 7 weeks ago.

Download all attachments as: .zip

Change History (14)

Changed 7 weeks ago by mhanmore

Attachment: macports_system_info.log added

System details log

comment:1 Changed 7 weeks ago by jmroot (Joshua Root)

Cc: MarcusCalhoun-Lopez removed
Keywords: sonoma added; sonomna removed
Milestone: MacPorts 2.10.0
Owner: set to MarcusCalhoun-Lopez
Port: qgis3 removed
Status: newassigned
Summary: qt5-qtlocation: Failed to build qt5-qtlocation: command execution failedqt5-qtlocation @5.15.12_0 build failure
:info:build In file included from src/mbgl/annotation/annotation_manager.cpp:1:
:info:build In file included from src/mbgl/annotation/annotation_manager.hpp:4:
:info:build In file included from src/mbgl/annotation/symbol_annotation_impl.hpp:24:
:info:build In file included from deps/boost/1.65.1/include/boost/geometry.hpp:17:
:info:build In file included from deps/boost/1.65.1/include/boost/geometry/geometry.hpp:43:
:info:build In file included from deps/boost/1.65.1/include/boost/geometry/core/radian_access.hpp:26:
:info:build In file included from deps/boost/1.65.1/include/boost/numeric/conversion/cast.hpp:33:
:info:build In file included from deps/boost/1.65.1/include/boost/numeric/conversion/converter.hpp:13:
:info:build In file included from deps/boost/1.65.1/include/boost/numeric/conversion/conversion_traits.hpp:13:
:info:build In file included from deps/boost/1.65.1/include/boost/numeric/conversion/detail/conversion_traits.hpp:18:
:info:build In file included from deps/boost/1.65.1/include/boost/numeric/conversion/detail/int_float_mixture.hpp:19:
:info:build In file included from deps/boost/1.65.1/include/boost/mpl/integral_c.hpp:32:
:info:build deps/boost/1.65.1/include/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for this enumeration type [-Wenum-constexpr-conversion]
:info:build     typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
:info:build                               ^
:info:build deps/boost/1.65.1/include/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
:info:build #   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
:info:build                                               ^

Changed 7 weeks ago by jmroot (Joshua Root)

Attachment: main.log.bz2 added

comment:2 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)

See #67324.

comment:3 Changed 4 weeks ago by M-Rick

I have the same build failure in Sonoma arm64, with a custom path as well. I used /opt/local/qgis. I already manage to build it one year ago with the same custom path /opt/local/qgis.

comment:4 Changed 4 weeks ago by M-Rick

I found how to resolve the bug. It needs to install boost181 first and the build of qt5-qtlocation will succeed. boost181 is already a dependency, but it is not build before qt5-qtlocation… That's why it's not working.

comment:5 Changed 3 weeks ago by jwhowse4

I have the package boost181 installed and qt5-qtlocation 5.15.12 still does not build for me under Sonoma 14.6.1. The same error occurs while trying to build qt5-qtlocation 5.15.15. Perhaps the question is how to get qt5-qtlocation to use boost 1.81 rather than boost 1.65.

comment:6 Changed 12 days ago by reneeotten (Renee Otten)

Cc: AgilentGCMS added

has duplicate 70696

comment:7 Changed 12 days ago by reneeotten (Renee Otten)

there are a few upstream bug reports on this, but with no clear solution - the issues appears to be in Boost.

See: QTBUG-116652, QTBUG-125709, and QTBUG-125862

I am not completely sure how just installing a newer, MacPorts provided boost helps here as you would still somehow need to make sure that it will not build the internal, vendored old boost165 version...

comment:8 Changed 9 days ago by AgilentGCMS

On #70477, it was suggested that I try building in trace mode with -t. However, that resulted in the following error:

port -t install py311-matplotlib +qt5
--->  Computing dependencies for py311-matplotlib
The following dependencies will be installed:
 flite
 py311-pyqt5
 qt5
 qt5-qtlocation
 qt5-qtmultimedia
 qt5-qtspeech
 qt5-qttranslations
 qt5-qtwebchannel
 qt5-qtwebsockets
 qt5-sqlite-plugin
Continue? [Y/n]:
Error: user "macports" doesn't exist
Error: See /Users/sbasu1/packages/macports/sonoma/var/macports/logs/_Users_sbasu1_Downloads_sources_macports-ports_aqua_qt5/qt5-qtlocation/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port py311-matplotlib failed

This error does not occur if I do not specify -t.

In #70477 I was asked why I was using a custom prefix. I have to install in a custom prefix because my mac is administered by my work and I don't have write permissions to system folders. Also, I seem to have a couple of different versions of boost installed.

$ port installed | grep boost
  boost176 @1.76.0_10+no_single+no_static+python312 (active)
  boost181 @1.81.0_10+no_single+no_static+python312 (active)
  poppler @24.04.0_1+boost (active)

comment:9 Changed 8 days ago by ptoshkov

I was able to build qt5-qtlocation on an Intel Macintosh running Sonoma 14.6.1.

I had to install CLT v15.1 from here: https://developer.apple.com/download/all/

Then immediately build qt5-qtlocation (don't run software update).

Thanks to Andrew Janke for the fix: https://github.com/octave-app/octave-app/issues/266

comment:10 Changed 8 days ago by markemer (Mark Anderson)

I have this same issue on arm64, macOS 15 Sequoia

comment:11 Changed 3 days ago by jwhowarth

It appears that this Xcode 15.4 and Xcode 16 compile failure can be eliminated if we add -Wno-enum-constexpr-conversion to the compile flags.

--- src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro.orig	2024-09-17 20:54:13
+++ src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro	2024-09-17 20:58:59
@@ -19,7 +19,8 @@
     -O3 \
     -ftemplate-depth=1024 \
     -fvisibility-inlines-hidden \
-    -fvisibility=hidden
+    -fvisibility=hidden \
+    -Wno-enum-constexpr-conversion
Last edited 3 days ago by jwhowarth (previous) (diff)

comment:12 in reply to:  11 Changed 3 days ago by reneeotten (Renee Otten)

Replying to jwhowarth:

It appears that this Xcode 15.4 and Xcode 16 compile failure can be eliminated if we add -Wno-enum-constexpr-conversion to the compile flags.

--- src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro.orig	2024-09-17 20:54:13
+++ src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro	2024-09-17 20:58:59
@@ -19,7 +19,8 @@
     -O3 \
     -ftemplate-depth=1024 \
     -fvisibility-inlines-hidden \
-    -fvisibility=hidden
+    -fvisibility=hidden \
+    -Wno-enum-constexpr-conversion

ah, I tried setting that as a configure.arg at the top-level build but that didn't work. I guess patching it directly in the source there is the way to go.

I just updated to Sequoia so will need to rebuild all my ports first before checking that this indeed results in a working install.

Note: See TracTickets for help on using tickets.