Error while building OS-Specific Toolchain
Posted: Wed Nov 05, 2014 5:02 am
Hi! As you noticed, I'm in the (frustrating) process of creating an OS-specific toolchain. I've followed the instructions in the wiki, and have managed to resolve most build errors, except one. When make'ing binutils, I end up with this error log:
I'm a native spanish speaker, so this is what I've translated
This probably isn't what English make outputs, but its what I can provide...
I've deduced the problem is in /ld/Makefile.am. The wiki says:
Meanwhile, the second one, which is several times more obvious, generates me several times more troubles. That's because of all the version incompatibilities automake & friends have. If I run automake:
That's not a very hopeful message... now: autoreconf
... autoreconf2.64 ...
Just warnings and recursive references! What do I do?
Code: Select all
make[4]: se ingresa al directorio «/usr/bluesky/src/binutils-build/ld»
make[4]: *** No hay ninguna regla para construir el objetivo «eelf_i386_bluesky.o», necesario para «ld-new». Alto.
make[4]: se sale del directorio «/usr/bluesky/src/binutils-build/ld»
make[3]: *** [all-recursive] Error 1
make[3]: se sale del directorio «/usr/bluesky/src/binutils-build/ld»
make[2]: *** [all] Error 2
make[2]: se sale del directorio «/usr/bluesky/src/binutils-build/ld»
make[1]: *** [all-ld] Error 2
make[1]: se sale del directorio «/usr/bluesky/src/binutils-build»
make: *** [all] Error 2
Code: Select all
make[4]: entering directory «/usr/bluesky/src/binutils-build/ld»
make[4]: *** No rule found for building target «eelf_i386_bluesky.o», required for «ld-new». Stop.
make[4]: leaving directory «/usr/bluesky/src/binutils-build/ld»
make[3]: *** [all-recursive] Error 1
make[3]: leaving directory «/usr/bluesky/src/binutils-build/ld»
make[2]: *** [all] Error 2
make[2]: leaving directory «/usr/bluesky/src/binutils-build/ld»
make[1]: *** [all-ld] Error 2
make[1]: leaving directory «/usr/bluesky/src/binutils-build»
make: *** [all] Error 2
I've deduced the problem is in /ld/Makefile.am. The wiki says:
Those two statements became me crazy! The first one is pretty obvious, but took me a while to use the 'find' function of gedit to understand it...OSDev Wiki wrote: ld/Makefile.am
... The code...
You also need to add eelf_i386_myos.c to the ALL_EMULATION_SOURCES list; and you also need to add eelf_x86_64_myos.c to the ALL_64_EMULATION_SOURCES list.
Note: You must run automake in the ld directory after you modify Makefile.am to regenerate Makefile.in.
Meanwhile, the second one, which is several times more obvious, generates me several times more troubles. That's because of all the version incompatibilities automake & friends have. If I run automake:
Code: Select all
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
aclocal.m4:16: warning: this file was generated for autoconf 2.64.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
configure.in:21: error: Please use exactly Autoconf 2.64 instead of 2.69.
../config/override.m4:12: _GCC_AUTOCONF_VERSION_CHECK is expanded from...
configure.in:21: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
automake: error: autoconf failed with exit status: 1
Code: Select all
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:21: error: Please use exactly Autoconf 2.64 instead of 2.69.
../config/override.m4:12: _GCC_AUTOCONF_VERSION_CHECK is expanded from...
configure.in:21: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf2.50: aclocal failed with exit status: 1
Code: Select all
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:31: error: Autoconf version 2.65 or higher is required
/usr/share/aclocal-1.14/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.in:31: the top level
autom4te2.64: /usr/bin/m4 failed with exit status: 63
aclocal: error: echo failed with exit status: 63
autoreconf2.64: aclocal failed with exit status: 63