> On Apr 1, 2019, at 20:44, Chris Jones <jon...@hep.phy.cam.ac.uk> wrote: > > > > On 01/04/2019 1:39 pm, Sean Lake wrote: >> You are correct, that Apple's missing the directory I need. > > Please keep your replies on-list.
Apologies. I accidentally hit 'reply' instead of 'reply all'. > >> Seans-Work-Macbook-Pro:~ sean$ ls /usr >> X11 bin libexec sbin standalone >> X11R6 lib local share >> I'll cross that bridge when I get to it, but I'm more likely to find a >> way to install gcc's libc than to support Apple's move away from a >> Unix architecture. > > Where or not I also agree with the direction Apple is going is not relevant. > The fact is, in my view, if you want to support macOS with the least effort, > then going against the flow is not the best solution. Better to test your > application with clang (which, coincidently should not be hard, gcc and clang > are pretty compatible these days) and then use this on macOS, than to to > fight against the changes Apple wishes to make. Thank you for your input. I will give it the consideration it is due. Best, Sean Lake > > Chris > >> Best, >> Sean >> On Mon, Apr 1, 2019 at 8:35 PM Chris Jones <jon...@hep.phy.cam.ac.uk> wrote: >>> >>> Hi, >>> >>> I suspect the issue is Apple is seemingly phasing out the standard >>> includes as part of /usr/include. Can you test to see if you have the file >>> >>> /usr/include/sys/cdefs.h >>> >>> ? >>> >>> I suspect you don't, even if you have the commandline tools package >>> installed. >>> >>> In Xcode 10, Apple is shipping a hidden dmg that installs these. See for >>> instance >>> >>> <https://apple.stackexchange.com/questions/337940/why-is-usr-include-missing-i-have-xcode-and-command-line-tools-installed-moja> >>> >>> As the above article states, going forward you should not assume that >>> /usr/include will be present. My bet is that dmg will disappear one day. >>> >>> This is why I still maintain if you want to support macOS, you should be >>> looking to support clang. The command line package installed versions of >>> these are just wrappers around Xcode >>> >>> Titan ~ > which clang >>> /usr/bin/clang >>> Titan ~ > clang -v >>> Apple LLVM version 10.0.0 (clang-1000.11.45.5) >>> Target: x86_64-apple-darwin17.7.0 >>> Thread model: posix >>> InstalledDir: >>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin >>> >>> and as such by default know to look in the Xcode area for the various >>> headers. >>> >>> cheers Chris >>> >>> >>> On 01/04/2019 12:13 pm, Mojca Miklavec wrote: >>>> On Mon, 1 Apr 2019 at 12:18, Sean Lake wrote: >>>>> >>>>> As far as I know I have command line tools installed - I'm not even >>>>> sure how I could get MacPorts installed without them. Adding >>>>> "-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include" >>>>> to CFLAGS appears to have fixed the problem >>>> >>>> Does that mean that clang automatically searches the relevant path and gcc >>>> not? >>>> Does that mean that we would need to somehow find a fix for our gcc ports? >>>> >>>> It's true that gcc is a second-class citizen on macs nowadays. It >>>> makes perfect sense to make sure that the project is buildable with >>>> gcc, in particular if you spend a lot of time optimizing flags, but it >>>> would also be nice to test compilations with clang, just in case. >>>> >>>> (You probably know this, but note that if you plan to distribute >>>> binaries for your software and you compile it with gcc, the users >>>> might need to have macports installed as well, since the binaries will >>>> depend on libstdc++ which is not present on stock macOS. Unless you >>>> statically link with libstdc++ which is slightly less trivial than on >>>> Linux.) >>>> >>>> Mojca >>>>