Opened 3 years ago

Closed 2 years ago

#64884 closed defect (fixed)

py-pyqt5-scintilla @2.13.2 fails to build under macos 12.3 using Xcode 13.3

Reported by: josephsacco Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: monterey Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), chrstphrchvz (Christopher Chavez), cooljeanius (Eric Gallager)
Port: py-pyqt5-scintilla

Description

py-pyqt5-scintilla [for python versions: 3.8, 3.9, 3.10] fails to build under macOS 12.3 using Xcode 13.3

That ugly SDK path issue has reared up once again:

Generating the Qsci bindings...
Generating the .pro file for the Qsci module...
Generating the top-level .pro file...
Generating the Makefiles...
/opt/local/libexec/qt5/bin/qmake -recursive QScintilla.pro
sip-build-3.8: '/opt/local/libexec/qt5/bin/qmake -recursive QScintilla.pro' failed returning 3
Project ERROR: Could not resolve SDK Path for 'macosx12' using --show-sdk-path
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-pyqt5-scintilla/py38-pyqt5-scintilla/work/QScintilla-2.13.2" && sip-build-3.8 --qmake /opt/local/libexec/qt5/bin/qmake --verbose
Exit code: 1

xcrun returns the SDK path shown below:

xcrun -show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

-Joseph

Attachments (2)

main.log (16.6 KB) - added by josephsacco 3 years ago.
main.log
main_py-pyqt5.log (47.7 KB) - added by jmon12 2 years ago.
main.log installing py-pyqt5

Download all attachments as: .zip

Change History (11)

comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: monterey added; Monterey@12.3 Xcode@13.3 removed
Owner: set to reneeotten
Status: newassigned

Please attach the main.log.

Changed 3 years ago by josephsacco

Attachment: main.log added

main.log

comment:2 Changed 3 years ago by reneeotten (Renee Otten)

Cc: MarcusCalhoun-Lopez added

this appears to be a "general" issue with Qt5 on newer macOS versions as the error messages are like: Project ERROR: Could not resolve SDK Path for 'macosx11' using --show-sdk-path, where it can also be 'macosx12' depending on the macOS version. Probably related is ticket #63805, the issue could be in the qt5 or qmake5 PG somewhere... Anyway, I have no immediate plans to work on this.

comment:3 in reply to:  2 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

Replying to reneeotten:

Probably related is ticket #63805

#63154 looks more relevant (whereas #63805 seems specifically for SDK version incorrectly detected as changed); I wonder if the use_xcode yes workaround (or if {${xcodeversion} ne "none"} {use_xcode yes} if command line tools are sufficient) applies here.

comment:4 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:5 Changed 3 years ago by josephsacco

Chris,

The use_xcode yes hack seems to work magic. py38-pyqt5-scintilla now configures and builds without incident

mv -f Qsci Qsci.plugin/Contents/MacOS/Qsci
cp -f Qsci.plugin/Contents/MacOS/Qsci Qsci.abi3.so
The project has been built.

-Joseph

comment:6 Changed 3 years ago by ferdy (Giuseppe `ferdy` Miceli)

ciao,

i had the same problem trying to build py39-pyqt5, py39-poppler-qt5 and py39-pyqt5-webengine while installing frescobaldi.

adding use_xcode yes to the portfiles solved the issue.

for sake of completeness while building py-pyqt5 i get this warning message:

Project WARNING: Qt has only been tested with version 11.0 of the platform SDK, you're using .
Project WARNING: This is an unsupported configuration. You may experience build issues, and by using
Project WARNING: the 12.1 SDK you are opting in to new features that Qt has not been prepared for.
Project WARNING: Please downgrade the SDK you use to build your app to version 11.0, or configure
Project WARNING: with CONFIG+=sdk_no_version_check when running qmake to silence this warning.
ferdy@wabi:~$ sw_vers
ProductName:	macOS
ProductVersion:	11.6.5
BuildVersion:	20G527
ferdy@wabi:~$ xcodebuild -version
Xcode 13.2.1
Build version 13C100
ferdy@wabi:~$ xcrun -show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

cheers, -- ferdy

comment:7 Changed 3 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:8 Changed 2 years ago by jmon12

Hi!

The use_xcode yes trick of course doesn't work if Xcode is not fully installed (e.g. only CommandLineTools). What would be the way to go in that case? I have to admit that I don't understand why this trick actually works.

Note that xcrun --show-sdk-path or xcrun --sdk macosx --show-sdk-path work, but xcrun --sdk macosx12 --show-sdk-pathdoesn't work even though in my case MacOSX.sdk points to MacOSX12.3.sdk. Might it be the cause of the problem? How is xcrun actually called and by what?

I attach main_py-pyqt5.log which might bring some insight.

Changed 2 years ago by jmon12

Attachment: main_py-pyqt5.log added

main.log installing py-pyqt5

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

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