Verzweiflung beim Bauen der AVR32-Tools

13/12/2009 - 21:22 von Markus Wichmann | Report spam
Hi all,

ich verzweifle so langsam an dieser Aufgabe. Und zwar will ich die
binutils für AVR32 kompilieren. Dazu hab ich mir den Source-Tarball von
Atmel heruntergeladen und entpackt. Drin enthalten waren die Quelltexte
für die binutils, den gcc, die newlib und auch die specfiles für die
jeweiligen Pakete.

Und da stand in dem von den binutils drin:

|%prep
|%setup -q -n binutils-%{version}
|
|autoconf
|for dir in bfd opcodes binutils ld gas gprof; do
| pushd $dir
| autoreconf
| popd
|done
|
|%build
|for target in avr32 avr32-linux; do
| rm -rf "%{_builddir}/build-binutils-$target"
| mkdir "%{_builddir}/build-binutils-$target"
| cd "%{_builddir}/build-binutils-$target"
| ../binutils-%{version}/configure \
| --target=$target \
| --prefix=%{_prefix} \
| --disable-werror \
| >configure.log 2>&1
| make all-bfd TARGET-bfd=headers >make.log 2>&1
| # force reconfiguring
| rm bfd/Makefile
| make all >>make.log 2>&1
|done
|
|%install
|rm -rf %{buildroot}
|mkdir -p %{buildroot}%{_prefix}
|
|pushd "%{_builddir}/build-binutils-avr32"
|make install DESTDIR=$RPM_BUILD_ROOT > make-install.log 2>&1
|popd
|
|pushd "%{_builddir}/build-binutils-avr32-linux"
|make install DESTDIR=$RPM_BUILD_ROOT > make-install.log 2>&1
|popd
|
|#remove folders that we do not want in the distro
|rm -rf %{buildroot}%{_prefix}/share
|rm -rf %{buildroot}%{_prefix}/lib
|rm -rf %{buildroot}%{_prefix}/info
|rm -rf %{buildroot}%{_prefix}/man
|cd "%{_builddir}/binutils-%{version}"
|
|find %{buildroot}%{_prefix}/bin -type f |grep -v avr32-linux | sed -e 's,^%{buildroot},,' > files.native.txt

Ich hab keine Ahnung, was die zweite Zeile bedeuten soll, aber vom
nachfolgenden Skript gehe ich davon aus, dass es im Quellverzeichnis der
binutils ausgeführt werden will.

Das hab ich auch versucht, aber ich werte eine Fehlermeldung einfach mal
als abbruchwürdig. und zwar passierte mir dann folgendes:

$ autoconf
config/override.m4:24: error: m4_copy: won't overwrite defined macro: AC_PREREQ
config/override.m4:24: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
$ nl -ba config/override.m4 | grep -A 4 ' 24'
24 ifdef([m4_PACKAGE_VERSION],
25 [dnl AC_DEFUN a commonly used macro so this file is picked up.
26 m4_copy([AC_PREREQ], [_AC_PREREQ])
27 AC_DEFUN([AC_PREREQ], [frob])
28 m4_copy([_AC_PREREQ], [AC_PREREQ])

So, wie soll ich das jetzt àndern, damit die fragliche Fehlermeldung
nicht mehr kommt, aber keine Folgefehler auftreten? Ich kenne mich mit
den autotools nicht aus.

Tschö,
Markus

Nur weil ein Genie nix reißt, muß ja nun nicht gleich jeder Idiot
pausieren... Bully hats ja auch geschafft.
 

Lesen sie die antworten

#1 Daniel Leidert
14/12/2009 - 04:44 | Warnen spam
Markus Wichmann schrieb:

[..]
$ autoconf
config/override.m4:24: error: m4_copy: won't overwrite defined macro:
AC_PREREQ config/override.m4:24: the top level
autom4te: /usr/bin/m4 failed with exit status: 1 $ nl -ba
config/override.m4 | grep -A 4 ' 24'
24 ifdef([m4_PACKAGE_VERSION],
25 [dnl AC_DEFUN a commonly used macro so this file is picked up.
26 m4_copy([AC_PREREQ], [_AC_PREREQ]) 27 AC_DEFUN([AC_PREREQ],
[frob])
28 m4_copy([_AC_PREREQ], [AC_PREREQ])

So, wie soll ich das jetzt àndern, damit die fragliche Fehlermeldung
nicht mehr kommt, aber keine Folgefehler auftreten? Ich kenne mich mit
den autotools nicht aus.



Existieren die configure-Skripte, aclocal.m4, ... bereits? Wenn ja,
welche Version weisen sie denn auf?

Evtl. mal `autoreconf -f' probieren oder die passende autoconf-Version
rauskramen. Ich nehme an, das sind Versions-Unvertràglichkeiten.

MfG Daniel

Ähnliche fragen