Autor Thema: Configure findet keinen funktionierenden C Compiler  (Gelesen 17512 mal)

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« am: 07. March 2009, 19:42 »
So, ich bin gerade von OpenSuSE 11.0 auf Kubuntu gewechselt (mit KDE 3.5). So weit so gut. Jetzt wollte ich gerade ein paar Anwendungen kompilieren und bekomme folgende Fehlermeldung nach Eingabe von ./configure

Zitat
configure: error: C compiler cannot create executables

Wie jetzt? Was soll ich jetzt machen?

vielen dank schon mal

bitmaster
In the Future everyone will need OS-64!!!

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 07. March 2009, 19:46 »
Ich glaube, irgendwann ist mal Zeit für einen neuen Thread.
 -> Thema getrennt, verschoben, Titel geändert. Und das alles kostenlos! ;)

Du solltest mal gucken, ob du überhaupt einen C-Compiler hast, der funktioniert. Und wenn ja, dann guck ins config.log, da steht die Fehlermeldung drin.
« Letzte Änderung: 07. March 2009, 19:48 von PorkChicken »
Dieser Text wird unter jedem Beitrag angezeigt.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #2 am: 07. March 2009, 20:37 »
Klar ist ein Compiler installiert. Mein OS kann ich ja Compilieren. Also die configure.log sieht so aus:

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

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
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_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_YACC_set=
ac_cv_env_YACC_value=
ac_cv_env_YFLAGS_set=
ac_cv_env_YFLAGS_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_host=x86_64-unknown-linux-gnu
ac_cv_path_MAKE=/usr/bin/make
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=mawk
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_make__usr_bin_make_set=yes
ac_cv_prog_make_make_set=yes
ac_cv_target=x86_64-unknown-linux-gnu

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

ACLOCAL='${SHELL} /home/klaus/Setup/ht-2.0.16/missing --run aclocal-1.10'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /home/klaus/Setup/ht-2.0.16/missing --run tar'
AR=''
AUTOCONF='${SHELL} /home/klaus/Setup/ht-2.0.16/missing --run autoconf'
AUTOHEADER='${SHELL} /home/klaus/Setup/ht-2.0.16/missing --run autoheader'
AUTOMAKE='${SHELL} /home/klaus/Setup/ht-2.0.16/missing --run automake-1.10'
AWK='mawk'
CC='gcc'
CCDEPMODE=''
CFLAGS='-DNOMACROS -pipe -O3 -fomit-frame-pointer -Wall -fsigned-char -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 '
CPP=''
CPPFLAGS=''
CXX=''
CXXDEPMODE=''
CXXFLAGS='-DNOMACROS -pipe -O3 -fomit-frame-pointer -Wall -fsigned-char -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Woverloaded-virtual -Wnon-virtual-dtor '
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
ENABLE_INCLUDED_LZO_FALSE=''
ENABLE_INCLUDED_LZO_TRUE=''
EXEEXT=''
GREP=''
HT_LDFLAGS=''
HT_LIBS=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
IO_DIR='posix'
LDFLAGS=''
LEX=''
LEXLIB=''
LEX_OUTPUT_ROOT=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
LZO_LIBS=''
MAKE='/usr/bin/make'
MAKEINFO='${SHELL} /home/klaus/Setup/ht-2.0.16/missing --run makeinfo'
MKDIR_P='/bin/mkdir -p'
OBJEXT=''
PACKAGE='ht'
PACKAGE_BUGREPORT='https://sourceforge.net/tracker/?group_id=1066'
PACKAGE_NAME='ht'
PACKAGE_STRING='ht 2.0.16'
PACKAGE_TARNAME='ht'
PACKAGE_VERSION='2.0.16'
PATH_SEPARATOR=':'
RANLIB='ranlib'
SET_MAKE=''
SHELL='/bin/bash'
STRIP=''
USE_DJGPP_DIR_FALSE=''
USE_DJGPP_DIR_TRUE='#'
USE_LZO_FALSE=''
USE_LZO_TRUE=''
USE_POSIX_DIR_FALSE='#'
USE_POSIX_DIR_TRUE=''
USE_WIN32_DIR_FALSE=''
USE_WIN32_DIR_TRUE='#'
VERSION='2.0.16'
YACC=''
YFLAGS=''
ac_ct_CC='gcc'
ac_ct_CXX=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
[b]exec_prefix='NONE'[/b]
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /home/klaus/Setup/ht-2.0.16/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='x86_64-unknown-linux-gnu'
target_alias=''
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='unknown'

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

