Opened 4 years ago

Closed 2 years ago

#62309 closed defect (fixed)

qscintilla-qt5: Could not resolve SDK Path for 'macosx11.2' using --show-sdk-path

Reported by: robwgla Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager), danchr (Dan Villiom Podlaski Christiansen), dershow
Port: qscintilla-qt5

Description (last modified by kencu (Ken))

Edit: Michael -- looks like, at the root of it, this issue with qscintilla-qt5 not building on BigSur after the update to 11.2.

Why does Macports require SDK 11.2 when 11.1 is the latest? Xcode 12.4 installed. xcode-select --install has been executed. Xcode shows 11.1 as latest SDK version!

Builds not possible.

Attachments (4)

main.log (6.5 KB) - added by robwgla 4 years ago.
qscintilla-qt5.zip (14.9 KB) - added by robwgla 4 years ago.
cmake.zip (22.7 KB) - added by robwgla 4 years ago.
install_M1.zip (51.1 KB) - added by robwgla 4 years ago.

Download all attachments as: .zip

Change History (32)

comment:1 Changed 4 years ago by mf2k (Frank Schima)

Component: portsbase

comment:2 Changed 4 years ago by kencu (Ken)

MacPorts will try to use a specfic MacOSX11.2.sdk if such exists, and will notify if none is found so you know it's falling back to a generic SDK.

Usually there is such an SDK when a new macOS version is released, but this time there is not, and so the exception proves the rule.

Builds are unaffected. base falls back to MacOSX.sdk.

comment:3 Changed 4 years ago by robwgla

Latest SDK provided by Apple is 11.1! There is no 11.2 available from Apple. How can MacPorts require 11.2?

Examples: R (sudo port install R) fails to build. octave (sudo port install octave) fails to build.

comment:4 Changed 4 years ago by kencu (Ken)

On 11.2, MacPorts will look for a MacOS11.2.sdk, use it if it exists, tells you if it doesn't.

But -- it still uses the MacOSX.sdk.

That is not the cause of your failed build.

If octave is not building for you, plesae post up a ticket and a log. I updated Octave a while back, and it built on all systems when I did it.... but that was then and this is now.

Last edited 4 years ago by kencu (Ken) (previous) (diff)

comment:5 Changed 4 years ago by robwgla

Thanks. All you write makes sense, but

