Opened 3 months ago

Closed 2 months ago

#70329 closed defect (worksforme)

qgis3: Monterey 12.7.5 Build Error with Fix

Reported by: multiquadric Owned by: Veence (Vincent)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Qt5 Monterey QGIS Cc: nilason (Nicklas Larsson)
Port: qgis3

Description

Memorializing an issue rather than seeking a fix. Apparently the use of "use_xcode" with Qt5 is (was) problematic across MacPorts, Qt5 being the challenge.

The OS was not a fresh install. 2013 Mac Pro (trash can).

The install log error led to this file: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py312-pyqt5/work/PyQt5-5.15.10

Here, in the Portfile, this change was made: "use_xcode yes" to "use_xcode no"

The build and install completed.

Change History (9)

comment:1 Changed 3 months ago by multiquadric

Environment

macOS 12.7.5 QGIS3 Version: 3.38.0 Xcode and Xcode Command Line Tools installed

% xcodebuild -version Xcode 14.2 Build version 14C18

% system_profiler SPDeveloperToolsDataType | grep Xcode

Location: /Applications/Xcode.app

Xcode: 14.2 (21534)

Version 0, edited 3 months ago by multiquadric (next)

comment:2 Changed 3 months ago by multiquadric

Keywords: Monterey QGIS added

comment:3 Changed 3 months ago by jmroot (Joshua Root)

Cc: nilason added
Owner: set to Veence
Status: newassigned
Summary: Monterey 12.7.5 Build Error with Fixqgis3: Monterey 12.7.5 Build Error with Fix

comment:4 in reply to:  description ; Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to multiquadric:

Apparently the use of "use_xcode" with Qt5 is (was) problematic across MacPorts, Qt5 being the challenge.

To what are you referring?

The install log error led to this file: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py312-pyqt5/work/PyQt5-5.15.10

Could you share what error was in the log?

Here, in the Portfile, this change was made: "use_xcode yes" to "use_xcode no"

The build and install completed.

use_xcode yes was added to fix #65410.

comment:5 in reply to:  4 Changed 3 months ago by multiquadric

Replying to ryandesign:

Replying to multiquadric:

Apparently the use of "use_xcode" with Qt5 is (was) problematic across MacPorts, Qt5 being the challenge.

To what are you referring?

The results of general sleuthing for answers. https://github.com/macports/macports-ports/commit/fd73bce64330dac7e02aba0f3f37582999b49330#commitcomment-77072145 https://github.com/macports/macports-ports/pull/15535 Etc., etc.

macOS changes vs. QT5 requirements?

The install log error led to this file: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py312-pyqt5/work/PyQt5-5.15.10

Could you share what error was in the log?

Here, in the Portfile, this change was made: "use_xcode yes" to "use_xcode no"

The build and install completed.

use_xcode yes was added to fix #65410.

These lines were at the end of the installation process:

...
:info:build Generating the Makefiles...
:info:build /opt/local/libexec/qt5/bin/qmake -recursive PyQt5.pro
:info:build sip-build-3.12: '/opt/local/libexec/qt5/bin/qmake -recursive PyQt5.pro' failed returning 3
:info:build Project ERROR: Could not resolve SDK Path for 'macosx12.3' using --show-sdk-path
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py312-pyqt5/work/PyQt5-5.15.10" && sip-build-3.12 --qmake /opt/local/libexec/qt5/bin/qmake --verbose --confirm-license --dbus=/opt/local/Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/dbus-1.0 
:info:build Exit code: 1
:error:build Failed to build py312-pyqt5: command execution failed
:debug:build Error code: CHILDSTATUS 4078 1
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 10)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py312-pyqt5/main.log for details.

comment:6 Changed 2 months ago by justinbb

The proposed change would be harmful for most users.

The problem is likely caused by a not-quite-right install/config of Xcode, for which a quick and easy fix is reported on Stack Overflow: https://stackoverflow.com/a/41524934/2288076

comment:7 Changed 2 months ago by multiquadric

Mostly agree, per above. The cure? Not sure.

For fun (!), I can try a build after messing with "xcode-select". If the build completes, terrific.

No changes were needed on a newer box with Apple Silicon and macOS Ventura.

The "bug report" was not so much for a fix. macOS Monterey is an older OS. And Qt5 looked to have caused some headaches. I thought the "xcrun --show-sdk-path" command returned the proper path.

comment:8 Changed 2 months ago by multiquadric

Update! Good news.

Mac Pro (Late 2013) macOS Monterey 12.7.6 (21H1320) Clean install (disk erase, OS install, MacPorts install, QGIS3 and QGIS3-LTR installs) Both QGIS3 and QGIS3-LTR builds completed successfully.

Assuming the py312-pyqt5 problem was related to a series of Xcode and command-line tools updates on the same Mac Pro vs. the build logic for py312-pyqt5. Everything else had compiled without error.

comment:9 Changed 2 months ago by reneeotten (Renee Otten)

Resolution: worksforme
Status: assignedclosed
Note: See TracTickets for help on using tickets.