The source files of interest are on a network share hosted on a Win7 machine, but the symlinks are created on this Mac using ln -sf
These are .h files, and sometimes one or more of them are not found by the C++ compiler. I get an error like foo.h is not found, when I can see it and read the (linked-to) contents using Finder.
My work-around is to copy the file instead of symlink to it. Then I find that the other files (symlink .h files in the same directory linking to files in the same source directory; just like the "bad" one) have no problems.
Which one(s) are affected will vary, too.
Any idea what could be causing this? It started when updating Mac OSX to Mavericks, which has different CIFS network code. It still happens with Yosemite.
Note that the symlink does work on the Mac in general; I make it on that Mac, and even when it's having the error in Xcode I can see the file contents resolved as expected in the Columns view in Finder, or with cat
on the bash prompt. It's only Xcode's compiler's problem.
More Specifics
The files are part of a “framework” and the link (example)
cd /Volumes/There/blah/blah2/blah3/blah3/CocoaPods/Pods/BuildHeaders/Cheeseburger
ln -sf ../../Cheeseburger/Burger/head1.h
⋮ a bunch of files in same path, head2.h, head3.h, etc.
cd ../../Headers/Cheeseburger
ln -sf ../../Cheeseburger/Burger/head1.h
⋮ etc.
I'll get an error finding head5.h, and the others work fine.