first: Running macOS Big Sur 11.2.1 (20D74) second: Xcode 12.4 (12D4e) with Command Line Tools https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_for_Xcode_12.4/Command_Line_Tools_for_Xcode_12.4.dmg(latest version from Jan, 26 2021) installed. Also via xcode-select --install!

  • Where shall required SDK 11.2 come from? There is no 11.2 available, only 11.1 (as shown in Xcode build settings!
  • Why do we get the warning?

Obviously Macports wants a SDK which is not available. (I already wrote that)

Did I miss something? What?

comment:6 in reply to:  4 Changed 4 years ago by robwgla

Replying to kencu:

On 11.2, MacPorts will look for a MacOS11.2.sdk, use it if it exists, tells you if it doesn't.

If octave is not building for you, plesae post up a ticket and a log. I updated Octave a while back, and it built on all systems when I did it.... but that was then and this is now.

I have a production system running and already did multiple (complete) uninstall/re-install cycles. Currently I can't shoot my system for experiments. I will see what I can do and open a new tickets for octave and R when ready to mess with my system.

BTW. My computer is as standard as possible, so I see no reason why this should be some special case. Thanks anyway for trying.

comment:7 in reply to:  5 ; Changed 4 years ago by kencu (Ken)

I am not sure how else to explain it.

MacPorts base checks your system, sees it is 11.2, so uses that number to look for an SDK to use: MacOSX11.2.sdk.

But there is no such thing as a MacOSX11.2.sdk. It is phantom, a vapour, an imagination -- it doesn't exist yet.

It's a (minor) screw up in base, with the assumption that there would ALWAYS be an SDK matching the system version number. But there is no such SDK. So base warns you that there is no such SDK (this is -- really -- your problem I guess because no warning, no confusion about the warning -- but I digress).

And then base looks next for the next option in the line, which is the MacOSX.sdk, which exists, and so uses that, and away you go, building.

But at some later time, something causes you to have a build error, You have no idea what it is. But you remember that warning (helpful warning) that there was no MacOSX11.2.sdk and you think ===> "That's It!".

But that is Not It.

What it actually is, nobody knows, because we have no ticket for the error, and no log to see what went wrong.

So we keep talking about the SDK (non) issue, which (probably) has absolutely nothing to do with whatever is making your build fail.

(Which is likely going to be a problem with gcc's baked-in SDK path, but we don't know that yet.)

comment:8 in reply to:  7 Changed 4 years ago by robwgla

Replying to kencu:

MacPorts base checks your system, sees it is 11.2, so uses that number to look for an SDK to use: MacOSX11.2.sdk. But there is no such thing as a MacOSX11.2.sdk. It is phantom, a vapour, an imagination -- it doesn't exist yet.

That is exactly what I wrote from the beginning. No 11.2 sdk available yet!

It's a (minor) screw up in base, with the assumption that there would ALWAYS be an SDK matching the system version number. But there is no such SDK. So base warns you that there is no such SDK (this is -- really -- your problem I guess because no warning, no confusion about the warning -- but I digress).

There is indeed no such SDK, because it doesn't exist yet!

comment:9 Changed 4 years ago by robwgla

I found a workaround:

  1. completely removed MacPorts
  1. completely removed Command Line Tools
  1. reinstalled Command Line Tools via xcode-selecet --install (installed macOS11.1.sdk)
  1. reinstalled MacPorts
  1. updated MacPorts sudo port selfupdate
  1. started reinstalling “my ports”
  1. SDK warning still occurs!
  1. pointed Command Line Tools manually to /Library/Developer/CommandLineTools via xcode-select -s ...
  1. SDK warning still occurs!
  1. made link macOS11.2.sdk pointing to macOS11.1.sdk
  1. all “my” installs and builds without flaws! No warnings, no build errors for R.
  1. cotave failed:

---> Computing dependencies for octave ---> Dependencies to be installed: qscintilla-qt5 qt5-qttools clang-11 llvm-11 qt5-qtdeclarative qt5-qtsvg qt5-sqlite-plugin sundials2 SuiteSparse_KLU SuiteSparse_BTF mpich-default mpi-doc mpi_select ---> Fetching archive for qscintilla-qt5 ---> Attempting to fetch qscintilla-qt5-2.11.6_0.darwin_20.x86_64.tbz2 from https://packages.macports.org/qscintilla-qt5 ---> Attempting to fetch qscintilla-qt5-2.11.6_0.darwin_20.x86_64.tbz2 from https://lil.fr.packages.macports.org/qscintilla-qt5 ---> Attempting to fetch qscintilla-qt5-2.11.6_0.darwin_20.x86_64.tbz2 from https://cph.dk.packages.macports.org/qscintilla-qt5 ---> Configuring qscintilla-qt5 Error: Failed to configure qscintilla-qt5: configure failure: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port octave failed

  1. main.log attached.

Maybe my findings are of some help.

Changed 4 years ago by robwgla

Attachment: main.log added

comment:10 Changed 4 years ago by kencu (Ken)

OK. So now we know what is going on.

Your build error is:

69.     :info:configure Project ERROR: Could not resolve SDK Path for 'macosx11.2' using --show-sdk-path
70	:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/work/QScintilla-2.11.6/Qt4Qt5" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local CONFIG+=absolute_library_soname CONFIG+=c++11 -spec macx-clang

comment:11 Changed 4 years ago by kencu (Ken)

Description: modified (diff)
Owner: set to michaelld
Port: michaelld added
Status: newassigned
Summary: Macports 2.6.4_1 requires SDK 11.2qscintilla-qt5: Could not resolve SDK Path for 'macosx11.2' using --show-sdk-path

comment:12 Changed 4 years ago by kencu (Ken)

Port: qscintilla-qt5: added; michaelld removed

comment:13 Changed 4 years ago by mf2k (Frank Schima)

Component: baseports
Port: qscintilla-qt5 added; qscintilla-qt5: removed

comment:14 Changed 4 years ago by kencu (Ken)

I just installed this from source on BigSur 11.2 with the current Xcode without any troubles.... so whatever is going on, it's not a general MacPorts problem, it's something local to your system.

comment:15 Changed 4 years ago by robwgla

As I'm already so deep into this, i did some more testing.

I agree, it is not a general “11.2 problem“.

I do not agree, that it is local to my specific system.

qscintilla did actually not configure/build/install with the linked macOS11.2.sdk. I had to remove that link and built/installed with macOS.sdk which is actually macOS11.1.sdk. After removal, it worked. I could continue the build/installing process for octave.

But other ports do NOT build.

cmake, which shall be built for R, won't build either way with macOS11.2.sdk(as link) existing or not.

In my opinion, there is some inconsistency which SDK shall be used in the ports and the base system. — I'm sure you will find the problem.

Here are some more logs:

  • qscintilla-qt5.zip
  • cmake.zip

Changed 4 years ago by robwgla

Attachment: qscintilla-qt5.zip added

Changed 4 years ago by robwgla

Attachment: cmake.zip added

comment:16 Changed 4 years ago by robwgla

Here is my latest:

Usually I'm using ports gnupg2, lua, python27, python38, python39, ImageMagick, R and octave and install all of them at once. For this bug tracking session I did a fresh single install for each one of them. Each of them but R and octave succeeded, so we won't be bothering with them anymore.

All done on MackBook Air M1, Big Sur 11.2.1 (20D74), with Xcode 12.4 (12D4e) and CommandLineTools installed; no fiddling with any settings, all vanilla, directly approved from Steve Jobs himself.

Here are the logs: install_M1.zip. Contained are console output from each installation sudo port -N install ... and according logs from /opt/local/var/macports/logs

Hope that helps.

Changed 4 years ago by robwgla

Attachment: install_M1.zip added

comment:17 in reply to:  15 Changed 4 years ago by kencu (Ken)

I think -- looking at your logs -- a lot of your trouble is that many things are trying to build +universal on your BigSur M1 system.

I have in fact fixed a lot of ports to build +universal on a BigSur arm64 system, but not all of them. And some of them I fixed, but the fixes are not quite "perfect" in some way, so they are not accepted. So they therefore stay broken until someone else comes up with a perfect fix, if they ever do.

Building +universal on BigSur arm64 should be easy, and one day it probably will be, but right now it is not 100% easy.

You can see what you have installed +universal now with the usual command:

port -v installed | grep universal

IF there is a way, try to build things without +universal for now.

If something really really really is needed, and really really really can only be had +universal, then you have a problem. Some kind soul, like me, will have to fix it for you.

And -- if it was me and I needed some super duper software package "Right Now" on my M1 Apple system... I would just install a parallel second MacPorts in /opt/Intel on my M1 Mac and set the build_arch to x86_64.

But that is beyond the scope of what I'm prepared to deal with in this ticket. Perhaps someone else will write up a Wiki page for you about how that it done.

Version 1, edited 4 years ago by kencu (Ken) (previous) (next) (diff)

comment:18 Changed 4 years ago by robwgla

I do understand.

M1s are just at their beginning and not all and every problem can be fixed at once. Time will show where the journey goes.

Nevertheless, there is one thing I have to do: Say thank you to you all the other maintainers for all the work, you do on MacPorts.

I'm confident with version 2.6.5 or 2.7 everything will be better.

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

Cc: cooljeanius added

comment:20 Changed 2 years ago by danchr (Dan Villiom Podlaski Christiansen)

Cc: danchr added

comment:21 Changed 2 years ago by dbl001 (dbl)

I ran into this issue on OS X Monterey 12.5

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

(base) davidlaxer@x86_64-apple-darwin13 build % ls -l '/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk' 
lrwxr-xr-x  1 root  wheel  14 Jun  2 07:34 /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -> MacOSX12.3.sdk
(base) davidlaxer@x86_64-apple-darwin13 build % xcode-select --install 
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

from /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/main.log

:debug:configure CC='/usr/bin/clang'
:debug:configure CC_PRINT_OPTIONS='YES'
:debug:configure CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/work/.CC_PRINT_OPTIONS'
:debug:configure CFLAGS='-pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64'
:debug:configure CPATH='/opt/local/include'
:debug:configure CPPFLAGS='-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk'
:debug:configure CXX='/usr/bin/clang++'
:debug:configure CXXFLAGS='-pipe -Os -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64'
:debug:configure DEVELOPER_DIR='/Library/Developer/CommandLineTools'
:debug:configure F90FLAGS='-pipe -Os -m64'
:debug:configure FCFLAGS='-pipe -Os -m64'
:debug:configure FFLAGS='-pipe -Os -m64'
:debug:configure INSTALL='/usr/bin/install -c'
:debug:configure LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64'
:debug:configure LIBRARY_PATH='/opt/local/lib'
:debug:configure MACOSX_DEPLOYMENT_TARGET='12.0'
:debug:configure MACPORTS_LEGACY_SUPPORT_DISABLED='1'
:debug:configure OBJC='/usr/bin/clang'
:debug:configure OBJCFLAGS='-pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64'
:debug:configure OBJCXX='/usr/bin/clang++'
:debug:configure OBJCXXFLAGS='-pipe -Os -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64'
:debug:configure SDKROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk'
:info:configure Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/work/QScintilla_src-2.13.3/src" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local CONFIG+=absolute_library_soname CONFIG+=c++11 -spec macx-clang
:debug:configure system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/work/QScintilla_src-2.13.3/src" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local CONFIG+=absolute_library_soname CONFIG+=c++11 -spec macx-clang
:info:configure Project ERROR: Could not resolve SDK Path for 'macosx12' using --show-sdk-path
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/work/QScintilla_src-2.13.3/src" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local CONFIG+=absolute_library_soname CONFIG+=c++11 -spec macx-clang
:info:configure Exit code: 3
:error:configure Failed to configure qscintilla-qt5: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
:debug:configure     while executing
:debug:configure "$procedure $targetname"
:error:configure See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_qscintilla/qscintilla-qt5/main.log for details.
version:1

comment:22 Changed 2 years ago by michaelld (Michael Dickens)

@dbl001 : in the Portfile for qscintilla-qt5, add in use_xcode yes ... I have it at line 28. Clean qscintilla-qt5 then try installing again. This works for me for qscintilla-qt5, py*-pyqt5, and py*-pyqt5-qscintilla. Hope it works for you too!

comment:23 Changed 2 years ago by dbl001 (dbl)

Thanks! Line #28 doesn't look right. One of these files?

% find /opt -name Portfile -ls | grep qscintilla-qt5                                                             
4711058       24 -rw-r--r--    1 root             wheel                9075 Sep 27  2021 /opt/local/var/macports/registry/portfiles/qscintilla-qt5-2.13.0_0/772ffa03e40a131f26dcea4069b5e710c997b386fd943926ed4f7c0c911dd85e-9075/Portfile
4713764       24 -rw-r--r--    1 root             wheel                9075 Oct 19  2021 /opt/local/var/macports/registry/portfiles/qscintilla-qt5-2.13.1_0/82814f2adadcec9e84332fff83fbb997aa92c4984c4903399d527a83be4a7890-9075/Portfile

https://github.com/macports/macports-ports/blob/master/devel/qscintilla/Portfile

Last edited 2 years ago by dbl001 (dbl) (previous) (diff)

comment:24 Changed 2 years ago by michaelld (Michael Dickens)

File will be at $(port dir qscintilla)/Portfile

comment:25 Changed 2 years ago by dbl001 (dbl)

That worked! Thank you!

comment:26 Changed 2 years ago by alatina (Andrea L)

It worked for me too! Thank you!

comment:27 Changed 2 years ago by dershow

Cc: dershow added

comment:28 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

This was resolved by the fix mentioned here: comment:23:issue:65293

Note: See TracTickets for help on using tickets.