Я пытаюсь скомпилировать Macports на Snow Leopard, а именно файл src/macports1.0/get_systemconfiguration_proxies.c
. Это #include
s CoreFoundation/CoreFoundation.h
, которое #include
s CoreFoundation/CFBase.h
, которое ... пытается до #include
CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h
. Теперь CoreServices
является символической ссылкой:
$ ls -l CoreServices
lrwxr-xr-x 1 root wheel 62 Mar 25 17:15 CoreServices -> ../../System/Library/Frameworks/CoreServices.framework/Headers
поэтому я подозреваю, что цель состоит в том, чтобы добраться до ../../System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacTypes.h
, что очень хорошо сделать:
$ ls -l ../../System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacTypes.h
-rw-r--r-- 1 root wheel 30291 Jun 24 2010 ../../System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacTypes.h
Однако, gcc
это не нравится:
In file included from $INCLUDE/CoreFoundation/CFBase.h:48,
from $INCLUDE/CoreFoundation/CoreFoundation.h:38,
from get_systemconfiguration_proxies.c:42:
$INCLUDE/CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:20:42: error: CarbonCore/ConditionalMacros.h: No such file or directory
что заставляет меня подозревать
( EDIT : Но Tom Zych указывает на то, что я подозреваю неправильно, потому что я не закончил читать сообщение об ошибке. Sigh .)
, что gcc
может не разрешать символическую ссылку, а вместо этого слишком умно сворачивается от CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h
до Frameworks/CarbonCore.framework/Headers/MacTypes.h
, чего, разумеется, не существует:
$ ls -l Frameworks/CarbonCore.framework/Headers/MacTypes.h
ls: Frameworks/CarbonCore.framework/Headers/MacTypes.h: No such file or directory
Возможно ли, что я правильно интерпретировал ошибку? Если это так, есть ли способ убедить gcc
перейти по символической ссылке до cd
с ..
?