Opened 10 months ago

Closed 9 months ago

#67759 closed defect (fixed)

MoltenVK-1.1.9: extract phase: hdiutil - no mountable file systems on Mac OS X 10.11

Reported by: jasonliu-- (Jason Liu) Owned by: Gcenx
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: elcapitan Cc:
Port: MoltenVK-1.1.9

Description

The MoltenVK-1.1.9 subport is failing to extract the downloaded .dmg on 10.11 with the error message

hdiutil: attach failed - no mountable file systems

This is most likely due to the fact that the .dmg was created using APFS, which El Capitan does not understand. If we want to have a working MoltenVK port for El Capitan (which I most certain do!), it looks like we might need a subport for an even older version of the .dmg.

Here's the log from the 10.11 builder:

https://build.macports.org/builders/ports-10.11_x86_64-builder/builds/228870/steps/install-port/logs/stdio

Attachments (1)

main.log (16.1 KB) - added by jasonliu-- (Jason Liu) 10 months ago.

Download all attachments as: .zip

Change History (11)

Changed 10 months ago by jasonliu-- (Jason Liu)

Attachment: main.log added

comment:1 Changed 10 months ago by Gcenx

Yes the dmg is in APFS format, I was originally hoping to abuse {darwin any >= 15} but was told to use {macos any >= 15}, unfortunate it seems macports-base doesn’t support {macos any} in the same manner is {darwin any}

The current options I can think of are, repackage another prebuilt package this avoids the dmg issue.

Or simply fallback to an even older VulkanSDK before the move to the current APFS format dmg.

comment:2 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

You mean macosx not macos. Josh is the one who implemented the new platforms behavior; I'm not sure how it works.

Has anyone tried reporting this problem to the developers? If they are still building with an older macOS deployment target, then they must intend for their software to be usable on those older macOS versions, and they may simply not be aware that they are distributing an APFS disk image or that it is unusable on older systems. On current macOS, Disk Utility automatically creates APFS disk images and does not provide an option to use any other format; one has to use hdiutil on the command line to make an HFS+ disk image now.

comment:3 in reply to:  2 ; Changed 10 months ago by Gcenx

Replying to ryandesign:

You mean macosx not macos. Josh is the one who implemented the new platforms behavior; I'm not sure how it works.

When using {darwin any} only a single package is generated and used across the supported versions instead of having a package per darwin version.

Replying to ryandesign:

Has anyone tried reporting this problem to the developers? If they are still building with an older macOS deployment target, then they must intend for their software to be usable on those older macOS versions, and they may simply not be aware that they are distributing an APFS disk image or that it is unusable on older systems. On current macOS, Disk Utility automatically creates APFS disk images and does not provide an option to use any other format; one has to use hdiutil on the command line to make an HFS+ disk image now.

The VulkanSDK targets macOS 10.13 and later, multiple users had requested they change back to the prior tar.gz packaging, this being why I’m using the newly available GitHub release archives when possible.

After my last request the VulkanSDK installer seemed to have changed internal format.

Still undecided if it’s best to pin 10.11 to an even older VulkanSDK that still uses tar.gz or just repackage MoltenVK-1.1.9 package from 10.12, ether way these systems won’t be bumped again.

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

Replying to Gcenx:

Replying to ryandesign:

You mean macosx not macos. Josh is the one who implemented the new platforms behavior; I'm not sure how it works.

When using {darwin any} only a single package is generated and used across the supported versions instead of having a package per darwin version.

Yes I know that much. You're claiming that using {macosx any} doesn't work the same way, and I have no information about that.

comment:5 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

I tried it out and I now agree that {macosx any >= 15} does not do what you want but {darwin any >= 15} does. I don't know if that was Josh's intention.

Maybe what you want is {darwin any} {macosx >= 15}. The {darwin any} part communicates that the same archive should be shared by all Darwin OS versions, while the {macosx >= 15} conveys that macOS is required (pure Darwin won't work).

comment:6 Changed 10 months ago by Gcenx

While that would lightly work the issue would then be anyone using a none default prefix, I’ve added an older version of MoltenVK before the move to APFS format dmg images were used.

Or we try your solution then add in a following commit a section for OS X 10.11 to unpacked MoltenVK-1.1.9 package as 10.11 still won’t be able to open the dmg but could just reuse the prebuilt package regardless of prefix.

comment:7 in reply to:  6 ; Changed 10 months ago by jasonliu-- (Jason Liu)

Replying to Gcenx:

While that would lightly work the issue would then be anyone using a none default prefix, I’ve added an older version of MoltenVK before the move to APFS format dmg images were used.

Or we try your solution then add in a following commit a section for OS X 10.11 to unpacked MoltenVK-1.1.9 package as 10.11 still won’t be able to open the dmg but could just reuse the prebuilt package regardless of prefix.

So, I know this would be highly unusual and goes against the typical build process of MacPorts, but to Gcenx's point, would it be possible to download one of the packages for a different version of Darwin from https://packages.macports.org and simply install it on 10.11?

comment:8 in reply to:  7 Changed 10 months ago by Gcenx

Replying to jasonliu--:

So, I know this would be highly unusual and goes against the typical build process of MacPorts, but to Gcenx's point, would it be possible to download one of the packages for a different version of Darwin from https://packages.macports.org and simply install it on 10.11?

That was one of my considerations but think a more macports like method would be https://github.com/macports/macports-ports/pull/19493

comment:9 Changed 10 months ago by jasonliu-- (Jason Liu)

Yes, I'm also hoping that the method from your PR works. I hadn't considered using the Wayback Machine to download distfiles; it's a good thing they actually archived the tarballs! And it's incomprehensible to me why the Khronos Group stops providing old versions of the Vulkan SDK after some time.

comment:10 Changed 9 months ago by Dean M Greer <38226388+Gcenx@…>

Resolution: fixed
Status: assignedclosed

In 5933a13ad4adebfe44bc1c0e2b082cd3648a78f8/macports-ports (master):

MoltenVK: Add subport MoltenVK-1.0.41 (https://github.com/macports/macports-ports/pull/19493)

  • MoltenVK-latest: Update to 1.2.5
  • MoltenVK: Move distname override to MoltenVK-latest

Closes: #67759

Note: See TracTickets for help on using tickets.