#define PACKAGE_NAME "ht"
#define PACKAGE_TARNAME "ht"
#define PACKAGE_VERSION "2.0.16"
#define PACKAGE_STRING "ht 2.0.16"
#define PACKAGE_BUGREPORT "https://sourceforge.net/tracker/?group_id=1066"
#define PACKAGE "ht"
#define VERSION "2.0.16"
#define SYSTEM_OSAPI_SPECIFIC_TYPES_HDR "io/posix/types.h"

configure: exit 77

Also was hat das "exec_prefix='NONE'" zu sagen? Und ich weiß nicht genau wo jetzt der Fehler liegt bzw. was ich ändern muss damit es funktioniert.

bitmaster
In the Future everyone will need OS-64!!!

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 07. March 2009, 21:01 »
Dass du dein OS mit dem C-Compiler kompilieren kannst, hat nichts zu bedeuten. Entscheidend ist, dass du Programme für dein Linux erstellen kannst. Das kannst du ja mal testen. Dafür brauchst du neben dem C Compiler noch die C Library.

Ich würde sagen, das log ist auch nicht vollständig. Aber keine Ahnung, wie das aussiehen muss, wenn ./configure nicht hinhaut.

EXEC_PREFIX ist das Verzeichnis, in das Plattform-/Architekturabhängige Dateien installiert werden. Wie kommst du gerade auf diese Variable?
Dieser Text wird unter jedem Beitrag angezeigt.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #4 am: 07. March 2009, 21:27 »
Na ja, weil in der Log exec_prefix='NONE' steht (man beacht das NONE). Das ist die komplette Log. Also das bekomme ich nach einem ./configure "zu hören":

Zitat
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
*** LINUX, building POSIX version. we need (n)curses.
checking for ranlib... ranlib
checking for gmake... no
checking for make... /usr/bin/make
checking whether /usr/bin/make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: in `/home/klaus/Setup/ht-2.0.16':
configure: error: C compiler cannot create executables
See `config.log' for more details.

bitmaster
In the Future everyone will need OS-64!!!

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 07. March 2009, 22:10 »
Hast du die build-essentials und linux-header über die Quellen geladen?
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #6 am: 07. March 2009, 23:15 »
Hast du die build-essentials und linux-header über die Quellen geladen?
Hmm.. unter OpenSuSE genügte ein haken bei C/C++ Werzeuge installieren. Aber ich habe die Sachen jetzt mal installiert. Jetzt sagt er mir:

Zitat
configure: error: *** (n)curses.h needed ***


bitmaster
In the Future everyone will need OS-64!!!

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 07. March 2009, 23:18 »
Das wird daran liegen, dass dir das Package fehlt.
Habe mal google konsultiert:
ncurses

Lade dir mal eines dieser packages.
Dann sollte er die header finden.
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #8 am: 07. March 2009, 23:22 »
Das wird daran liegen, dass dir das Package fehlt.
Habe mal google konsultiert:
ncurses

Lade dir mal eines dieser packages.
Dann sollte er die header finden.
hmm.. also libncurses5 und ncurses-base sind installiert. Ist das unter (K)Ubuntu so umständlich? Wieso machen die das immer so dämlich? Das eine ist bei OpenSuSE besser und das andere bei (K)ubuntu. Ich verstehe nur nicht warum die Linuxer immer so geil darauf sind sich alles immer zusammen suchen zu müssen. Mich nervt so etwas nur noch.  :roll:
In the Future everyone will need OS-64!!!

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 07. March 2009, 23:24 »
Naja das ist halt das Prinzip von Debian.
Das macht das ganze aber auch echt gut.
Dadurch kannst du dir dein System selber zusammen stellen und ein wenig mehr performance rausholen.
Versuche mal ncurses-dev.
Da sind die header drin.
Es kann sein, dass in der base nur die kompilierten files stecken.
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #10 am: 07. March 2009, 23:44 »
Na ja ok. Auf jeden Fall vielen dank erstmal. Es hat funktioniert.

