gcc 수동 설치 (인터넷 연결 제한 환경)

asurada92의 이미지

현재 리눅스 수도 권한 없이 gcc 업그레이드를 해보려 하는 상황입니다.
현재 gcc 버전은 gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] 입니다.
하지만 이를 gcc-9.2.0을 추가적으로 설치하여 2개의 gcc를 사용하려고 하는데요,
수도 권한이 없기 때문에, 제 계정 디렉토리 밑에다가 설치하려고 했습니다.
gcc-9.2.0을 수동적으로 받은 다음 (서버가 인터넷에 연결되어 있지 않음) ./configure--prefix=/home/{본인계정}/gcc 라는 명령어를 통해 gcc 를 설치하려고 했습니다.

하지만, 위와 같이 configure 실행시,
아래와 같이 에러가 발생합니다.
checking whether the C compiler works... no
configure: error: C compiler cannot create executables

아래쪽에 자세한 config.log를 첨부해 드립니다. (문제가 되는 부분인 듯한 부분만) 혹시 어떻게 진행해야 하는지 고수님들 도움좀 주실 수 없으실까요~?

...
configure:4336: checking for C compiler version
configure:4345: gcc --version >&5
gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
configure:4356: $? = 0
configure:4345: gcc -v >&5
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.3 --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) 
configure:4356: $? = 0
configure:4345: gcc -V >&5
gcc: '-V' option must have argument
configure:4356: $? = 1
configure:4345: gcc -qversion >&5
gcc: unrecognized option '-qversion'
gcc: no input files
configure:4356: $? = 1
configure:4376: checking whether the C compiler works
configure:4398: gcc    conftest.c  >&5
gcc: error trying to exec 'cc1': execvp: No such file or directory
configure:4402: $? = 1
configure:4440: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:4445: error: in `/home/yhpark/.libs/gcc/gcc-9.2.0':
configure:4447: error: C compiler cannot create executables
See `config.log' for more details

컴파일ㅈ문가의 이미지

아주간단한 문제네요.
실행가능하도록 만들어주는 링커의 부재가 현재의 원인을 유발하였습니다.
이를 해결하기 위해서는 저수준의 인터프리터를 실행하여 문제의 원인을 해결해보세요.

asurada92의 이미지

인터프리터?를 활용 하라고 하시는게, 어떤 의미 이신지 잘 와닿지가 않아서요..., 제가 아는 인터프리터 언어는 파이썬과 같이 바이너리 맞물려서 활용하는 건데... 지금 상황에서 어떻게 적용을 해야 하는지 이해가 잘 안갑니다!, 그리고 혹시 링커의 부재 라는게, 음... 현재 사용하는 gcc를 연결해주는? 그런게 없다는 말씀이신가요!?

김정균의 이미지

gcc -V 와 gcc -qversion 중에 하나가 성공해야 하는데 둘 다 실패해서 발생하는 문제네요.
그런데, -V 똔느 -qversion 은 옵션 값이 있어야 하는데, 없는 것이 문제인 것 같습니다.
configure 4345 line 에서 gcc -V 뒤에 옵션 변수가 있을 것 같은데, 해당 변수값을 어떻게 구하는지 살펴 보는게 좋을 것 같네요.

configure:4345: gcc -V >&5
gcc: '-V' option must have argument
configure:4356: $? = 1
configure:4345: gcc -qversion >&5
gcc: unrecognized option '-qversion'
gcc: no input files
configure:4356: $? = 1
configure:4376: checking whether the C compiler works
configure:4398: gcc    conftest.c  >&5
gcc: error trying to exec 'cc1': execvp: No such file or directory
configure:4402: $? = 1
configure:4440: result: no
세벌의 이미지

똔느
새로 나온 전문 용어인가요?.... 또는 이겠죠? :)
gcc: error trying to exec 'cc1': execvp: No such file or directory
가 힌트가 될 수도 있겠네요.
asurada92의 이미지

기존에 쓰고 있었던 gcc 보다 높은 버전의 gcc를 개인 계정에 설치중입니다.,

따라서 configure를 수행할때
./configure --prefix=/home/{개인계정}/.lib/gcc-9.2.0/installed
이런식으로 configuration 수행 했습니다.
하지만 configure가 error가 발생하여 configure 스크립트가 수행되지 않습니다.
error를 살펴보니, cc1 이라는 것을 찾지 못하여 수행하지 못하고 있습니다.
COLLECT_GCC_OPTIONS='-v' '-mtune=generic'
cc1 -quiet -v -iprefix /home/yhpark/.libs/gcc/gcc-5.2.0/../lib64/gcc/x86_64-suse-linux/4.3/ ./conftest.c -quiet -dumpbase conftest.c -mtune=generic -auxbase conftest -version -o /tmp/ccqpOkTH.s
gcc: error trying to exec 'cc1': execvp: No such file or directory

찾아니, cc1을 /home/{개인계정}/.libs/gcc/gcc-5.2.0/../lib64/gcc/x86_64-suse-linux/4.3/ 여기 서 찾는 듯 한데 cc1은 /usr/lib64/gcc/x86_64-suse-linux/4.3 여기에 위치 하고 있습니다.
아마도, 원래는 gcc를 최상단 /usr/ 밑에 설치하다 보니 ../lib64/gcc/x86_64-suse-linux/4.3/ 이렇게 접근했을때 cc1 바이너리가 잡히는 듯 한데,
저처럼 /usr/밑 이 아닌 다른곳에 gcc를 설치할때, 환경변수를 어떻게 주어야 cofigure를 수행할때 에러가 없게끔 할 수 있나요?, 혹은 configure를 수행할때 어떻게 옵션을 주어야 하나요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.