I'm trying to help a friend who just began getting an "hmap: is not a directory" error on all his builds, even on newly created projects. Here's a portion of a build transcript showing the error:
CompileC build/Test.build/Debug/Test.build/Objects-normal/ppc/main.o /Users/rickyd2/Desktop/Test/main.m normal ppc objective-c com.apple.compilers.gcc.4_0 cd /Users/rickyd2/Desktop/Test /usr/bin/gcc-4.0 -x objective-c -arch ppc -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -g -O0 -Wreturn-type -Wunused-variable -fmessage-length=0 -fzero-link -mtune=G5 -mfix-and-continue -mmacosx-version-min=10.4 -I/Users/rickyd2/Desktop/Test/build/Test.build/Debug/Test.build/Test.hmap -F/Users/rickyd2/Desktop/Test/build/Debug -I/Users/rickyd2/Desktop/Test/build/Debug/include -I/Users/rickyd2/Desktop/Test/build/Test.build/Debug/Test.build/DerivedSources -isysroot /Developer/SDKs/MacOSX10.4u.sdk -c /Users/rickyd2/Desktop/Test/main.m -o /Users/rickyd2/Desktop/Test/build/Test.build/Debug/Test.build/Objects-normal/ppc/main.o cc1obj: error: /Users/rickyd2/Desktop/Test/build/Test.build/Debug/Test.build/Test.hmap: not a directory
This occurred on a newly created AS Studio project that has had no code added to it yet.
Yet here's one of my build transcripts that does not have any problem:
CompileC build/MultiScript.build/Debug/MultiScript.build/Objects-normal/ppc/main.o /Volumes/Data/Users/hermasj/Desktop/MultiScript/main.m normal ppc objective-c com.apple.compilers.gcc.4_0 cd /Volumes/Data/Users/hermasj/Desktop/MultiScript /usr/bin/gcc-4.0 -x objective-c -arch ppc -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -g -O0 -Wreturn-type -Wunused-variable -fmessage-length=0 -fzero-link -mtune=G5 -mfix-and-continue -mmacosx-version-min=10.4 -I/Volumes/Data/Users/hermasj/Desktop/MultiScript/build/MultiScript.build/Debug/MultiScript.build/MultiScript.hmap -F/Volumes/Data/Users/hermasj/Desktop/MultiScript/build/Debug -I/Volumes/Data/Users/hermasj/Desktop/MultiScript/build/Debug/include -I/Volumes/Data/Users/hermasj/Desktop/MultiScript/build/MultiScript.build/Debug/MultiScript.build/DerivedSources -isysroot /Developer/SDKs/MacOSX10.4u.sdk -c /Volumes/Data/Users/hermasj/Desktop/MultiScript/main.m -o /Volumes/Data/Users/hermasj/Desktop/MultiScript/build/MultiScript.build/Debug/MultiScript.build/Objects-normal/ppc/main.o In both cases the "-I" directive is being used to point to the .hmap file. According to the gcc man page the "-I" option should point to a _directory_ to put into the compiler's header search path, but in the case of the hmap files the "-I" directive is pointing to a _file_. So in one sense I can see why you might get the "not a directory" error... but then why don't I get the error? And in any event it appears that this is the normal way that Xcode specifies the hmap file in the compile command anyway. Is it acceptable to point directly to a file with "-I" or does gcc have some special knowledge of what an hmap file is and how to read it?
Assuming the "-I" option with the path to the hmap file is being used in some "special" way... is there some setting in Xcode or in an environment variable that might be causing him to get the "not a directory" error? Or could the error be telling us that a path _within_ the hmap file is not a directory (is there a way to dump the contents of the hmap file to see what it contains?) We've tried removing virtually all Xcode related prefs we can find to no avail. He's also tried totally reinstalling Xcode Tools but that didn't seem to help either. He's at the point that he's about to wipe his system and reinstall the entire OS from the ground up.
It was suggested that perhaps he had an improperly quoted path that contained spaces, but that doesn't seem to be the case from the transcript he's provided... if a path _within_ the hmap file contained spaces or other special chars would that potentially generate the "not a directory" error?
Thanks for any help, Steve
--
Steve Herman Macintosh Software Development and Support Lockheed Martin Information Technology 102 Research Blvd, Building 2 Madison, AL 35758 (voice) 256 319-2869 |