<div dir="ltr">Daniel, thank you for taking the time to clone the repository and reproduce the issue yourself.<div><br></div><div>I was a bit unclear in my last email. The 75% failure chance and 25% success chance are strictly from clean builds. Once a build fails or succeeds, it will continue to do so 100% of the time until a clean. (All of this is assuming no source changes.) I have only experienced this one mode of failure, as far as I can tell, and when builds succeed, the framework is generated and code that uses it builds and runs as expected.</div><div><br></div><div>I&#39;ve opened a bug at <a href="http://bugreporter.apple.com">bugreporter.apple.com</a> with ID 25511119 and clearer information.</div><div><br></div><div>By the way - I didn&#39;t mention it in the ticket because I&#39;m not confident it has anything to do with this issue - but when building previous iterations of this code with previous versions of Xcode that used Swift 2.1, I saw reliable compilation failures in which the order of generic type constraints&#39; members mattered. That is, given the following two protocols:</div><div><br></div><div><div><font face="monospace, monospace">protocol Foo { typealias Bar }</font></div><div><font face="monospace, monospace">protocol Baz { typealias Buzz }</font></div></div><div><br></div><div>This would work:</div><div><font face="monospace, monospace">struct MyGoodStruct&lt;T: protocol&lt;Baz, Foo&gt; where T.Bar == T.Buzz, T.Bar: IntegerType&gt; {}</font><br></div><div><br></div><div>And this would not:</div><div><font face="monospace, monospace">struct MyBadStruct&lt;T: protocol&lt;Baz, Foo&gt; where T.Buzz == T.Bar, T.Bar: IntegerType&gt; {}</font><br></div><div><br></div><div>As far as I could tell, this had been fixed in Swift 2.2. I bring this up only because these new linking failures seem to be related to ostrichframework&#39;s Instruction protocol and its implementors.</div><div><br></div><div>Thanks again,</div><div>Ryan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 2, 2016 at 9:41 AM, Daniel Dunbar <span dir="ltr">&lt;<a href="mailto:daniel_dunbar@apple.com" target="_blank">daniel_dunbar@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Are you saying that it fails about 75% of the time even when building from clean, or it fails overall 75% of the time and you have to build from clean to fix? In my experiments it always fails when building just ostrichframework. My guess is that if you build in the IDE you are seeing it sometimes stop based on one failure and other times stop based on another failure.<div><br></div><div>Can you open a bug on <a href="http://bugreporter.apple.com" target="_blank">bugreporter.apple.com</a> about this (and let me know the #), I do see some surprising behavior on your project.</div><div><br></div><div> - Daniel</div><div><br><div><blockquote type="cite"><div><div class="h5"><div>On Apr 1, 2016, at 7:19 PM, Ryan Conway via swift-users &lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt; wrote:</div><br></div></div><div><div><div class="h5"><div dir="ltr"><div>Hey swift-users,</div><div><br></div><div>I&#39;m experiencing a linking issue that causes builds to sometimes complete and sometimes fail, without code changes. I&#39;m not sure if the problem is with Swift, Xcode, or my usage of either.</div><div><br></div><div>My Xcode 7.3 project target is a Swift framework with no dependencies other than Foundation. Compiling always succeeds, but linking fails about 75% of the time with errors like the following:</div><div><br></div><div><font face="monospace, monospace">Undefined symbols for architecture x86_64: &quot;__TWPuRx16ostrichframework11OperandTypexS_8ReadablexS_9WriteablewxPS1_8ReadTypezVs6UInt16wxPS2_9WriteTypezS4_ERRzS4_ERRzS4_ERRzSiERRzSiERRzSiERRzSirGVS_5DEC16x_S_11InstructionS_&quot;, referenced from:</font></div><div><font face="monospace, monospace">      ostrichframework.Z80.getInstruction () -&gt; ostrichframework.Instruction? in Z80.o</font></div><div><font face="monospace, monospace">ld: symbol(s) not found for architecture x86_64</font></div><div><br></div><div>The other 25% of the time, the framework will be built fine, with its user application working as expected.</div><div><br></div><div>Has anyone experienced issues like this, or does anyone have advice on troubleshooting it? I&#39;ve tried cleaning, deleting DerivedData, and building on a different machine, to no avail.</div><div><br></div><div>If it helps, the failing project is &quot;ostrichframework&quot; found in the Xcode workspace here: <a href="https://github.com/PumpMagic/ostrich" target="_blank">https://github.com/PumpMagic/ostrich</a></div><div><br></div><div>Any help is greatly appreciated.</div><div><br></div><div>Ryan</div></div></div></div>
_______________________________________________<br>swift-users mailing list<br><a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-users" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br></div></blockquote></div><br></div></div></blockquote></div><br></div>