PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Compilieren - aber wie ?



LeroySomer
10.11.02, 12:05
Hallo Leutz,

ich fahre seit gut einem Jahr nur noch Linux 8.0 professional und würde gerne wissen wie ich mein System auf den neuesten Stand bringe.
Wenn ich mir z.b ein Brenner-tool runterlade, scheitern die compilierungsversuche kläglich.
Es ist doch richtig, das der Prozess unter "root" folgendermaßen angestoßen wird oder ?

./configure
./make
./make install

Außerdem bin ich völlig ratlos in welche Verzeichnisse diese Dateien gehören, oder kümmert sich der Compiler selber darum?
Wenn ich ./configure eingebe checkt der Compiler irgendetwas ab - keine Ahnung was. Auf jedenfall kommt meistens das Wort "no" am Ende vor.

Habe absolut keine Ahnung davon - vielleicht Hilft euch weiter das der gcc-Compiler die Version 2.95.3 hat.
(warscheinlich schon Uralt)

Was muss ich also nachlegen oder Erneuern, das ich endlich auch in den Genuss von neuen Programmen komme ?

Für Eure Hilfe währe ich sehr dankbar.

System Duron 750Mhz
SuseLinux8.0 professional

sebb_m
10.11.02, 12:16
servus,
das einzige, was du als root ausführen solltest ist das make install.
im übrigen:



./configure --optionen
make
su passwort
make install
exit


so macht man das normal. außerdem hat jeder quelltext eine datei README und/oder INSTALL die solltest du schon durchlesen, da wirds erklärt!

hunter
10.11.02, 12:20
Dein Wissen ist ja noch recht Lückenhaft und teilweise auch Fehlerhaft. Es heißt z.B. make und make install und nicht ./make oder ./make install.

Ich empfehle das hier zu lesen: http://spookyshome.homelinux.org/software.htm

Und ergänzend noch das hier: http://www.linuxforen.de/forums/showthread.php?s=&threadid=28873

Danach sehn wir weiter.

LeroySomer
10.11.02, 15:51
Ja Ihr habt ja recht, natürlich ist da eine riesige Lücke bei mir!

Aber trotzdem - der Prozess beim Compilieren wird zwar angestoßen, und dennoch habe ich das Gefühl das mein Compiler vielleicht nicht mehr auf dem neuesten Stand ist !?

Wenn das endlich klappen würde, dann könnte ich mir einen lang ersehnten Traum erfüllen - Windoof endlich von der Platte putzen !

HangLoose
10.11.02, 16:26
hi

wie sebb_m und hunter schon sagten. ./configure und make macht man als normaler user und nicht als root. hintergrund => ein normaler user hat einen ganz anderen PATH als(wie?;)) root. das wäre zum beispiel eine erklärung warum beim *checken* ein no kommt.

du kannst das mal testen, in dem du mal als user und anschließend als root echo $PATH in die konsole tippst.


Gruß HangLoose

LeroySomer
10.11.02, 16:48
Ich habe es probiert, und ich denke ich habe verstanden was ihr meint.

Eine Frage noch:

Wo bekomme ich einen aktuellen Compiler ?
Und muss der alte runter ?

Dank schön.

hunter
10.11.02, 17:23
2.95.3 ist eigentlich ein guter Compiler. Du könntest aber auch alles auf 3.2 updaten. Das würd ich aber mit vorsicht genießen weil du dann einen anderen Compiler als der mit dem der Kernel compiliert wurde. Das macht probleme beim compilieren von Kernelmodulen. Du müsstest dann einen eigenen Kernel compilieren und das ist viel Arbeit für einen sehr kleinen Lohn.

LeroySomer
12.11.02, 10:25
Besten dank nochmal, lasse erstmal alles so wie es ist.

Vielleicht sollte ich erst mal meine Hausaufgaben machen was Linux betrifft, damit ich bei solchen Dingen besser durchsteige.

Ulli Ivens
12.11.02, 16:38
Blos nicht Updaten (den Compiler) Das zieht einen tierischen Rattenschwanz hinter sich her. Mit dem Compiler ist es ja nicht getan, da der ausführbare Code von in c++ geschriebenen und mit gcc 3.2 compilierten Programmen binär inkompatibel zu den mit "älteren" mit gcc 2.95 und 3.1 compilierten Programmen/Bibliotheken ist musst du das alles updaten. Nimm dann lieber eine Neue SuSE !

