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)
Change History (32)
comment:1 Changed 4 years ago by mf2k (Frank Schima)
Component: | ports → base |
---|
comment:2 Changed 4 years ago by kencu (Ken)
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 follow-up: 6 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.
comment:5 follow-up: 7 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 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 follow-up: 8 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 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:
- completely removed MacPorts
- completely removed Command Line Tools
- reinstalled Command Line Tools via
xcode-selecet --install
(installedmacOS11.1.sdk
)
- reinstalled MacPorts
- updated MacPorts
sudo port selfupdate
- started reinstalling “my ports”
- SDK warning still occurs!
- pointed Command Line Tools manually to
/Library/Developer/CommandLineTools
viaxcode-select -s ...
- SDK warning still occurs!
- made link
macOS11.2.sdk
pointing tomacOS11.1.sdk
- all “my” installs and builds without flaws! No warnings, no build errors for
R
.
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
main.log
attached.
Maybe my findings are of some help.
Changed 4 years ago by robwgla
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: | new → assigned |
Summary: | Macports 2.6.4_1 requires SDK 11.2 → qscintilla-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: | base → ports |
---|---|
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 follow-up: 17 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
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 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.
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 is really needed, and can only be had +universal, then you have a problem. Some kind soul will have to fix it for you.
If I needed a particular software package on an M1 Apple system, but it could not be made universal, I would install a second MacPorts in /opt/Intel
and set the build_arch
to x86_64
.
But that is beyond the scope of this ticket.
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
comment:24 Changed 2 years ago by michaelld (Michael Dickens)
File will be at $(port dir qscintilla)/Portfile
comment:27 Changed 2 years ago by dershow
Cc: | dershow added |
---|
comment:28 Changed 2 years ago by mascguy (Christopher Nielsen)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
This was resolved by the fix mentioned here: comment:23:issue:65293
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.