building a cygwin -> linux gcc(crosscompiler pe->elf32) problems

Mumit Khan khan@NanoTech.Wisc.EDU
Thu Jul 12 08:17:00 GMT 2001

On Thu, 12 Jul 2001, Nathan Fouarge wrote:

> First a word of warning, this email is basically a copy paste from what I
> sent to the cygwin mailing list, in which someone referred me to this
> mailing list so here is my problem

Nathan, a word of friendly advice. When reporting these problems, it's
best to lay out your problem report in a way that's easy for others, or
else it gets ignored. If you just rearranged this note a bit, it would've 
been a lot easier.

That said, the following is completely unnecessary, and slightly incorrect
at that. The missing -I is causing your compile error. If you look closely
at the compile line, you'll see a solitary /usr/local/linux/include, which
is of course meaningless option to the compiler.

> Just to clarify first I do have the linux runtime libraries and includes in
> /usr/local/linux/lib ../include respectivly.
> Now the update:
> I knew there was some problem with how 'one' of the makefiles was including
> some of the headers.... So I went through some of the makefiles that were
> in my gcc build directory after I had done a configure to see if I could
> figure out where to mess around with....I 'believe' I figured it out.  In
> the makefile in my /usr/local/src/gnu/build/gcc/gcc I changed 2 lines
> line 361
> which previously said LIBGCC2_INCLUDES = 
> and comments above were
> # Additional options to use when compiling libgcc2.a.
> # Some targets override this to -Iinclude
> to 
> LIBGCC2_INCLUDES = /usr/local/linux/include
> and line 438
> which previously said OTHER_FIXINCLUDE_DIR = 
> and comments above were
[ ... ]

> # Additional directories of header files to run fixincludes on.
> # These should be directories searched automatically by default
> # just as /usr/include is.
> # *Do not* use this for directories that happen to contain
> # header files, but are not searched automatically by default.
> # On most systems, this is empty.
> to 
> OTHER_FIXINCLUDE_DIRS = /usr/local/linux/include

[ ... ]

> after all that I think I do get past the header issues I was having
> although NOW i have a problem of another sort

But you don't need to. If you read Step 2 in my howto, you'll see clearly
where the target headers and libraries need to be, and that's what you
have to do. 

target (ie., linux) header: $prefix/$target/include which is also a
                            symlink to $prefix/$target/sys-include.
target (ie., linux) libs  : $prefix/$target/lib

The last paragraph in Step 2 of the howto says this, I thought quite
clearly. Any reason why you didn't follow the steps?


Want more information?  See the CrossGCC FAQ,
Want to unsubscribe? Send a note to

More information about the crossgcc mailing list