Opened 5 months ago

Last modified 8 weeks ago

#71126 assigned defect

MacOSX10.13.sdk fails to install on 10.15 Catalina and 10.12 Sierra (and likely other systems)

Reported by: rmottola (Riccardo) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: catalina sierra Cc: cooljeanius (Eric Gallager)
Port: MacOSX10.13.sdk

Description (last modified by ryandesign (Ryan Carsten Schmidt))

First as proposed, I got the sdk file. That is a little more complicated, I logged in into downloads, but got a permission error when getting the file from the URL port gives.

If I "copy address" I get https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Compared to: https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Which looks correct? Perhaps apple checks the path from which the URL is called.

Anyway, install fails with:

_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_MacOSX.sdk/MacOSX10.13.sdk/work/Command_Line_Tools_macOS_10.13_for_Xcode_9.3: /opt/local/bin/xar -xOf /tmp/mports.YCMViY/Command\ Line\ Tools\ \(macOS\ High\ Sierra\ version\ 10.13\).pkg CLTools_SDK_macOS1013.pkg/Payload | /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_MacOSX.sdk/MacOSX10.13.sdk/work/pbzx | /opt/local/bin/bsdcpio -idmu --quiet Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
:debug:extract system: /usr/bin/hdiutil detach /tmp/mports.YCMViY
:info:extract "disk2" ejected.
:error:extract we don't appear to have extracted everything properly
:error:extract Failed to extract MacOSX10.13.sdk: extract problem
:debug:extract Error code: NONE
:debug:extract Backtrace: extract problem
:debug:extract     while executing
:debug:extract "$procedure $targetname"
:error:extract See /opt/local/var/macports/logs/

Attachments (2)

main.log (66.4 KB) - added by rmottola (Riccardo) 5 months ago.
install log
MacOSX10.13.sdk.fail.log (220.8 KB) - added by kencu (Ken) 2 months ago.
on 10.12 Sierra, with current xar

Download all attachments as: .zip

Change History (15)

Changed 5 months ago by rmottola (Riccardo)

Attachment: main.log added

install log

comment:1 Changed 5 months ago by rmottola (Riccardo)

Owner: set to ryandesign
Status: newassigned

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

Description: modified (diff)

Replying to rmottola:

First as proposed, I got the sdk file. That is a little more complicated, I logged in into downloads, but got a permission error when getting the file from the URL port gives.

If I "copy address" I get https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Compared to: https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Which looks correct? Perhaps apple checks the path from which the URL is called.

To the best of my knowledge, the instructions printed by the port were correct when I wrote them, but Apple has rearranged their URLs before; I consider it likely that they have done so again since the last time I reviewed the port's instructions.

Anyway, install fails with:

_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_MacOSX.sdk/MacOSX10.13.sdk/work/Command_Line_Tools_macOS_10.13_for_Xcode_9.3: /opt/local/bin/xar -xOf /tmp/mports.YCMViY/Command\ Line\ Tools\ \(macOS\ High\ Sierra\ version\ 10.13\).pkg CLTools_SDK_macOS1013.pkg/Payload | /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_MacOSX.sdk/MacOSX10.13.sdk/work/pbzx | /opt/local/bin/bsdcpio -idmu --quiet Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
:debug:extract system: /usr/bin/hdiutil detach /tmp/mports.YCMViY
:info:extract "disk2" ejected.
:error:extract we don't appear to have extracted everything properly
:error:extract Failed to extract MacOSX10.13.sdk: extract problem
:debug:extract Error code: NONE
:debug:extract Backtrace: extract problem
:debug:extract     while executing
:debug:extract "$procedure $targetname"
:error:extract See /opt/local/var/macports/logs/

This message gets printed if /System/Library/CoreServices/SystemVersion.plist did not get extracted. What did get extracted into your work directory?

comment:3 in reply to:  2 ; Changed 5 months ago by rmottola (Riccardo)

If I "copy address" I get https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Compared to: https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Which looks correct? Perhaps apple checks the path from which the URL is called.

To the best of my knowledge, the instructions printed by the port were correct when I wrote them, but Apple has rearranged their URLs before; I consider it likely that they have done so again since the last time I reviewed the port's instructions.

The link is correct, but I think apple checks the referrer and not a raw link, something the art. The links look identical, aren't they?

This message gets printed if /System/Library/CoreServices/SystemVersion.plist did not get extracted. What did get extracted into your work directory?

Where? I check this:

% pwd
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_MacOSX.sdk/MacOSX10.13.sdk/work

I see this:

 % ls -l
total 104
drwxr-xr-x  2 macports  wheel     64 Oct 19 09:38 Command_Line_Tools_macOS_10.13_for_Xcode_9.3
-rwxr-xr-x  1 macports  wheel  49952 Oct 25 20:44 pbzx

% du -sh *
  0B	Command_Line_Tools_macOS_10.13_for_Xcode_9.3
 52K	pbzx

I suppose the extraction is incomplete?

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

Replying to rmottola:

If I "copy address" I get https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Compared to: https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Which looks correct? Perhaps apple checks the path from which the URL is called.

To the best of my knowledge, the instructions printed by the port were correct when I wrote them, but Apple has rearranged their URLs before; I consider it likely that they have done so again since the last time I reviewed the port's instructions.

The link is correct, but I think apple checks the referrer and not a raw link, something the art. The links look identical, aren't they?

Ah yes, they are indeed identical. Maybe they do check the referrer now. I have not verified your issue today. It used to work.

 % ls -l
