Centos CMake는 gcc 4.7.2를 사용하여 설치할 수 없습니다.

Centos CMake는 gcc 4.7.2를 사용하여 설치할 수 없습니다.

비슷한 문제가 여기에 보고되었지만 해결책은 없습니다.https://www.centos.org/modules/newbb/print.php?form=1&topic_id=42696&forum=56&order=ASC&start=0

gcc를 추가하고 centos로 업그레이드했습니다.

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++
scl enable devtoolset-1.1 bash

내 gcc의 결과는 다음과 같습니다

[root@hhvm-build-centos cmake-2.8.11.1]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/centos/devtoolset-1.1/root/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/opt/centos/devtoolset-1.1/root/usr --mandir=/opt/centos/devtoolset-1.1/root/usr/share/man --infodir=/opt/centos/devtoolset-1.1/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --disable-build-with-cxx --disable-build-poststage1-with-cxx --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-languages=c,c++,fortran,lto --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --disable-libgcj --with-ppl --with-cloog --with-mpc=/home/centos/rpm/BUILD/gcc-4.7.2-20121015/obj-x86_64-redhat-linux/mpc-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.7.2 20121015 (Red Hat 4.7.2-5) (GCC) 

그런 다음 다음을 통해 cmake를 설치해 보았습니다.http://www.cmake.org/cmake/resources/software.html#latest

하지만 계속해서 다음 오류가 발생합니다.

Linking CXX executable ../bin/ccmake
/opt/centos/devtoolset-1.1/root/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/ld: CMakeFiles/ccmake.dir/CursesDialog/cmCursesMainForm.cxx.o: undefined reference to symbol 'keypad'
/opt/centos/devtoolset-1.1/root/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/ld: note: 'keypad' is defined in DSO /lib64/libtinfo.so.5 so try adding it to the linker command line
/lib64/libtinfo.so.5: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
gmake[2]: *** [bin/ccmake] Error 1
gmake[1]: *** [Source/CMakeFiles/ccmake.dir/all] Error 2
gmake: *** [all] Error 2

문제는 기본 설치에서 작동하는 새로운 gcc 설치에서 발생한 것 같습니다. 이 문제에 대한 해결책이 있습니까?

답변1

문제는 최신 버전의 binutils에 있다고 생각합니다. binutils 2.23.2를 사용하여 gcc-4.7.2로 OpenFOAM을 컴파일하려고 시도했지만 cmake를 사용하여 동일한 오류가 발생했습니다. 버전 2.8.3, 2.8.4 및 최신 2.8.12.1을 시도했지만 모두 성공하지 못했습니다(동일 키보드 오류). 그러나 나중에 cmake-2.8.3을 성공적으로 컴파일했지만(gcc 4.7.3을 사용했지만 4.7.2도 작동할 것이라고 생각합니다)바이너리 유틸리티 2.23(이것은 내 생각이 아니라는 점을 덧붙이고 싶습니다). 게시물 18-21의 토론을 따라갈 수 있습니다. http://www.cfd-online.com/Forums/openfoam-installation/121996-error-installing-openfoam-2-2-0-centos-6-4-a.html

답변2

OpenFOAM/ThirdParty-2.3.1/cmake-2.8.12.1/Source/CursesDialog 파일 폴더에 CMakeLists.txt 다음 줄을 추가하십시오.

target_link_libraries(ccmake tinfo)

(다른 명령 바로 아래 target_link_libraries)

인사

관련 정보