WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   Libc5 Kompilierproblem (http://www.wcm.at/forum/showthread.php?t=68129)

MasterX 29.08.2002 16:07

Libc5 Kompilierproblem
 
Ich benutze Manrake Linux 8.1 und hab mir ein kleines Programmchen in C gschrieben das auch ohne Probleme funktioniert.

Wollte das Programm nun auch für ein älteres Linux kompilieren (läuft auf meinem Router) und hab dazu die Libc5 eingebunden (hab eine Seite gefunden wo die entsprechenden RPMs waren und dabei stand daß man nach der Installation nur statt gcc gcc5 aufrufen muß).

Aber wenn ich nun das Programm kompilieren will, kommt folgende Fehlermeldung :
"gcc: installation problem, cannot exec `cpp0': Datei oder Verzeichnis nicht gefunden
gcc: file path prefix `/usr/lib/gcc-lib/i486-linux-libc5/2.7.2.1/2.96/' never used"

Da ich mich mit Linux-Programmierung noch nicht lange beschäftige sagt mir das net viel ... eigentlich gar nix ;) cpp0 dürfte ein Programm sein .. hab ich denk ich shcon mal in Ordner vom gcc gsehn ... wieso er das nicht findet .. keine Ahnung ... Und was es mit dem file path prefix auf sich hat kann ich mir auch nicht erklären.
Der Pfad ..../2.96/ wird im übrigen von mir nirgends aufgerufen (gcc5 ist nur ein Script daß den normalen gcc mit den Verweisen auf die libc5-Libraries aufruft; die Pfade stimmen aber .. hab ich schon kontrolliert)

Vielleicht kann mir da ja wer weiterhelfen.

Grüsse, MasterX

MasterX 01.09.2002 12:00

So, nach ein paar Tagen rumprobiern hab ich immer noch keine Lösung gefunden.
Mandrake hab ich inzwischen aufgegeben; keine Ahnung wieso es da net hinhaut.

Hab dann in der fli4l-Newsgroup eine Link zu einem VMWare-Image von Suse 5.3 gefunden. Diese 78 MB und 3 Stunden waren für mein ISDN gerade noch akzeptabel (+ ca 15 MB für die Trial-Version von VMWare).
Bei dieser fehlten dann aber leider ein paar benötigte Header-Files.

Nachdem ich nun mit VMWare auf den Geschmack gekommen war, hab ich einfach alle Linuxe die ich so von diversen Heft-CDs daheim hatte, ausprobiert (aus dem Jahre 99 aufwärts).
Bei der einen fehlten wieder Header-Dateien, bei der nächsten brach gcc selber mit einer Fehlermeldung ab, bei einer anderen war wiederum eine ältere Version als libc5 installiert, die ebenfalls keine Binary erzeugte die auf dem Router funktioniert usw.

Hab auch schon einige Anleitungen für die Installation von libc5 gefunden, doch jede für eine andere Distribution und Versionsnummer .... und keine funktioniert bei den mir zur verfügung stehenden Versionen. Entweder fehlten wie gesagt Headers oder ein ganzen Verzeichnis war nicht vorhanden .. irgendwas war immer ....

Wo ist die vielgelobte Flexibilität geblieben ??? Oder ist bei Linux keine Auf/Abwärtskombatibiltät vorgesehen ?? Ich will doch nur ein 50 Zeilen Programm für ein älteres Linux kompilieren ... oder is das eine sooo abwegige Aufgabenstellung ???

Eigentlich dachte ich schon daß Linux so weit gereift sei um ein Anwenderbetriebssystem zu sein, aber je mehr ich mich jetzt damit beschäftigt habe, umso mehr bin ich zum Schluss gekommen daß Linux nachwievor etwas für Leute mit VIIIEEEL Zeit ist ;)
Klar, der Fehler kann auch der User (also ich) sein, aber nach 3 bis 4 Tagen könnte man doch erwarten, daß irgendwas klappt ...

Und die Moral von der Geschicht:
Hat zufällig wer eine Suse 5.3 daheim die er mir kopieren und zuschicken könnte ?! :rolleyes:

Achtung: Dieser Text soll keine direkte Kritik an Linux sondern eher eine frustabbauende Maßnahme sein :D

Lotussteve 01.09.2002 16:34

Zitat:

Original geschrieben von MasterX
Wo ist die vielgelobte Flexibilität geblieben ??? Oder ist bei Linux keine Auf/Abwärtskombatibiltät vorgesehen ??

Eigentlich dachte ich schon daß Linux so weit gereift sei um ein Anwenderbetriebssystem zu sein, aber je mehr ich mich jetzt damit beschäftigt habe, umso mehr bin ich zum Schluss gekommen daß Linux nachwievor etwas für Leute mit VIIIEEEL Zeit ist ;)


Achtung: Dieser Text soll keine direkte Kritik an Linux sondern eher eine frustabbauende Maßnahme sein :D

Hallo!

ad 1.) Linux ist der Kernel, sonst nix. Und meine Debian GNU/Linuxdistribution hat die libc5 und sogar ältere gcc und den egcc falls du die brauchst. Auf Wunsch (mailto: help@cargal.org?Subject=DebianISO ) sende ich dir gerne die 3 oder 7 CD zu.

ad 2.) Es ist ein sehr gutes Anwenderbetriebssystem, was du machst ist entwickeln und dafür ist GNU/Linux schon viel länger geeignet als als Desktopsystem. Und nein, man braucht nicht viel Zeit, ein System zu installieren dauert mit $richtiger_Distribution 30 Minuten, Customisation ähnlich und die Wartung bez. Sicherheit ist nicht der Rede wert.
P.S.: Linux ist nur der Kernel, der muss nicht anwenderfreundlich sein. Das ist die Aufgabe der Distributionen :)

ad 3.) Ich weiss, ich antworte trotzdem ;)


Ciao,

Debian GNU/Steve

artemisia 01.09.2002 17:56

sers masterX

kann es sein, daß du die libs und header falsch einbindest?

greetz
artemisia

MasterX 01.09.2002 18:13

@artemisia

Ja das kann schon daß ICH da was falsch mache, nur wie schon gesagt habe ich die Weiten des Google schon ziemlich durchsucht und auch Anleitungen gefunden wie man das macht ... ohne Erfolg.
Hab mich auch schon selber mit dem diversen Parametern von gcc gespielt was aber auch ohne Wirkung war (entweder bekam ich ne Fehlermeldung daß irgendwas nicht gefunden wurde, oder das Programm wurde doch nur wieder mit den Standardlibs kompiliert)
Das Programm selber funktioniert auf jeden Fall, da ich es ja mit "normalen" gcc-Aufruf ohne Probleme kompilieren kann, und es auf dem System auch läuft.

@Lotussteve

Wie schon erwähnt, kann es eh sein daß der Fehler der User is ;) , aber bisher hatte ich mich nur mit den grundlegenden Dingen von Linux beschäftigt (zumindest die, welche ICH für grundlegend halte). Und ich seh schon, ich muß noch viel lernen :)

Also das mit den CDs wär schon super, nur wärs mir halt lieber man könnte das vorher mal ausprobiern ob dort überhaupt ein "richtiges" Binary erzeugt wird. Am liebsten wär mir ich könnte dir das C-File schicken, dann könnt ich mal sichergehn daß es unter Debian so kompilierbar ist, daß es bei meinem Zielsystem läuft.
Vielleicht liegt der Fehler auch ganz wo anders, aber laut Fli4l Doku und Newsgroup soll man Suse 5.3 bzw libc5 benutzen.

An sich find ich das Programmieren und Linux wirklich sehr komfortabel; war erstaunt wie leicht man da einen LCD-Treiber für den Parallelport schreiben kann.

artemisia 01.09.2002 18:26

würdest du den quellcode posten?

ansonsten reden wir doch nur aneinander vorbei.

greetz
artemisia

Lotussteve 01.09.2002 18:27

Zitat:

Original geschrieben von MasterX
1.) Und ich seh schon, ich muß noch viel lernen :)

2.) Also das mit den CDs wär schon super,

3.) Am liebsten wär mir ich könnte dir das C-File schicken, dann könnt ich mal sichergehn daß es unter Debian so kompilierbar ist, daß es bei meinem Zielsystem läuft.

4.) An sich find ich das Programmieren und Linux wirklich sehr komfortabel; war erstaunt wie leicht man da einen LCD-Treiber für den Parallelport schreiben kann.

Hallo!

ad 1.) Das schöne an freier Software ist daß das Lernen nie aufhört.......sage ich,der ich gerade in der Firma sitze, www.lartc lese und versuche einen performanten Router zu bauen :)

ad 2.) Wie gesagt, der einzige Aufwand für dich wäre es, das Packerl an der Haustür entegenzunehmen ;)

ad 3.) Mhmmm,kann jetzt nicht schauen ob ich die benötigten Sachen installiert habe, vielleicht liest hier wer mit der ein passendes System hat? Zur Not kannst du es mir aber schicken, klar. (Mit README bitte ;) )

ad 4.) Auja, was wäre die Welt ohne VIM,freier Compiler und freie C-Bibliothek :)


Ciao,

Steve

MasterX 01.09.2002 19:24

Hab jetzt mal das C-File ins Net gestellt

http://members.aon.at/tbhome/data/cpanel_orig.c
http://members.aon.at/tbhome/data/cpanel2.c

"cpanel_orig.c" ist wie der Name schon sagt der Originalsource, auf den ich zu Testzwecken mal aufgebaut habe.
Aber an den Programmen selber scheiterts ja net, die lassen sich ja beide ohne Fehlermeldungen auf meinem "normalen" Mandrake kompilieren.

@Lotussteve

Richtig, wenn ich nicht ständig was neues lernen könnte, wär mir ja langweilig ;)
Oder wie könnte ich sonst jemanden erklären, daß ich mir einen Router (fli4l) aus alten PC-Teilen zusammengeschraubt und herumkonfiguriert habe, obwohl derzeit nur ein an den Switch angeschlossener PC überhaupt ins Internet geht .. reines Interesse :)

Das mitn Kombilieren hat eigentlich keine Eile; fallst mal zuviel Zeit übrig hast ..... ;)
Wenns dann funktioniern sollte, komm ich gern auf dein Angebot zurück !!

Grüsse, MasterX

artemisia 01.09.2002 19:34

wenn ich mir das anschaue, so scheint mir, du versuchst das prog ohne die entsprechenden lib anweisungen einzubinden.

greetz
artemisia

MasterX 01.09.2002 20:05

Naja, aber die Libs bzw Pfade dorthin kann ich soviel ich weiß eh über Parameter an gcc übergeben, oder nicht ?!.

Habs unter anderem auch mit dem Beispiel für RedHat probiert :
http://ecg.mit.edu/george/gcc5.html


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag