리눅스 GCC 설치 질문드립니다.

네이쳐   
   조회 5348   추천 0    

안녕하세요. 또 질문 드립니다.

필요한 것들을 설치하고, GCC 8.1 설치를 하려고 했는데,

make 과정에서 또 에러를 만났습니다. ㅠㅠ


질문 2개를 드립니다.

1. configure를 한 뒤 (두 상황 모두 동일한 조건입니다.), make를 한 경우와 make -j 8 을 한 경우

아래 그림처럼 다른 에러가 나는데 이건 왜그런건가요? -j 옵션이 작업을 분할해서 cpu를 더 잘 활용하는거 아닌가요??


2. make를 하고 몇 시간 기다렸더니, 아래 그림처럼 libgfortran 에러들이 났습니다. 혼자 검색을 해봐도 잘 모르겠습니다.

yum 으로 gfortran 관련된걸 다 설치해도 안되네요... gfortran 버전이 4.8.5 던데, GCC랑 버전 차이가 많이 나서 그런건가요?


조언 부탁드려봅니다.




짧은글 일수록 신중하게.
하셀호프 2018-07
gfortran은 gcc에서 만들어 집니다
일단 컴파일하기전에 gfortran관련 패키지 모두 지워 보시지요

make -j8 ( -j 8이 아니구요) 이어야 합니다
cpu 코어(쓰레드)가 7~8가 있고 컴파일 할때 모두 사용한다는 말입니다

컴파일하면서 top 에서 보시면 다 나옵니다
     
-j8도 되고 -j 8도 됩니다.
1. 분할해서 처리할 때는 어느 thread에서든 최초 발생한 error에 걸려서 전체 빌드가 멈추게 됩니다. 그래서 멈추는 원인이 다를 수 있습니다.
2. 이건 잘 모르겠는데, 처음 빌드하시는 거면 일단 c,c++ 정도만 enable해서 빌드해보세요. 그게 잘 되면 그걸 CC로 해서 옵션을 늘려가시면 어떨까 싶네요.
     
네이쳐 2018-07
답변 감사합니다.

1번은 잘 이해되었습니다. ㅎㅎ
2번은 에러 날 때 마다 옵션을 추가하거나 하나씩 설치해가면서 해보고 있습니다~
분당김동수 2018-07
버전 차이 겠네요
하셀호프 2018-07
make 경우와 make -j8경우 error 생기는 부분을 올려 보세요
글자가 작아서 잘 않보이네요
     
네이쳐 2018-07
답변 감사합니다.

그림 클릭하면 크게 보입니다~~
정희섭 2018-07
포트란 안쓰실테니 configure 할때부터 포트란 빼고 하세요
     
네이쳐 2018-07
--disable-libquadmath-support  ;disable libquadmath support for Fortran
이 옵션을 사용해보면 될까요? fortran에 관련된건 이거밖이네요.

일단 한번 다시 해보겠습니다~
모스월드 2018-07
-j8 패러럴 컴파일시 에러나면 싱글로 빌드해보시고 (여기서는 다른 이유로 에러가 나는듯 하네요)
일단 configure 옵션과 필요한 디펜던트 라이브러리 설치 한것이 무엇인지 그리고, LD_LIBRARY_PATH 변수가 어찌되는지 알아야 짐작이라도 해줄수 있습니다.
     
네이쳐 2018-07
답변 감사합니다.

싱글 패러럴 번갈아가면서 해보니까 조금씩 더 진행이 되는거 같기도 해요 ~
무아 2018-07
그러고 보니... gcc 는 빌드하지 않고 그냥 바이너리로 설치해서 쓰네요. 뭔가 심각한 일을 시키지 않기에... 하하..
옛날에 써니텐 쏠라스에서 cc 만 있기에 그기에 gcc 돌려볼려고 빌드해본게.. 아주 오래되었지만 마지막으로 해본 듯 하네요 ^^
     
네이쳐 2018-07
CPU가 i9-7960X 인데,

fftw를 설치할 때 AVX-512를 사용하려고 하니까, 기본 설치되어 있는 gcc 4버전은 안된다고 해서

gcc 최신 버전을 설치해보려고 합니다. ㅎㅎ
그냥 패키지로 설치해도 8.x대 버전이 설치될텐데요.....아직 예전 버전이 설치되나요?

컴파일 해서 설치하면 관리상의 불편함이 좀 있을수 있습니다..뭐 그래봐야 쬐끔 더 손이 갈 뿐이지만요....
     
네이쳐 2018-07
yum 말씀하시는건가요?? 해보니까 4.8.5 밖에 설치가 안되네요 ㅠ
정희섭 2018-07
이상하게 만든거 아니면 -j 안붙이고 할때나 -j8 붙이고 할때나 에러나는데는 똑같습니다
gcc 는 makefile 도 잘 되어 있고요.
다른데서 에러나면 안붙이고 에러나는데 넘어가도 또 에러납니다 ^^);
https://gcc.gnu.org/install/configure.html
잘 살펴 보시고 C,C++ 정도만 configure 에서 설정하고 해보세요
정희섭 2018-07
gcc 소스 받아서 풀고 들어가서

$ ./contrib/download_prerequisites
$ mkdir build
$ cd build
$ ../configure --enable-gold --enable-lto --enable-languages=c,c++,lto
$ make -j 8
$ make DESTDIR=/home/user/gcc-8.1.0 install

요렇게만 하면

~/gcc-8.1.0/usr/local/bin$ ./gcc -v
Using built-in specs.
COLLECT_GCC=./gcc
COLLECT_LTO_WRAPPER=/home/user/gcc-8.1.0/usr/local/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.1.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure --enable-gold --enable-lto --enable-languages=c,c++,lto
Thread model: posix
gcc version 8.1.0 (GCC)

됩니다
우분투 14.04 에서 했어요
     
네이쳐 2018-07
신경써 주셔서 감사합니다~
말씀해주신대로 지금 해보고 있습니다~
     
네이쳐 2018-07
말씀해주신
../configure --enable-gold --enable-lto --enable-languages=c,c++,lto  이것만 한거랑,
몇몇 옵션들을 잔뜩 넣은거에 --enable-gold --enable-lto --enable-languages=c,c++,lto 이 옵션들 추가해서 한거랑,
2개를  동시에 해봤는데, 방금 둘다 에러없이 성공했습니다~

감사합니다. 감사합니다. 덕분에 해결이 되었습니다.
답변 해주신 다른 분들도 감사합니다~
     
네이쳐 2018-07
--enable-languages 이 옵션을
--enable-languages=c,c++,lto 이런식으로 사용하는 거는 이번에 처음 알았습니다.

그리고 말씀 안 해주셨으면,
./configure --help에서는 "--enable-languages" 이 옵션이 안보여서, 사용할 생각도 못했습니다.


QnA
제목Page 2672/5708
2014-05   5144482   정은준1
2015-12   1678622   백메가
2020-12   5078   김영기
2013-02   5078   마네
2015-04   5078   최행로
2008-12   5078   방효문
2006-01   5078   윤치열
2015-03   5078   나파이강승훈
2017-06   5078   늘파란
2012-03   5078   이정근
2007-10   5078   민봉기
2016-07   5078   맑은여름
2012-03   5078   Twin
2006-12   5078   조영택
2016-07   5078   이문영
2014-12   5078   하양까망
2015-02   5078   안병권
2014-09   5078   테돌아이
2017-03   5078   전설속의미…
2016-11   5078   허허허허
2005-12   5078   염재도
2021-03   5078   carcryze