On 13:56 28 Dec 2003, Robert Brown <eli@xxxxxxxxxxxxxxxx> wrote: | > I ran the command: | > $ gcc -E -C -DRESIN_HOME=\"/usr/resin\" -I -I/usr/kerberos/include | > -I/usr/java/include -I/usr/java/include/linux -I../common-DCPU=\"i386\" -DOS= | > -c -o ssl.o ssl.c > ssl.E | > | > and Here's the response: | > | > In file included from /usr/include/openssl/ssl.h:179, | > from ssl.c:62: | > /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory | > | > The file kssl.h is in /usr/include/openssl and it is including <krb5.h> but | > krb5.h is not in /usr/include/openssl. Here's the exact include statement | > that's causing the problem [...] | Eurika! There's your problem! The file name is in angle brackets | instead of in quotes. This means that it will be searched for only in | system directories, such as /usr/include, and not user supplied | directories. It is only looking for krb5.h in /usr/include of one of | its subdirectories. If you change the angle brackets to double | quotes, it should work. Sorry, your diagnosis is wrong. Generally the only difference between #include <foo.h> and #include "foo.h" is that the latter searches the current directory first, in addition to the "usual places". The -I option adds to the "usual places". The actual source of his problem is this stuff from his compile line: -I -I/usr/kerberos/include Notice that lone -I option? As with most single-letter options, if they take an argument that argument may be abutted to the option or the next word, so this: -x foo and -xfoo mean "-x" with the argument "foo". In your case the lone -I is using "-I/usr/kerberos/include" as its argument for the same reason, and thus adding a bugus directory named "-I/usr/kerberos/include" to the include search path. The source of this error is probably a bit of make code like this: SOME_HEADER_DIR = and a compile line going: gcc ....... -I$(SOME_HEADER_DIR) ....... You need to get rid of that lone -I option. First try it by hand: gcc -C -DRESIN_HOME=\"/usr/resin\" -I/usr/kerberos/include -I/usr/java/include -I/usr/java/include/linux -I../common-DCPU=\"i386\" -DOS= -c -o ssl.o ssl.c and see if it behaves. Then find the empty macro in the makefile. Cheers, -- Cameron Simpson <cs@xxxxxxxxxx> DoD#743 http://www.cskk.ezoshosting.com/cs/ This disk pack is sold by volume, not by wait. Crammed full by modern automatic computer equipment, it causes full net wait timeouts. If device does not appear full when opened, it is because file contents have been lost during transfering. -- redhat-list mailing list unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list