LeroySomer
12.11.02, 19:46
Danke für den Tip - dann lass ich mal besser die Finger davon ( für's erste )

Ciao

Thomas Mitzkat
12.11.02, 20:01
wenn du ./configure anstösst, verweist der in der regel auf fehlende devel-pakete, die du von den installations-cd's nachinstallieren kannst. erst wenn ./configure durchläuft macht make die binaries und make install schafft sie meistens ;) nach /usr/local

Drunken Master
14.11.02, 18:50
Diese Frage ist OT, aber ich stelle sie trotzdem.

Wieso sollte ich ./configure statt configure eingeben? Das verstehe ich nicht.
Wird nicht zuerst das im CURRENT befindliche Programm geladen, bevor der PATH durchsucht wird?

Ulli Ivens
14.11.02, 20:00
Nein. Das ./configure ist wichtig weil sonst in der Reihenfolge von PATH gesucht wird

Bei mir z.B.:

[ivens@spookyslaptop ivens]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games:/home/ivens/bin

Und wenn es da kein Programm oder Script gibt was configure heisst dann macht dein Linux NIX. Und wenn es was gibt was configure heisst, dann macht es mit sicherheit nicht das was du grade willst :ugly: :D

Drunken Master
14.11.02, 20:03
Danke ... auf dem Amiga wars gerade umgekehrt. :)
Wieder was gelernt.

---

ich bin vorbelastet - aber mit der bash laufen viele dinge anders

Thomas Mitzkat
14.11.02, 20:16
ausserdem ist . bei den meisten pinguinen nicht im $PATH!

Ulli Ivens
14.11.02, 21:07
. währe unter Umständen ja auch fatal (Sicherheit) !! Am besten noch als erstes in $PATH :ugly: :eek:

Drunken Master
14.11.02, 21:30
Wo ist das Problem? Wird doch nur mit den Rechten den jeweiligen Nutzers ausgeführt.

Ulli Ivens
15.11.02, 07:43
@ Drunken Master

Stell dir vor du bist root mega:ugly:

Drunken Master
16.11.02, 16:14
hmmm ...

. ist bei mir auch nicht im PATH - trotzdem kann ich darin befindliche Programme auch ohne explizite Pfadangabe ausführen

also wird zuerst PATH durchsucht, dann . ?

Thomas Mitzkat
16.11.02, 16:39
. ist bei mir auch nicht im PATH - trotzdem kann ich darin befindliche Programme auch ohne explizite Pfadangabe ausführen

mit sicherheit nicht. entweder ist . in $PATH (bitte genau schauen) oder die Programme lassen sich nicht ohne explizite Pfadangabe ausführen!

oenone
16.11.02, 16:47
Original geschrieben von Drunken Master
. ist bei mir auch nicht im PATH - trotzdem kann ich darin befindliche Programme auch ohne explizite Pfadangabe ausführen

vielleicht existiert das programm auch in einem der PATH-verzeichnisse ? oder das verzeichnis, in dem du bist, ist im PATH ?

Drunken Master
16.11.02, 16:52
bash-2.05b$ echo $PATH
/usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/home/drunken/bin

darin sehe ich keinen .

trotzdem kann ich im current directory befindliche programme ausführen, auch ohne ./ vorweg zu schreiben ... ich hielt das bisher für vollkommen normal

reden wir aneinander vorbei?

ed:

@oenone
nein

Thomas Mitzkat
16.11.02, 17:17
in einem pfad mit sourcen, samstags 18:18 uhr:

echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
configure
command not found
./configure
checking build system type...

oenone
16.11.02, 17:26
Original geschrieben von Drunken Master
bash-2.05b$ echo $PATH
/usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/home/drunken/bin

da haben wirs ja... direkt nach /usr/bin stehen zwei doppelpunkte ::

warum zwei mal /usr/bin und dann das erste mal noch mit zwei slashes ?

auf bald
oenone

Drunken Master
16.11.02, 17:35
warum zwei mal /usr/bin und dann das erste mal noch mit zwei slashes ?

mächtige Mandrake default config ... habe nichts geändert

---

Beispiel anhand des unwahrscheinlich oft und immer im PATH installierten Bilbo Crypt:
http://www.fw.cz/petricm/bca093le.zip

unzip bca093le.zip
mkdir bcax
cp bca* bcax
cd bcax
cp bca hu9wu9
chmod u=rwx hu9wu9

bash-2.05b$ hu9wu9
--- BilboCrypt v0.93/Linux (2.12.2001) ---
Usage:
Test encrypted archive : bca t <archive.bc>
Extract encrypted archive : bca x <archive.bc> [target_directory]
Create encrypted archive : bca a <archive.bc> [filemask(s)...]
Wipe deleted files : bca w [disk]
Archive information : bca i <archive.bc>
Advanced help : bca h
...