Как устранить проблему с ошибкой 404 в сборке ct-ng?

Как устранить проблему с ошибкой 404 в сборке ct-ng?

Я получил crosstool-ng для openSuSE 42.2 через YaST (версия 1.21.0-4.22). Установка самого crosstool прошла нормально, но при попытке собрать кросс-компилятор с помощью ct-ng buildя получаю следующее сообщение об ошибке:

[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'

Проблема в следующем: я не могу влиять на содержимое веб-серверов Linaro. Так есть ли способ обойти эту проблему?

решение1

Вы используете ct-ng 1.21, а он очень старый (25 мая 2015 г.) и ссылки могут не работать.

Я много кросс-компилирую с ct-ng и собираю много x-libs. Но я собираю ct-ng из исходников. И я не использую HEAD или MASTER. Вместо этого я пробую самый новый тег, и если он не работает, я выбираю более старый и так далее, пока не найду работающий тег. Текущий, который работает для меня, это "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

решение2

Хорошо, я мог решить эту проблему сам: мне пришлось снять галочки с параметров компилятора Linaro и прибегнуть к простому gcc. Кроме того, я не мог запустить процесс конфигурации и сборки из своего домашнего каталога, так как инструмент конфигурации сохранял все в файле с именем .config, но уже есть каталог с именем .config.

Связанный контент