Problemde mit gcc 4.0

Gandalfx86

Lieutenant
Registriert
Apr. 2004
Beiträge
734
Ich habe Ubuntu 5.10 auf meinem Notebook installiert, und wollte jetzt ein paar Sachen kompilieren (emacs, Ogre3D) habe aber festgestellt, dass irgendetwas da nicht funktioniert. Ich vermute, dass das es an gcc 4.0 liegt und einer von den vielen Bugs ist. Allerdings nutzt Ubuntu 5.10 den gcc 4 standardmäßig, und ich habe keine Ahnung, wie ich statt gc 4 z.B gcc 3.4 benutzen kann. Ich kann ja nicht einfach über apt-get gc 4 runterschmeißen, denn der ist mit dem halben System verknüpft, und das würde dann ja auch deinstalliert.
Gibt es vielleich irgendeinen Befehl, mit dem ich eine ältere Version zum kompilieren benutzen kann?

Achja, hier nochmal die Fehlermeldung von make, beim kompilieren von emacs:
Code:
/usr/bin/ld: cannot find -lXaw
collect2: ld gab 1 als Ende-Status zurück
make[1]: *** [temacs] Fehler 1
make[1]: Verlasse Verzeichnis »/home/josef/Downloads/Texteditor/emacs-21.3/src«
make: *** [src] Fehler 2


edit: stelle gerade fest, dass ich im Titel des Threads totalen Mist geschrieben hab; kann ich das irgendwie ändern?
 
Zuletzt bearbeitet:
AW: Problemde mit gc 4.0

Das ist kein Problem des gcc, sondern des Linkers. Der heißt "ld".
Und der will dir sagen, dass er die Bibliothek Xaw nicht findet. Zumindest nicht dessen deeloper Paket. Das heißt vermutlich Xaw-devel oder ähnlich.

Schau also mal nach, was der Paketmanager alles bietet, wo im Namen "xaw" vorkommt.
 
AW: Problemde mit gc 4.0

Das ist libxaw7, und die habe ich installiert. Allerdings fällt mir gerade auf, dass ich die libxaw7-dev nicht drauf, hab. Mal schauen, vielleichts liegts ja daran.

Edit: Es funktioniert!

Danke für den Hinweis!
 
AW: Problemde mit gc 4.0

Also das Kompilieren geht soweit, aber beim Ausführen der kompilierten Anwendungen, bekomme ich die Fehlermeldung "Speicherzugriffsfehler".
Ich tippe ganz einfach darauf, dass irgenetwas beim kompilieren nicht richtig gelaufen ist, aber was.

Hier mal die Ausgabe, beim Starten von Ogre3D-Demoanwendungen:

Code:
Creating resource group General
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
Loading library libOgrePlatform.so
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
DevIL version: Developer's Image Library (DevIL) 1.6.7 Apr 14 2005
DevIL image formats: bmp dib cut dcx dds gif hdr ico cur jpg jpe jpeg lif mdl mng jng pcx pic pix png pbm pgm pnm ppm psd pdd psp pxr sgi bw rgb rgba tga vda icb vst tif tiff wal xpm raw
Registering ResourceManager for type HighLevelGpuProgram
Loading library /usr/local/lib/OGRE/RenderSystem_GL.so
Speicherzugriffsfehler

Ich schätze, das sich hier im Forum kaum jemand mir Ogre3D auskennt, aber ich bin mir eigentlich sicher, dass das Problem nicht in Ogre zu suchen ist. (bei anderen und auf meinem Ubuntu 5.04 wird es ohne Probleme kompiliert, allerdings nicht mit gcc 4.0) Hat vielleicht jemand eine Idee, was ich machen kann, um die Dateien ordnungsgemäß neu zu Kompilieren?
 
Zuletzt bearbeitet:
AW: Problemde mit gc 4.0

das problem liegt vermutlich an ogre3d. am besten du fragst dort also mal im forum.

wenn ein neuer gcc etliche programme nicht "korrekt" kompilieren kann liegt das in der regel daran das diese programme nicht korrekt programmiert worden sind, also nicht dem standard entsprechen.

selbst wenn es ein bug des gccs wäre können dir die ogre entwickler damit ganz sicher am besten helfen. schließlich kennen sie ihren code am besten und werden daher am ehesten die ursache für das problem finden.
 
AW: Problemde mit gc 4.0

ein altes gcc zu benutzen ist nicht schwer:

einfach gcc 3.4 installieren, und den symlink /usr/bin/gcc (oder wo auch immer der bei ubuntu ist) auf /usr/bin/gcc-3.4 setzen statt auf gcc-4.0.

zumindest bei debian ist das so dass /usr/bin/gcc nur ein symlink ist. wunderbar gemacht finde ich. kannst ja mal einfach probieren, auch wenn ich nicht denke dass es daran liegt

mfg
 
Zurück
Oben