Re: Problems making a cross-compiler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2006-02-17 at 13:37 +0200, Kai Ruottu wrote:
>  After installing the "GCC parts"  you can try compiling "Hello World" 
> and see what on earth the problem
> now is...  The "GCC installation" happens with the command 'make 
> install-gcc'. Producing "only" GCC
> happens with 'make all-gcc', if this succeeds, GCC can be installed and 
> tested.  After fixing the problems
> in your current GCC, producing the 'libiberty' and 'libstdc++-v3' parts 
> can be continued.

	After finding that gcc wasn;t working because of lacking of DJGPP files
needed to cross-compile, I've arranged a bit the environment and now
almost everithing goes OK, but a new problem arises with libstdc++:

	The configuration is, this time:

/usr/src/redhat/BUILD/gcc-4.0.2/configure
--prefix=/usr/local/i686-pc-msdosdjgpp
--with-local-prefix=/usr/local/i686-pc-msdosdjgpp
--enable-target-optspace --enable-languages="c,c++"
--with-sysroot=/usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp
--host=i686-redhat-linux --target=i686-pc-msdosdjgpp

	I've keep it as simple as possible according to your last mail; I need
--prefix and --with-local-prefix because I'd like to keep it isolated,
anyway I've put /usr/local/i686-pc-msdosdjgpp/bin in the path; the
--with-sysroot points to where I've extracted the djcrx203.xip from
DJGPP, I've compiled stubify and stubedit and place copies
in /usr/local/i686-pc-msdosdjgpp/bin,
and /usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/bin; I've installed
in /usr/local/i686-pc-msdosdjgpp the binutils that I've built for the
same target.

	After configuring and making, I've got:

make
...
ln -s /usr/src/redhat/BUILD/gcc-4.0.2/libstdc
++-v3/config/io/basic_file_stdio.cc ./basic_file.cc || true
/bin/sh ../libtool --tag CXX --mode=compile /root/gnu-build/gcc/xgcc
-shared-libgcc -B/root/gnu-build/gcc/ -nostdinc++
-L/root/gnu-build/i686-pc-msdosdjgpp/libstdc++-v3/src
-L/root/gnu-build/i686-pc-msdosdjgpp/libstdc++-v3/src/.libs
-B/usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/bin/
-B/usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/lib/
-isystem /usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/include
-isystem /usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/sys-include
-I/root/gnu-build/i686-pc-msdosdjgpp/libstdc
++-v3/include/i686-pc-msdosdjgpp
-I/root/gnu-build/i686-pc-msdosdjgpp/libstdc++-v3/include
-I/usr/src/redhat/BUILD/gcc-4.0.2/libstdc++-v3/libsupc++  -g -Os
-fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual
-fdiagnostics-show-location=once  -ffunction-sections -fdata-sections
-c -o basic_file.lo basic_file.cc
/root/gnu-build/gcc/xgcc -shared-libgcc -B/root/gnu-build/gcc/ -nostdinc
++ -L/root/gnu-build/i686-pc-msdosdjgpp/libstdc++-v3/src
-L/root/gnu-build/i686-pc-msdosdjgpp/libstdc++-v3/src/.libs
-B/usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/bin/
-B/usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/lib/
-isystem /usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/include
-isystem /usr/local/i686-pc-msdosdjgpp/i686-pc-msdosdjgpp/sys-include
-I/root/gnu-build/i686-pc-msdosdjgpp/libstdc
++-v3/include/i686-pc-msdosdjgpp
-I/root/gnu-build/i686-pc-msdosdjgpp/libstdc++-v3/include
-I/usr/src/redhat/BUILD/gcc-4.0.2/libstdc++-v3/libsupc++ -g -Os
-fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections -c
basic_file.cc -o basic_file.o
basic_file.cc:1: warning: -ffunction-sections may affect debugging on
some targets
basic_file.cc: In function 'std::streamsize __gnu_internal::xwritev(int,
const char*, std::streamsize, const char*, std::streamsize)':
basic_file.cc:142: error: elements of array '__gnu_internal::iovec __iov
[2]' have incomplete type
basic_file.cc:142: error: storage size of '__iov' isn't known
basic_file.cc:151: error: 'writev' was not declared in this scope
make[3]: *** [basic_file.lo] Error 1
make[3]: Leaving directory `/root/gnu-build/i686-pc-msdosdjgpp/libstdc
++-v3/src'make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/gnu-build/i686-pc-msdosdjgpp/libstdc
++-v3'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/gnu-build/i686-pc-msdosdjgpp/libstdc
++-v3'
make: *** [all-target-libstdc++-v3] Error 2

	Any Ideas?, anything that could be missing (similar to binutils)?


David.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux