NetBSD 3.1 unter Linux bauen

F

Fry

Guest
Hallo,
ich habe mir die ganzen *src.tgz-Archive vom NetBSD-ftp gezogen und versuche jetzt unter Linux ein NetBSD 3.1 zu bauen, weil der Zielrechner mit 233MHz etwas zu lahm für sowas ist ;)
Das Problem ist jetzt, dass er bei einem "./build.sh -U -u -m i386 build" irgendwann mit
# create ksh/siglist.out
sh /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.sh "/home/ruhl/NetBSD/tools/bin/i386--netbsdelf-gcc -E -I. -nostdinc -isystem /home/ruhl/NetBSD/destdir/usr/include -I. -I/home/ruhl/NetBSD/usr/src/bin/ksh" < /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.in > siglist.out.tmp && mv siglist.out.tmp siglist.out
sort: open failed: +2n: No such file or directory

*** Failed target: siglist.out
*** Failed command: sh /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.sh "/home/ruhl/NetBSD/tools/bin/i386--netbsdelf-gcc -E -I. -nostdinc -isystem /home/ruhl/NetBSD/destdir/usr/include -I. -I/home/ruhl/NetBSD/usr/src/bin/ksh" < /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.in > siglist.out.tmp && mv siglist.out.tmp siglist.out
*** Error code 1

Stop.
nbmake: stopped in /home/ruhl/NetBSD/usr/src/bin/ksh

*** Failed target: dependall-ksh
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="bin/"; real="/home/ruhl/NetBSD/usr/src/bin" ;; *) this="bin/${dir}/"; real="/home/ruhl/NetBSD/usr/src/bin/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /home/ruhl/NetBSD/tools/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget ksh dependall
*** Error code 1

Stop.
nbmake: stopped in /home/ruhl/NetBSD/usr/src/bin

*** Failed target: dependall-bin
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/home/ruhl/NetBSD/usr/src" ;; *) this="${dir}/"; real="/home/ruhl/NetBSD/usr/src/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /home/ruhl/NetBSD/tools/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget bin dependall
*** Error code 1

Stop.
nbmake: stopped in /home/ruhl/NetBSD/usr/src

*** Failed target: do-build
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/home/ruhl/NetBSD/usr/src" ;; *) this="${dir}/"; real="/home/ruhl/NetBSD/usr/src/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /home/ruhl/NetBSD/tools/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget . dependall BUILD_tools=no BUILD_lib=no
*** Error code 1

Stop.
nbmake: stopped in /home/ruhl/NetBSD/usr/src

*** Failed target: build
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/home/ruhl/NetBSD/usr/src" ;; *) this="${dir}/"; real="/home/ruhl/NetBSD/usr/src/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /home/ruhl/NetBSD/tools/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget . do-build
*** Error code 1

Stop.
nbmake: stopped in /home/ruhl/NetBSD/usr/src

ERROR: Failed to make build
*** BUILD ABORTED ***
die ganze Geschichte abbricht. Vielleicht ist es wichtig zu sagen, dass ich in der build.sh
die Zeile "TOP=$(/bin/pwd -P>/dev/null" zu "TOP=$(pwd)" verändert hab, weil er sonst am Anfang /tools/.../configure nicht findet.(Die Manpage sagt, dass pwd den Schalter -P nicht kennt)
Viele Grüße,
Robert
 
Aber baut ers denn? Kernel kann man auch erst baun. Ich bau z.B. immer erst kernel und releasekernel, dann distrib und dann release. So könnte man den Fehler eventuell eingrenzen.
 
Also ich sehe den Fehler hier bei der ksh:

# create ksh/siglist.out
sh /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.sh "/home/ruhl/NetBSD/tools/bin/i386--netbsdelf-gcc -E -I. -nostdinc -isystem /home/ruhl/NetBSD/destdir/usr/include -I. -I/home/ruhl/NetBSD/usr/src/bin/ksh" < /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.in > siglist.out.tmp && mv siglist.out.tmp siglist.out
sort: open failed: +2n: No such file or directory

*** Failed target: siglist.out

aber weiss nicht, wie ich den beheben könnte.
 
Unter welcher Dsitribution baust du denn?
Hast du vielleicht vergessen, ein Archiv zu entpacken? (kann ja mal passieren)
Ist ksh das einzige, was er nicht baun kann? Sprich, liegt es nur an gnusrc.tgz (afaik ist es da drinne)?
 
Zuletzt bearbeitet:
ist
Code:
 /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.in
vorhanden? Und wenn ja, was passiert in
Code:
 /home/ruhl/NetBSD/usr/src/bin/ksh/siglist.sh
Weil eventuell wird dort ein Komando gerufen, dessen Bedienung sich in Linux von NetBsd unterscheidet.
 
@becki: Ich benutze Gentoo, habe alle vier Archive entpackt, da bin ich sicher.
Er läuft halt ne ganze Weile bis dann irgendwann bei ksh der Fehler kommt.

@thyrver: Ja, die siglist.in gibt es. Im Fehler steht ja was von dem Befehl "sort", der eine Datei nicht findet, hier ein Auszug aus der siglist.sh:

sed -n 's/{ QwErTy/{/p' < $out | awk '{print NR, $0}' | sort +2n +0n |
sed 's/^[0-9]* //' |
awk 'BEGIN { last=0; nsigs=0; }

Ich verstehe nicht, was die zwei Parameter bedeuten, die dem sort da übergeben werden! Laut man sort gibt es da einen Parameter mit nem +, aber der ist überholt! Und laut den NetBSD manpages kennt deren sort garnix mehr mit nem +.
 
@thyrver: Ja, die siglist.in gibt es. Im Fehler steht ja was von dem Befehl "sort", der eine Datei nicht findet
Ahja, ich hab das +2n: übersehen gehabt.
Ich verstehe nicht, was die zwei Parameter bedeuten, die dem sort da übergeben werden! Laut man sort gibt es da einen Parameter mit nem +, aber der ist überholt! Und laut den NetBSD manpages kennt deren sort garnix mehr mit nem +.
Ich hab einfach mal eine alte (1.5) NetBSD man-page zu sort aufgerufen:
http://netbsd.gw.com/cgi-bin/man-cgi?sort++NetBSD-1.5

Von daher würd ich mal probieren den sort-Aufruf in dem script von
Code:
sort +2n +0n
in
Code:
sort -n -k 2 0
zu ersetzen. Genau das angegebene wird aber vermutlich nicht funktioneren, ich habs nicht ausprobiert.
 
Zurück
Oben