Why do symlinks sometimes vanish in Xcode? 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.
Symlinks are often destroyed by some archiving tools, especially by those built into some versions of PHP, for example. Try to pack and unpack an archive and check if symlinks are still alive.
Also, symlinks won't be saved on NTFS or similar non-mac filesystem.
Please check if symlinks get broken after you access the drive from Windows computer.