Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling NIOFileSystem on Mac Catalyst: No such module 'SystemPackage' #2821

Open
makaGeorge opened this issue Aug 1, 2024 · 6 comments
Open

Comments

@makaGeorge
Copy link

Expected behavior

Build with no errors

Actual behavior

No such module 'SystemPackage'

Steps to reproduce

  1. Add NIOFileSystem to an empty iOS Xcode project. Select the Mac Catalyst platform
  2. Build

First noticed when building a project using Vapor, which uses swift-nio. Found out I couldn't build for MacCatalyst so I tried an empty project and the same happens.

If possible, minimal yet complete reproducer code (or URL to code)

SwiftNIO version/commit hash

2.69.0

System & version information

Swift 5.10 and Swift 6 (Xcode 16 beta 4)

@Lukasa
Copy link
Contributor

Lukasa commented Aug 1, 2024

Can you please attach a complete build log?

@makaGeorge
Copy link
Author

Build testrv_2024-08-19T09-46-54.txt

Here's the build log. Thanks!

@Lukasa
Copy link
Contributor

Lukasa commented Aug 19, 2024

It seems that _NIOFileSystem's System dependency is not being picked up:

    Target 'NIOFileSystem' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIOAtomics' in project 'swift-nio'
        ➜ Explicit dependency on target 'NIOConcurrencyHelpers' in project 'swift-nio'
        ➜ Explicit dependency on target '_NIOBase64' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIODarwin' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIOLinux' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIOWindows' in project 'swift-nio'
        ➜ Explicit dependency on target '_NIODataStructures' in project 'swift-nio'
        ➜ Explicit dependency on target 'NIOCore' in project 'swift-nio'
        ➜ Explicit dependency on target 'NIOPosix' in project 'swift-nio'
        ➜ Explicit dependency on target '_NIOFileSystem' in project 'swift-nio'
        ➜ Explicit dependency on target 'DequeModule' in project 'swift-collections'
        ➜ Explicit dependency on target 'Atomics' in project 'swift-atomics'

@glbrntt what is the intention of having constrained the use of the dependency?

@Lukasa
Copy link
Contributor

Lukasa commented Aug 19, 2024

In the meantime, macCatalyst should be added to the list linked above.

@glbrntt
Copy link
Contributor

glbrntt commented Aug 19, 2024

It seems that _NIOFileSystem's System dependency is not being picked up:

    Target 'NIOFileSystem' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIOAtomics' in project 'swift-nio'
        ➜ Explicit dependency on target 'NIOConcurrencyHelpers' in project 'swift-nio'
        ➜ Explicit dependency on target '_NIOBase64' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIODarwin' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIOLinux' in project 'swift-nio'
        ➜ Explicit dependency on target 'CNIOWindows' in project 'swift-nio'
        ➜ Explicit dependency on target '_NIODataStructures' in project 'swift-nio'
        ➜ Explicit dependency on target 'NIOCore' in project 'swift-nio'
        ➜ Explicit dependency on target 'NIOPosix' in project 'swift-nio'
        ➜ Explicit dependency on target '_NIOFileSystem' in project 'swift-nio'
        ➜ Explicit dependency on target 'DequeModule' in project 'swift-collections'
        ➜ Explicit dependency on target 'Atomics' in project 'swift-atomics'

@glbrntt what is the intention of having constrained the use of the dependency?

swift-system didn't compile for visionOS so we dropped support for it in file system so that NIO could still be built (53965cc)

That may well have changed so we might be able to remove the condition entirely.

@glbrntt
Copy link
Contributor

glbrntt commented Aug 19, 2024

swift-system supports visionOS from 1.3.0 and removing the condition from NIOs manifest works for visionOS.

Unfortunately swift-system doesn't support macCatalyst. I opened a PR to add support: apple/swift-system#193

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants