Open briancoyner opened 2 hours ago
Thanks for this! The main
issues were introduced by #2891, so @rnro should probably take a look at that.
For the others, those issues are a bit weird. conflicting arguments to generic parameter 'T' ('Optional<UnsafeRawPointer>.AtomicRepresentation' vs. 'Optional<UnsafeRawPointer>.AtomicRepresentation')
appears to be complaining about two identical types. The other error is also odd.
@al45tair, do you have any ideas what's going on there?
Thanks for letting us know about this. I've put up a PR which should fixup the linux/udp.h
issue. https://github.com/apple/swift-nio/pull/2894
@Lukasa I'm not sure about the AtomicRepresentation
error; that likely means that we've got two modules defining some type or other, but normally that happens with C types rather than Swift ones.
As for <linux/udp.h>
, if NIO has started requiring that then we may need to work out what it's using and add that to the Static SDK. Note that the Static SDK does not include the Linux headers, because those are GPL'd; to make things work for NIO and a couple of other things, it does include some shims that declare just the things that are being used.
Expected behavior
An application with a dependency on SwiftNIO successfully builds with a Swift 6 OSS toolchain + Static Linux SDK.
Note: The
swift-6.0-DEVELOPMENT-SNAPSHOT-2024-09-17-a
toolchain is used vs theswift-6.0-RELEASE
because of another issue withswift-collections
. That issue is fixed in the "09-17" toolchain release.Note: Xcode 15.4.0 vs Xcode 16.0.0 because of an issue described here:
Actual behavior
main
branch error2.72.0
tag errorSteps to reproduce
swift-6.0-DEVELOPMENT-SNAPSHOT-2024-09-17-a
).Also, building without the Static Linux SDK succeeds:
If possible, minimal yet complete reproducer code (or URL to code)
Here's a basic
Package.swift
manifest that can be used:SwiftNIO version/commit hash
main
and2.72.0
System & version information
Sonoma 14.6.1