Wie kann ich ein 404-Fehlerproblem im ct-ng-Build beheben?

Wie kann ich ein 404-Fehlerproblem im ct-ng-Build beheben?

Ich habe crosstool-ng für openSuSE 42.2 über YaST (Version 1.21.0-4.22) erhalten. Die Installation von crosstool selbst hat einwandfrei funktioniert, aber beim Versuch, den Crosscompiler mit zu erstellen ct-ng build, erhalte ich die folgende Fehlermeldung:

[ALL  ]    --2018-02-01 21:36:27--  https://cbuild.validation.linaro.org/snapshots/binutils-linaro-2.25.0-2015.01-2
[ALL  ]    Connecting to cbuild.validation.linaro.org (cbuild.validation.linaro.org)|51.148.40.7|:443... connected.
[ALL  ]    HTTP request sent, awaiting response... 404 Not Found
[ALL  ]    2018-02-01 21:36:27 ERROR 404: Not Found.
[ALL  ]    
[DEBUG]    Not at this location: "http://cbuild.validation.linaro.org/snapshots/binutils-linaro-2.25.0-2015.01-2"
[ERROR]  
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Retrieving needed toolchain components' tarballs'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: do_binutils_get[scripts/build/binutils/binutils.sh@741]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@584]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      '/usr/share/doc/packages/crosstool-ng/ct-ng.1.21.0/B - Known issues.txt'

Das Problem ist: Ich kann die Inhalte der Linaro-Webserver nicht beeinflussen. Gibt es also einen Workaround, um dieses Problem zu umgehen?

Antwort1

Sie verwenden ct-ng 1.21 und das ist sehr alt (25. Mai 2015) und Links können unterbrochen werden.

Ich führe häufig Cross-Compiler mit ct-ng durch und baue viele X-Libs. Aber ich baue ct-ng aus den Quellen. Und ich verwende weder HEAD noch MASTER. Ich probiere stattdessen das neueste Tag aus und wenn das nicht klappt, wähle ich ein älteres und so weiter, bis ich ein funktionierendes Tag finde. Das aktuell für mich funktionierende ist „tags/crosstool-ng-1.23.0“.

mkdir -p $HOME/_dev/_build
cd $HOME/_dev/_build

git clone https://github.com/crosstool-ng/crosstool-ng
cd crosstool-ng

# check out an older state, but they are not always error-free
#git checkout master # can have errors
git tag -l # list tags
git checkout tags/crosstool-ng-1.23.0 # choose last tag that works for you

./bootstrap

mkdir -p $HOME/_dev/_bin/ct-ng
./configure --prefix=$HOME/_dev/_bin/ct-ng

make
make install
export PATH="$PATH:$HOME/_dev/_bin/ct-ng/bin" # if you want to use ct-ng in current shell

cd $HOME
rm -rf $HOME/_dev/_build

Antwort2

OK, ich konnte das Problem selbst lösen: Ich musste die Optionen des Linaro-Compilers deaktivieren und auf den einfachen gcc zurückgreifen. Außerdem konnte ich den Konfigurations- und Build-Prozess nicht von meinem Home-Verzeichnis aus starten, da das Konfigurationstool alles in einer Datei namens speichern würde .config, aber es gibt bereits ein Verzeichnis namens .config.

verwandte Informationen