bitmaster
In the Future everyone will need OS-64!!!

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 08. March 2009, 00:13 »
Wenn du irgendwas kompilieren willst, brauchst du immer die *-dev-Pakete (bei Debian, bei SUSE ist es *-devel) der Abhängigkeiten, da sind die Header drin.

Darf man übrigens fragen, wieso du die Distribution gewechselt hast? Einfach mal was anderes ausprobieren?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #12 am: 08. March 2009, 02:00 »
Wenn du irgendwas kompilieren willst, brauchst du immer die *-dev-Pakete (bei Debian, bei SUSE ist es *-devel) der Abhängigkeiten, da sind die Header drin.

Darf man übrigens fragen, wieso du die Distribution gewechselt hast? Einfach mal was anderes ausprobieren?
Na ja, mit der 11.1 von OpenSuSE kann ich keine Musik mehr hören (kA warum aber ohne mein Bayern Fangesang überlebe ich net  :-D ). Ich wollte ja dann eigentl. bei der 11.0 bleiben. Aber dann hat meine Festplatte nun endlich komplett den Geist aufgegeben, so dass ich die Chance genutzt habe und mir eine neue Platte besorgt habe und mich mal an Kubuntu gewagt habe (da ich gerne bei KDE bleiben möchte und Ubuntu ja Gnome nutzt (KDE 3.5 natürlich, KDE 4 ist ja von der Stabilität her schlimmer als ein gewisses ME von Microsoft darmals  :-D )). Und jetzt habe ich auch alles so eingerichtet wie ich es mir vorgestellt habe. Gewundert hat mich halt nur, dass Kubuntu nicht von Haus aus alles nötige zum Kompilieren eingerichtet hatte. Ach ja, und ich musste am Ende aller *.c und *.h Dateien eine newline einfügen (was der Schwachsinn soll weiß ich zwar nicht, aber nun gut). Hoffentlich bleibt jetzt auch alles so ordnungsgemäß wie es jetzt läuft. Bin auf jeden Fall froh, dass endlich die dämliche Festplatte komplett schrott ist und ich gezwungen wurde mir eine schöne neue zu kaufen. So, das dazu.

bitmaster
In the Future everyone will need OS-64!!!

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 08. March 2009, 11:35 »
Musst du das mit dem newline nicht bei OpenSUSE machen?
Den Sinn habe ich auch nie verstanden.

Wieso benutzt du gerne KDE?
Es ist doch an sich ein ganzes Stück langsamer als Gnome, oder?
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 08. March 2009, 11:56 »
Wieso benutzt du gerne KDE?
Es ist doch an sich ein ganzes Stück langsamer als Gnome, oder?
Ist es? Würde mich wundern, Gnome ist nicht wirklich schlank, auch wenn es wegen mangelnder Einstellungsmöglichkeiten vielleicht so aussieht. ;)

Ganz ehrlich, für mich wäre Gnome keine Option. Entweder KDE, das ich so einstellen kann, wie ich es brauche, und bei dem ich den Desktop und die dazugehörigen Programme wirklich benutze, oder schlicht ein xterm mit Windowmanager. Wenn man mich vor ein Gnome setzt, endet das sowieso regelmäßig damit, daß ich außer einem Terminal nichts offen habe, weil es schlicht unbenutzbar ist - dann brauche ich den Overhead aber auch nicht.

Damals, als KDE 4.0 rauskam, konnte ich es nicht leiden, weil es mir viel zu gnomig vorkam. Mittlerweile bin ich halbwegs überzeugt, daß das nicht ein böswilliger Strategiewechsel war, sondern daß das Ding einfach nur vollkommen unfertig war - kommt offensichtlich auf dasselbe raus wie das, was Gnome mit Absicht macht...
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #15 am: 08. March 2009, 12:21 »
Wobei auch KDE 4.2 immer noch so instabil ist, dass ich es für eine pre-Alpha halten würde, wenn ich es nicht besser wüsste. Wobei eine pre-Alpha doch schon um einiges stabiler laufen müsste.

