<div dir="ltr">Ah, interesting; thanks for the info!  In that case, I'll just go back to debugging that issue the old fashioned way.<div><br></div><div><br></div><div>Best,</div><div>Ryan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 27, 2017 at 10:33 AM, Daniel Peebles <span dir="ltr"><<a href="mailto:pumpkingod@gmail.com" target="_blank">pumpkingod@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I don't know about your specific issue with Foundation.framework, but regarding "<span style="font-size:12.8px">Apple doesn't support (and strongly discourages) statically linked executables[1], so it's not terribly surprising that this doesn't work." I think you're interpreting it a bit more broadly than intended.</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Apple's point in that tech note is that you shouldn't statically link what most people think of as libc (called libSystem on macOS). You can statically link anything else because that's basically just you deciding how you want to organize your software. The reason for this is that libSystem is where the kernel syscall wrappers live, and they don't want you to make syscalls directly because they don't want to commit to a particular kernel ABI. That's why they don't ship a static libSystem or any of that crt0.o stuff, but if you have a ton of .a libraries you want to link into your executable that's fine because it'll still be linking to libSystem.dylib when it wants to make syscalls.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">The only mainstream project I know that actively ignores this advice is Go, which has implemented its own syscall wrappers for macOS and as such occasionally gets weird bugs when Apple makes changes to the kernel ABI.</span></div><div><span style="font-size:12.8px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Fri, Jun 23, 2017 at 11:31 AM, Ryan Trinkle <span dir="ltr"><<a href="mailto:ryan.trinkle@gmail.com" target="_blank">ryan.trinkle@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hi everyone,<div><br></div><div>I'm trying to ensure that beginner-level code that uses reflex-dom can be built by simply calling 'ghc myFile.hs', provided that all the necessary libraries are available in ghc-pkg.  This works on linux, but on macOS, it's currently necessary for the user to add '-dynamic' to the command line.  In particular, without -dynamic, the linker fails to find "_OBJC_CLASS_$_NSURL", which is a symbol in the Foundation system framework.  Apple doesn't support (and strongly discourages) statically linked executables[1], so it's not terribly surprising that this doesn't work.<div><br></div><div>Is there anything I can do to avoid the need for -dynamic here?</div><div><br></div><div><br></div><div>Thanks,</div><div>Ryan</div><div><br></div><div>[1] <a href="https://developer.apple.com/library/content/qa/qa1118/_index.html" target="_blank">https://developer.apple.co<wbr>m/library/content/qa/qa1118/_<wbr>index.html</a></div></div></div>
<br></div></div>______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/haskell-caf<wbr>e</a><br>
Only members subscribed via the mailman list are allowed to post.<br></blockquote></div><br></div>
</blockquote></div><br></div>