gcc compiler set the enviroment variable ??

  • zuereinmal : ich bin ein kompletter linux newbie !!! bitte um verständis ! :)


    ich hab mir gcc runtergeladen und kann ihn leider nicht installieren !

    fehler meldung :

    The command '/usr/bin/cc -o conftest -g conftest.c' failed
    You must set the environment variable CC to a working compiler


    kann mir wer sagen wie ich das genau mache ? habe linux 8.2 drauf !

    danke :)

  • Wenn du die bash verwendest (leicht herauszufinden mittels "echo $SHELL", kannst du mit "export CC=/usr/bin/gcc" (oder wie dein C-Compiler heißt, normalerweise haut das aber so hin) die entsprechende Umgebungsvariable setzen. Wenn du die csh oder tcsh verwendest, geht das mit "set CC /usr/bin/gcc".
    CC ist die Umgebungsvariable, die angibt, welcher C-Compiler verwendet werden soll. Sinnvoll ist sie vor allem wenn man verschiedene Versionen des Compilers installiert hat oder überhaupt verschiedene Compiler.
    Da du schreibst, dass du ein Newbie bist, wirst du denke ich kaum ein Bare-Bone-Linux haben. Es ist daher ziemlich sicher besser, die Paket-Management-Tools deiner Distribution (emerge, rpm und apt-get fallen mir ein, gibt aber auch noch andere) zu verwenden, da dabei die Gefahr inkonsistenter Installationen dabei minimiert wird.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • ich bin glaub ich jetzt shcon weitergekommen ... allerdings bekomme ich jetzt eine andere fehlermeldung :(

    checking for C compiler default output... configure: error: C compiler cannot create executables


    weiss wer weiter ?

  • Zitat von boy-kot


    checking for C compiler default output... configure: error: C compiler cannot create executables


    das ist doch eine sehr allgemeine fehlermeldung....

    cu

    Ain't over till it's over!
    Yogi Bera

    women and children can afford to be careless, men can't

  • Eine genauere Beschreibung was passiert ist findet sich üblicherweise im configure.log . Was sagt denn gcc --version bzw. $CC --version und welche Version des GCC willst du denn installieren?

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.

    It was created by GNU make configure 3.80, which was
    generated by GNU Autoconf 2.54. Invocation command line was

    $ ./configure

    ## --------- ##
    ## Platform. ##
    ## --------- ##

    hostname = xxxxxxxxxxxx
    uname -m = i686
    uname -r = 2.4.20-4GB-athlon
    uname -s = Linux
    uname -v = #1 Mon Apr 26 16:40:46 UTC 2004

    /usr/bin/uname -p = unknown
    /bin/uname -X = unknown

    /bin/arch = i686
    /usr/bin/arch -k = unknown
    /usr/convex/getsysinfo = unknown
    hostinfo = unknown
    /bin/machine = unknown
    /usr/bin/oslevel = unknown
    /bin/universe = unknown

    PATH: /sbin
    PATH: /usr/sbin
    PATH: /usr/local/sbin
    PATH: /root/bin
    PATH: /usr/local/bin
    PATH: /usr/bin
    PATH: /usr/X11R6/bin
    PATH: /bin
    PATH: /usr/games
    PATH: /opt/gnome2/bin
    PATH: /opt/gnome/bin
    PATH: /opt/kde3/bin
    PATH: /opt/gnome/bin


    ## ----------- ##
    ## Core tests. ##
    ## ----------- ##

    configure:1317: checking for a BSD-compatible install
    configure:1371: result: /usr/bin/install -c
    configure:1382: checking whether build environment is sane
    configure:1425: result: yes
    configure:1458: checking for gawk
    configure:1474: found /usr/bin/gawk
    configure:1484: result: gawk
    configure:1494: checking whether make sets ${MAKE}
    configure:1518: result: no
    configure:1669: checking whether make sets ${MAKE}
    configure:1693: result: no
    configure:1746: checking for gcc
    configure:1762: found /usr/bin/gcc
    configure:1772: result: gcc
    configure:2014: checking for C compiler version
    configure:2017: gcc --version </dev/null >&5
    gcc (GCC) 3.3.3
    Copyright (C) 2003 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:2020: $? = 0
    configure:2022: gcc -v </dev/null >&5
    Reading specs from /usr/lib/gcc-lib/i686-redhat-linux/3.3.3/specs
    Configured with: ../configure --prefix=/usr --with-slibdir=/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-languages=c,c++,f77,java,objc --enable-__cxa_atexit --enable-c99 --enable-nls --enable-long-long --enable-multilib --with-gnu-as --with-gnu-ld --with-system-zlib --without-x i686-redhat-linux
    Thread model: posix
    gcc version 3.3.3
    configure:2025: $? = 0
    configure:2027: gcc -V </dev/null >&5
    gcc: `-V' option must have argument
    configure:2030: $? = 1
    configure:2050: checking for C compiler default output
    configure:2053: gcc conftest.c >&5
    /usr/bin/ld: cannot open crt1.o: No such file or directory
    collect2: ld returned 1 exit status
    configure:2056: $? = 1
    configure: failed program was:
    #line 2033 "configure"
    #include "confdefs.h"

    int
    main ()
    {

    ;
    return 0;
    }
    configure:2083: error: C compiler cannot create executables
    check `config.log' for details.

    ## ---------------- ##
    ## Cache variables. ##
    ## ---------------- ##

    ac_cv_env_CC_set=
    ac_cv_env_CC_value=
    ac_cv_env_CFLAGS_set=
    ac_cv_env_CFLAGS_value=
    ac_cv_env_CPPFLAGS_set=
    ac_cv_env_CPPFLAGS_value=
    ac_cv_env_CPP_set=
    ac_cv_env_CPP_value=
    ac_cv_env_LDFLAGS_set=
    ac_cv_env_LDFLAGS_value=
    ac_cv_env_build_alias_set=
    ac_cv_env_build_alias_value=
    ac_cv_env_host_alias_set=
    ac_cv_env_host_alias_value=
    ac_cv_env_target_alias_set=
    ac_cv_env_target_alias_value=
    ac_cv_path_install='/usr/bin/install -c'
    ac_cv_prog_AWK=gawk
    ac_cv_prog_ac_ct_CC=gcc
    ac_cv_prog_make_make_set=no

    ## ----------------- ##
    ## Output variables. ##
    ## ----------------- ##

    ACLOCAL='${SHELL} /root/Desktop/make-3.80/config/missing --run aclocal-1.7'
    ALLOCA=''
    AMDEPBACKSLASH=''
    AMDEP_FALSE=''
    AMDEP_TRUE=''
    AMTAR='${SHELL} /root/Desktop/make-3.80/config/missing --run tar'
    AR=''
    AUTOCONF='${SHELL} /root/Desktop/make-3.80/config/missing --run autoconf'
    AUTOHEADER='${SHELL} /root/Desktop/make-3.80/config/missing --run autoheader'
    AUTOMAKE='${SHELL} /root/Desktop/make-3.80/config/missing --run automake-1.7'
    AWK='gawk'
    CC='gcc'
    CCDEPMODE=''
    CFLAGS=''
    CPP=''
    CPPFLAGS=''
    CYGPATH_W='echo'
    DEFS=''
    DEPDIR=''
    ECHO_C=''
    ECHO_N='-n'
    ECHO_T=''
    EGREP=''
    EXEEXT=''
    GETLOADAVG_LIBS=''
    GLOBINC=''
    GLOBLIB=''
    GMSGFMT=''
    INSTALL_DATA='${INSTALL} -m 644'
    INSTALL_PROGRAM='${INSTALL}'
    INSTALL_SCRIPT='${INSTALL}'
    INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
    INTLLIBS=''
    KMEM_GROUP=''
    LDFLAGS=''
    LIBICONV=''
    LIBINTL=''
    LIBOBJS=''
    LIBS=''
    LTLIBICONV=''
    LTLIBINTL=''
    LTLIBOBJS=''
    MAKEINFO='${SHELL} /root/Desktop/make-3.80/config/missing --run makeinfo'
    MAKE_HOST=''
    MKINSTALLDIRS=''
    MSGFMT=''
    MSGMERGE=''
    NEED_SETGID=''
    OBJEXT=''
    PACKAGE='make'
    PACKAGE_BUGREPORT='bug-make@gnu.org'
    PACKAGE_NAME='GNU make'
    PACKAGE_STRING='GNU make 3.80'
    PACKAGE_TARNAME='make'
    PACKAGE_VERSION='3.80'
    PATH_SEPARATOR=':'
    PERL=''
    POSUB=''
    RANLIB=''
    SET_MAKE='MAKE=make'
    SHELL='/bin/sh'
    STRIP=''
    USE_CUSTOMS_FALSE=''
    USE_CUSTOMS_TRUE=''
    USE_LOCAL_GLOB_FALSE=''
    USE_LOCAL_GLOB_TRUE=''
    USE_NLS=''
    VERSION='3.80'
    XGETTEXT=''
    ac_ct_CC='gcc'
    ac_ct_RANLIB=''
    ac_ct_STRIP=''
    am__fastdepCC_FALSE=''
    am__fastdepCC_TRUE=''
    am__include=''
    am__quote=''
    bindir='${exec_prefix}/bin'
    build=''
    build_alias=''
    build_cpu=''
    build_os=''
    build_vendor=''
    datadir='${prefix}/share'
    exec_prefix='NONE'
    host=''
    host_alias=''
    host_cpu=''
    host_os=''
    host_vendor=''
    includedir='${prefix}/include'
    infodir='${prefix}/info'
    install_sh='/root/Desktop/make-3.80/config/install-sh'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/libexec'
    localstatedir='${prefix}/var'
    mandir='${prefix}/man'
    oldincludedir='/usr/include'
    prefix='NONE'
    program_transform_name='s,x,x,'
    sbindir='${exec_prefix}/sbin'
    sharedstatedir='${prefix}/com'
    sysconfdir='${prefix}/etc'
    target_alias=''

    ## ------------- ##
    ## Output files. ##
    ## ------------- ##

    MAINT_MAKEFILE=''

    ## ----------- ##
    ## confdefs.h. ##
    ## ----------- ##

    #define PACKAGE "make"
    #define PACKAGE_BUGREPORT "bug-make@gnu.org"
    #define PACKAGE_NAME "GNU make"
    #define PACKAGE_STRING "GNU make 3.80"
    #define PACKAGE_TARNAME "make"
    #define PACKAGE_VERSION "3.80"
    #define VERSION "3.80"

    configure: exit 77

    das log file .... danke :)

  • RedHat scheint da ja ganze Arbeit geleistet zu haben... Bevor du das weiter unten stehende machst versuch bitte, wie schon erwähnt, über dein System über rpm upzudaten - das sollte einfacher, schmerz- und gefahrloser sein.

    [DISCLAIMER]
    Die folgenden Anweisungen fallen unter die Kategorie "Wie man es eigentlich nicht machen sollte" ;)
    [/DISCLAIMER]

    Also: such, wo die Datei crt1.o liegt (sollte /usr/lib oder /usr/local/lib oder sonst wo in der Gegend liegen). Mit 'alias ld "ld -L/der/richtige/pfad"' sollte ld dann die Datei dann auch finden. Da ja, wenn du soweit gekommen bist, rpm nicht funktioniert, solltest du dann auch noch die binutils neu installieren (das ist aber egal, ob du das vor oder nach dem gcc machst), damit beim nächsten mal alles hinhaut. Btw. werden Programme, die du händisch installierst nach /usr/local installiert, du solltest also deinen Pfad so anpassen, dass die Programme auch gefunden werden, oder ./configure entsprechende Optionen mitgeben.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • erstmal danke :) ich werd mich heute am abend drum kümmern :)

    noch kurze frage :

    was soll ich denn updaten ? ich hab das update schon 4 mal druchlaufen lassen ... von einem gcc oder den ganzen sachen gibt es kein update !! nicht unter yast zumindest ...

    wäre noch toll , wenn du mirungefähr sagen könntest , was ich genau updaten muss :) danke !!

    ps: es ist überigens suse nicht red hat :)

  • Da rennt dann aber gröber was falsch: /usr/lib/gcc-lib/i686-redhat-linux/3.3.3/specs

    Was du updaten sollst? Ja, das ist ja die Frage, warum willst du überhaupt den gcc installieren, der ist ja sowieso dabei (den lässt afaik nicht einmal suse weg)? Ich hab mir gedacht, du willst eine neuere Version installieren (3.4 ist ja noch nicht so lange heraußen), daher hab ich immer von einem "Update" geredet. Sollte der gcc aus irgendeinem Grund nicht funktionieren, kannst du ihn auch nicht mit "./configure; make; make install" installieren, sondern nur mittels eines fertigen binary, und das geht nur über yast/rpm/was-auch-immer.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • puh ... ich glaub ich hab da anscheinend von grund auf was falsch gemacht .....

    na dann werd ich formatieren und alles neu isntallieren ... habs chon viel probiert sagen wirs so ...

    danke auf alle fälle :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!