bitmaster
In the Future everyone will need OS-64!!!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #16 am: 08. March 2009, 16:40 »
Ach ja, und ich musste am Ende aller *.c und *.h Dateien eine newline einfügen (was der Schwachsinn soll weiß ich zwar nicht, aber nun gut).

ISO/IEC 9899:1999 5.1.1.2 Translation Phases (1ster Absatz, zweiter Punkt):
Zitat
[...]. A source file that is not empty shall end in a new-line character, [...]

edit: Ich würde dir übrigens empfehlen, dass du gcc sich so krass wie möglich an den Standard halten lässt, was über die Flags "-std=c99 -Wall -Wextra -pedantic-errors" geht (andere fürs OSDev wichtige wurden hier ausgelassen).

Und das KDE 4.2 nicht stabil ist entspricht ehrlich gesagt nicht wirklich meiner Erfahrung. Außerdem wäre die Installation riesig, wenn eine Distribution alle -dev Pakete installieren würde...
« Letzte Änderung: 08. March 2009, 16:50 von bluecode »
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #17 am: 09. March 2009, 08:16 »
Zitat
Und das KDE 4.2 nicht stabil ist entspricht ehrlich gesagt nicht wirklich meiner Erfahrung.
Na ja, wenn Kicker plötzlich abstürtzt (manchmal blieb es auch "nur" hängen), wenn Kwin abstürtzt und wenn plötzlich irgendwelche Symbole verschwinden (erinnert mich ziemlich an meine Windows ME Zeit ^^), dann ist das für mich doch recht instabil. Ich muss dazu sagen, dass das alles jeweils 64 Bit Versionen waren. KA ob die 64 Bit Versionen instabiler sind oder nicht (müssten dann ja Fehler beim Portieren sein (bzw. werden die doch direkt so geschrieben, dass sie für beide Architekturen kompilierbar sind ?)). Was solls, KDE 4 sieht schön aus, ist aber instabil. Meiner Meinung nach ziemlich peinlich (da man ja gerade Microsoft für solche Sachen Ende der 90er und Anfang 2000 dafür kritisiert bzw. sich sogar darüber lustig gemacht hat). Na ja, ich bin froh dass Kubuntu mit KDE 3.5.10 bei mir bis jetzt stabil laufen. Hoffentlich bleibt es dabei.

bitmaster
In the Future everyone will need OS-64!!!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #18 am: 09. March 2009, 10:30 »
Ich habe auch die 64Bit Version. Die einzigen Dinge die mich momentan nerven sind eine unvollständige deutsche Lokalisierung (was ich aber verkraften kann, da ich Englisch relativ gut verstehe), das die Effekte beim Wechseln der Fenster mittels Alt-Tab irgendwie nicht funktionieren und das es kdevelop und konversation (wobei das so wie es aussieht durch Quassel ersetzt wird) noch nicht für KDE4 gibt. An Abstürze kann ich mit 4.2.0 bzw. 4.2.1 momentan nicht erinnern. Mich würde interessieren wie du überhaupt an eine Distribution kommst die KDE 4.2 out-of-the-box als stable dabei hat. Das gibts zumindest bei Kubuntu nämlich nicht und wenn du die Jaunty Alpha genommen hast bist du selbst Schuld, die ist explizit Alpha.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #19 am: 09. March 2009, 22:27 »
Ich habe auch die 64Bit Version. Die einzigen Dinge die mich momentan nerven sind eine unvollständige deutsche Lokalisierung (was ich aber verkraften kann, da ich Englisch relativ gut verstehe), das die Effekte beim Wechseln der Fenster mittels Alt-Tab irgendwie nicht funktionieren und das es kdevelop und konversation (wobei das so wie es aussieht durch Quassel ersetzt wird) noch nicht für KDE4 gibt. An Abstürze kann ich mit 4.2.0 bzw. 4.2.1 momentan nicht erinnern. Mich würde interessieren wie du überhaupt an eine Distribution kommst die KDE 4.2 out-of-the-box als stable dabei hat. Das gibts zumindest bei Kubuntu nämlich nicht und wenn du die Jaunty Alpha genommen hast bist du selbst Schuld, die ist explizit Alpha.
Ach Kinders!

http://www.kde.org/download/#v4.2

bitmaster
In the Future everyone will need OS-64!!!

 

Einloggen