Hi,I try to build the compiler tools with fedora4. Binutils compiled and installed well. Following error on the screen when trying building gcc :
checking whether byte ordering is bigendian... cross-compiling... unknown checking to probe for byte ordering... /usr/local/nios2-elf/nios2-elf/bin/ld: crt0.o: No such file: No such file or directory collect2: ld returned 1 exit status unknown configure: error: unknown endianess - sorry /src/src/gcc/libiberty/configure: line 3289: exit: please: numeric argument required /src/src/gcc/libiberty/configure: line 3289: exit: please: numeric argument requiredI used :
# ../configure --target=nios2-elf --prefix=/usr/local/nios2-elf --with-newlib --enable-languages=c,c++and then make. I'm using gcc32 (not gcc 4.0), and the sources from the linux CDRom from Altera (Nios2 - 5.0). I first extracted GNUSRC.TGZ from the COMMON directory, and then copied in the sources found in LINUX/GNUBIN.TGZ Any idea what I do wrong? Stefaan
You need the crt0.o from newlib.I try the build with the source from Nios2 window cd. I built binutils,gcc with c only, newlib, and gcc with c,c++. And it stopped at the last step for libstdc++,
checking for extra compiler flags for building... configure: WARNING: No native atomic operations are provided for this platform. configure: WARNING: They cannot be faked when thread support is disabled. configure: WARNING: Thread-safety of certain classes is not guaranteed. configure: error: No support for this host/target combination. make: *** Error 1I try with buildroot, and it stopped at the same message. Still finding...
hippo,I had the same message in my first tests, but then I was still using gcc4.0 instead of the older gcc32. Someone from Altera can tell me how to build the tools?? Stefaan
I am trying with gcc32 and buildroot to gcc3.4.5.The error message was from an improper def in the config.sub in gcc source, I fix it to
Index: package/gnuconfig/config.sub =================================================================== --- package/gnuconfig/config.sub (revision 13473) +++ package/gnuconfig/config.sub (working copy) @@ -299,8 +299,8 @@ basic_machine=mt-unknown ;; nios2 | nios2-* | nios2 | nios2-*) - basic_machine=nios2-altera - os=-none + basic_machine=nios2-uclibc +# os=-none ;; # We use `pc' rather than `unknown'Then it can compile some libstdc++, but stopped at
from /home/jack/buildroot/toolchain_build_nios2/gcc-3.4.5/libstdc++-v3/src/allocator.cc:35: /home/jack/buildroot/toolchain_build_nios2/gcc-3.4.5-final/nios2-linux-uclibc/mno-hw-mul/libstdc++-v3/include/nios2-linux-uclibc/bits/c++locale.h: In function `int std::__convert_from_v(char*, int, const char*, _Tv, int* const&, int)': /home/jack/buildroot/toolchain_build_nios2/gcc-3.4.5-final/nios2-linux-uclibc/mno-hw-mul/libstdc++-v3/include/nios2-linux-uclibc/bits/c++locale.h:103: error: `snprintf' is not a member of `std'I will try other gcc 3.4.x.
Hippo,Thanks for the time you put in this. I'll try the same you did so far. If it is so difficult, I just can not understand how the tools get build at Altera Corporation. Stefaan
Hippo,Yes, I need the stdc++ library, otherwise I can not use classes in a proper way. I don't need the C++ exception handling. Stefaan
Thank you anyways.It doesn't matter to me. I am not a c++ user. I just want to find out the problem. I think the configure does not work well. I will let you know if I have progess.
Got it !!I got it works using src from Nios2 window cd. 1. binutils , configure --target=nios2-elf, make, make install 2. gcc in dir pass1, configure --target=nios2-elf --enable-languages=c --with-newlib, make, make install 3. newlib, configure --target=nios2-elf, make, make install 4. gcc in dir pass2, configure --target=nios2-elf --enable-languages=c,c++ --with-newlib, make, make install The libs are for newlib, and can not be used for uclinux.
Hippo,just found some time for playing around with it again. I tried with the sources from the window cd on the fedora system, but the configure step gives me the following message immediate :
: bad interpreter: No such file or directoryStefaan
Use "zip -r" and "unzip -a" to convert the source.It is similar to "dos2unix", but easier to use. You can find some details from earlier post, http://forum.niosforum.com/forum/index.php?showtopic=3040 (http://forum.niosforum.com/forum/index.php?showtopic=3040) post# 1 and post# 5.
I got there now (thanks to hippo, who showed me the way)I did like this now : - get the windows sources, zip -r and unzip -a (I've put modified sources in /usr/src/nios2) - binutils : like expected :
cd /usr/src/nios2/binutils mkdir build cd build ../configure --target=nios2-elf --prefix=/usr/local/nios2-elf make make install- gcc first pass ( = without Clib and C++ support) :
PATH=/usr/local/nios2-elf:$PATH cd /usr/src/nios2/gcc mkdir build cd build ../configure --target=nios2-elf --prefix=/usr/local/nios2-elf --enable_languages=c --without-headers --with-newlib make make install- newlib c library
cd /usr/src/nios2/newlib mkdir build cd build ../configure --prefix=/usr/local/nios2-elf --target=nios2-elf make make install- gcc second pass :
cd /usr/src/nios2/gcc/build ../configure --target=nios2-elf --prefix=/usr/local/nios2-elf --enable_languages=c,c++ --with-headers --with-newlib make make installThe trick seems to be the --without-headers in the first gcc pass (see porting gcc (http://http://www.mega-tokyo.com/osfaq2/index.php/gcc%20cross-compiler))
I have updated buildroot to compile c++ and libstdc++ for used with uClibc/uClinux.Try out post#1 in http://forum.niosforum.com/forum/index.php?showtopic=3174 (http://forum.niosforum.com/forum/index.php?showtopic=3174)