On 5/05/11 6:06 PM, Ronald Oussoren wrote:
On 3 May, 2011, at 20:28, Irmen de Jong wrote:

I haven't looked into the problem you have with automaticly picking up 
dependencies
in /usr/local,  AFAIK that should just work the same as without -isysroot.
charon:~ irmen$ cat /usr/local/include/irmen.h
#define FOO 1

charon:~ irmen$ cat test.c
#include<irmen.h>
int main(void)
{
return 0;
}

charon:~ irmen$ gcc test.c
charon:~ irmen$
charon:~ irmen$ gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk test.c
test.c:1:19: error: irmen.h: No such file or directory


According to what gcc prints when compiling with -v, the -isysroot replaces
/usr/local/include include-path (and some others). So it's expected that it now 
fails to
compile, right? I can get it to compile again when I explicitly add 
/usr/local/include
to the include path once more:

$ MACOSX_DEPLOYMENT_TARGET=10.4 gcc -I/usr/local/include -isysroot
/Developer/SDKs/MacOSX10.4u.sdk test.c

I guess the situation is the same with libs living in /usr/local/lib.

I'm not entirely sure though if the above is what you were talking about Ronald?
-isysroot /FOO adds "/FOO" to the front of items on the default search path for 
the compiler,
that is instead of looking in "/usr/include" the compiler will look in 
"/FOO/usr/include".

For you example this means that the compiler will look in 
/Developer/SDKs/MacOSX10.4u.sdk/usr/local/include
for "irmen.h". That should work because "/usr/local" in the SDK is a symlink to 
the actual system-wide
"/usr/local" directory:

$ ls -l /Developer/SDKs/MacOSX10.4u.sdk/usr/local
total 8
lrwxr-xr-x  1 root  wheel  14 Mar 24 09:10 lib ->  /usr/local/lib

This is on a 10.6 system with Xcode 3, but I'm pretty sure that the compiler 
worked the same in earlier
releases.  Have you changed files in the SDK?

BTW. The reason "-I/usr/local/include" fixes your prolbem is that the location 
is then added
as a user-supplied item on the search path and those aren't resolved relative 
to the SDK root.

Ronald


Aha, the problem is because "./usr/local" in the SDK **does not** symlink to the system "/usr/local". Instead "./usr/local/lib" is symlinked to "/usr/local/lib, and there is no corresponding symlink to "/usr/local/include".


Dave
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG

Reply via email to