GCC 업그레이드로 인한 참사
node-zerorpc
를 설치할 때 힌트:우리는 C++11을 사용해야 한다. 빨리 꺼져서 G++를 업그레이드해야 한다
그래, 그렇게 말했으니까...그리고 이 링크와 SF적인 답변을 참고해서 다음 스크립트를 만들었습니다.
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-2/devtools-2.repo
yum install devtools-2
yum install devtoolset-2-gcc devtoolset-2-gcc-c++
## /usr/bin gcc /opt/rh/devtools-2 gcc/g++
##
늙은 종이가 4.8까지 올라갔는데 C++11이 안 될까봐 스님의 매력에 굴복했나 봐요.설치 과정에서 역시 버전이 너무 낮은 오류를 보고하지 않았습니다. Assembler Error를 보고했습니다. 이 문제는 Google에서 해결되지 않았습니다. 유일하게 몇 개의 GCC의 Bug Issure를 언급했지만 문제를 해결할 수 없습니다. 당시 Node를 다시 컴파일해야 한다고 추측했습니다. 컴파일하는 과정의 오류 로그는 다음과 같습니다.
/tmp/cc8TKj9o.s: Assembler messages:
/tmp/cc8TKj9o.s:125: Error: unknown .loc sub-directive `discriminator'
/tmp/cc8TKj9o.s:125: Error: junk at end of line, first unrecognized character is `1'
/tmp/cc8TKj9o.s:140: Error: unknown .loc sub-directive `discriminator'
/tmp/cc8TKj9o.s:140: Error: junk at end of line, first unrecognized character is `2'
/tmp/cc8TKj9o.s:143: Error: unknown .loc sub-directive `discriminator'
/tmp/cc8TKj9o.s:143: Error: junk at end of line, first unrecognized character is `2'
/tmp/cc8TKj9o.s:146: Error: unknown .loc sub-directive `discriminator'
/tmp/cc8TKj9o.s:146: Error: junk at end of line, first unrecognized character is `2'
/tmp/cc8TKj9o.s:150: Error: unknown .loc sub-directive `discriminator'
/tmp/cc8TKj9o.s:150: Error: junk at end of line, first unrecognized character is `2'
/tmp/cc8TKj9o.s:171: Error: unknown .loc sub-directive `discriminator'
/tmp/cc8TKj9o.s:171: Error: junk at end of line, first unrecognized character is `1'
/tmp/cc8TKj9o.s:179: Error: unknown .loc sub-directive `discriminator'
/tmp/cc8TKj9o.s:179: Error: junk at end of line, first unrecognized character is `1'
/tmp/cc8TKj9o.s:187: Error: unknown .loc sub-directive `discriminator'
그 다음에 Hello World가 새 컴파일러로 컴파일한 결과 같은 유형의 오류가 발생했습니다. 그러면 문제의 원인은 확실합니다. 컴파일러에 문제가 생겼습니다!
뭐가 문제지?한창 머리가 컸을 때 갑자기 Issure가 생각났는데, 내용은 대체로
gcc와 g++의 버전이 일치하지 않을 때 Assember Error가 발생할 수 있습니다.
그렇다면 GNU 키트를 모두 장착하면 어떨까요?과연 문제가 해결되었다.
부록: 올바른 업그레이드 스크립트
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-2/devtools-2.repo
yum install devtools-2
yum install devtoolset-2
# gcc
scl enable devtoolset-2 bash
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.