ct-ng 빌드에서 오류 404 문제를 해결하려면 어떻게 해야 합니까?

ct-ng 빌드에서 오류 404 문제를 해결하려면 어떻게 해야 합니까?

YaST(버전 1.21.0-4.22)를 통해 openSuSE 42.2용 crosstool-ng를 얻었습니다. 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을 사용하는데 이는 매우 오래되었으며(2015년 5월 25일) 링크가 깨질 수 있습니다.

나는 ct-ng를 사용하여 많은 크로스 컴파일을 하고 많은 x-lib를 빌드합니다. 하지만 나는 소스에서 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인 디렉터리가 있으므로 홈 디렉터리에서 구성 및 빌드 프로세스를 시작할 수 없습니다 .

관련 정보