On Sunday 28 December 2003 05:50 pm, Cameron Simpson wrote: > 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. Hi, I just saw your response. I was never very good at nuance of make files. I had done somethings to work around the problem, but now I can fix the make file. Thanks for the observation and clearing the matter. I completed the make by copying everything in the directory they were needed. But I'm going to fix the makefile and try again. Thank you very much. -- redhat-list mailing list unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list