total 104
drwxr-xr-x  2 macports  wheel     64 Oct 19 09:38 Command_Line_Tools_macOS_10.13_for_Xcode_9.3
-rwxr-xr-x  1 macports  wheel  49952 Oct 25 20:44 pbzx

% du -sh *
  0B	Command_Line_Tools_macOS_10.13_for_Xcode_9.3
 52K	pbzx

I suppose the extraction is incomplete?

It looks like nothing (0 bytes) got extracted.

The xar port, which is involved in the extraction, was recently updated; maybe the new version doesn't work right. You could try downgrading to an older xar.

comment:5 Changed 3 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:6 Changed 3 months ago by cooljeanius (Eric Gallager)

I'm also seeing this on Big Sur, and also with the 10.12 SDK, too.

comment:7 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

And does downgrading xar as suggested above resolve it?

comment:8 in reply to:  4 Changed 2 months ago by kencu (Ken)

Replying to ryandesign:

Replying to rmottola:

If I "copy address" I get https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

Compared to: https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.13_for_Xcode_9.3/Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg

I can confirm that I can download the file from the Apple Developer site when I search for it and find it, but I can't download it by pasting the (apparently exact same) URL into the Safari address bar.

Once I get the file and place it in the proper location, the installation of MacOSX10.13.sdk fails for me on 10.12 Sierra with:

--->  Verifying checksums for MacOSX10.13.sdk
--->  Checksumming Command_Line_Tools_macOS_10.13_for_Xcode_9.3.dmg
--->  Extracting MacOSX10.13.sdk
Checksumming Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: verified   CRC32 $70FE566D
Checksumming GPT Header (Primary GPT Header : 1)…
 GPT Header (Primary GPT Header : 1): verified   CRC32 $4BA43931
Checksumming GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: verified   CRC32 $E5A2F336
Checksumming  (Apple_Free : 3)…
                    (Apple_Free : 3): verified   CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
          disk image (Apple_HFS : 4): verified   CRC32 $FBC7818A
Checksumming  (Apple_Free : 5)…
                    (Apple_Free : 5): verified   CRC32 $00000000
Checksumming GPT Partition Data (Backup GPT Table : 6)…
GPT Partition Data (Backup GPT Table: verified   CRC32 $E5A2F336
Checksumming GPT Header (Backup GPT Header : 7)…
  GPT Header (Backup GPT Header : 7): verified   CRC32 $8B902ACC
verified   CRC32 $321B4BF9
/dev/disk1          	GUID_partition_scheme          	
/dev/disk1s1        	Apple_HFS                      	/private/tmp/mports.1swj5D
xinstall: mkdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_MacOSX.sdk/MacOSX10.13.sdk/work/Command_Line_Tools_macOS_10.13_for_Xcode_9.3
./Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man1/more.1.gz: Can't create 'Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man1/more.1.gz'
./Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man1/tcsh.1: Can't create 'Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man1/tcsh.1'
./Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man2/posix_spawnp.2: Can't create 'Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man2/posix_spawnp.2'
./Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man2/sem_wait.2: Can't create 'Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man2/sem_wait.2'
./Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man3/CIRCLEQ_HEAD.3: Can't create 'Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man3/CIRCLEQ_HEAD.3'
....

full log attached.

I then downgraded xar from xar @1.8.0.498_0 to xar @1.8.0.487.100.1 and received the same "Can't create ...." errors.

Changed 2 months ago by kencu (Ken)

Attachment: MacOSX10.13.sdk.fail.log added

on 10.12 Sierra, with current xar

comment:9 Changed 2 months ago by kencu (Ken)

when working with this port, you will likely run into a "resource is busy error". Get past that like this:

$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *68.7 GB    disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            67.7 GB    disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +460.9 MB   disk1
   1:                  Apple_HFS Command Line Develop... 460.9 MB   disk1s1

VMdarwi12Sierra:MacOSX.sdk$ sudo hdiutil unmount /dev/disk1
"/dev/disk1" was already unmounted.
VMdarwi12Sierra:MacOSX.sdk$ sudo hdiutil detach /dev/disk1
"disk1" unmounted.
"disk1" ejected.

comment:10 Changed 2 months ago by kencu (Ken)

looking in the worksrcdir it looks like almost all the SDK has been extracted. It's just all these man files that are generating the "Can't create" errors...

now to figure out why.

comment:11 Changed 2 months ago by kencu (Ken)

dunno why the permissions are not right as yet, but adding this brute-force override fixes it:

extract.asroot yes
$ port -v installed MacOSX10.13.sdk
The following ports are currently installed:
  MacOSX10.13.sdk @10.13.4-17E189_0+universal (active) requested_variants='' platform='darwin 16' archs='i386 x86_64' date='2025-01-18T15:58:25-0800'

maybe Ryan can figure out how to extract the man files without being root.

Last edited 2 months ago by kencu (Ken) (previous) (diff)

comment:12 Changed 2 months ago by kencu (Ken)

Keywords: sierra added
Summary: MacOSX10.13.sdk fails to install on 10.15 CatalinaMacOSX10.13.sdk fails to install on 10.15 Catalina and 10.12 Sierra (and likely other systems)

comment:13 Changed 8 weeks ago by kencu (Ken)

exact same thing happens on High Sierra, and the same extract.asroot yes tweak works there too.

Last edited 8 weeks ago by kencu (Ken) (previous) (diff)
Note: See TracTickets for help on using tickets.