Makefile

Post Reply
Message
Author
Jürgen

Makefile

#1 Post by Jürgen »

Hallo Ihr da draussen,

jetzt hab ich schon wieder ne Frage:
Ich lade mir ein Programm im tar.gz Format herunter, entpacke es, und mache ein ./configure.
So weit so gut; danach ein make - und da hab ich Probleme.
Manche Programme brauchen bestimmte Librarys und beim make,heisst es die oder jene Library sei nicht vorhanden.
Ich habe aber diese Library auf meinem System, nur eben nicht dort, wo das Makefile sucht. Man kann doch dem Makefile irgendwie "sagen" wo es nach bestimmten Dingen suchen soll, wo es das Programm hintun soll oder so?(Glaube ich zumindest).
Meine Frage also: Wie kann ich dem Makefile sagen wo meine "Sachen" liegen, und vielleicht kann mir ja irgendjemand sagen, was die ganzen Dinge am Anfang des Makefiles so bedeuten ( ich habe fest gestellt das bestimmte Ausdrücke wie prefix , das Dollarzeichen etc. fast immer, oder immer vorkommen).

Hoffentlich weiss das jemand!

Vielen Dank und Servus
Jürgen
P.S.:Sollten irgendwelche Worte nicht si Linuxerisch sein, ich bin ein Newbie, und ihr möget mir verzeihen

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Makefile

#2 Post by hjb »

Hi,

./configure sollte normalerweise die Libraries finden, wenn sie in den üblichen Verzeichnissen installiert sind.

Wo hast du denn die Library? Gib mal ein konkretes Beispiel.

Das Makefile zu ändern, macht wenig Sinn: viele Projekte haben mehrere Makefiles, da editiert man sich tot, und beim nächsten ./configure wird alles wieder überschrieben.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

cerberusger
Posts: 348
Joined: 28. Dec 2000 13:30
Location: Muenchen

Re: Makefile

#3 Post by cerberusger »

wie waere es denn mit einem <b>./configure --help</b> ??

dort stehen alle moeglichen optionen, die man dem configure-script uebergeben kann. (meistens in der form <b>--with-<i>irgendeine -library-oder-anderes</i>-dir=<i>pfad</i></b>

wenn du eine bestimmte lib net hast, musst sie dann halt vor dem eigentlichen programm konpilieren, vielleicht noch ein paar mehr, die die vorausgesetzte lib dann braucht ...
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Jürgen

Re: Makefile

#4 Post by Jürgen »

Danke für die schnellen Antworten erstmal.

Normalerweis liegen meine in /usr/lib (ich habe auf meinem PC Suse 6.4 installiert)
Ich habe mir dann mpg123 vom Netz geholt und es dementsprechend entpackt, etc.
Dieses liegt nun in /usr/local/lib. Genauso war es auch mit dem GTK+1.2.8, das wurde auch in /usr/local/lib
So: nun habe ich die Programme, die z.B. mpg123 benutzen(in diesem Fall war es krabber) installiert, dann hieß mpg123 not found, you can`t rip mp3 files(oder so ähnlich), genauso war es auch mit, ach scheisse wie hieß das Programm noch gleich)...
Na auf alle Fälle meldete das ./configure, das das gtk+ zwar hier sei, aber es stimmt etwas mit der Version nicht etc. pp.
Das war auch so, denn von Suse war die (ich glaub) gtk+ 1.2.6 in /usr/lib und die gtk+ 1.2.8, die dieses Programm benötigte, hab ich aus dem Netz geholt und die wurde in /usr/local/lib installiert.
Deshalb wollte ich wissen, wie man den ./configures, oder makefiles sagen kann, wo diese Dinge liegen.
Oh und da ich gerade am Nerven bin: ishmail heruntergeladen-alles gemacht(./configure...etc) ausprobiert (das Programm) und will e sjetzt wieder loswerden: meine Frage - ich habe mit locate ishmail die Pfade der installation gefunden, darf ich diese Dateien dann löschen und danach davon ausgehen, dass alles weg ist und andere Programme noch funktionieren?

Grüsse Jürgen

P.S.:Ich habe das gestern schon gesagt, will es aber noch mal betonen um niemanden an den Rand des Nervenzusammenbruchs zu bringen, wenn er meine Fragen liest: Ich bin noch ein Newbie und kenne mich mit den Begriffen noch nicht so gut aus(wahrscheinlich wird der eine oder andere sagen : überhaupt nicht). Also bitte nicht böse sein wenn ich statt X-Window KDE schreibe oder solche sachen.

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Makefile

#5 Post by hjb »

Hi,

das Problem ist, daß du nicht zwei Versionen von GTK+ installiert haben kannst - jedenfalls nicht so, wie du's jetzt hast. Es ist ein kleines Dilemma, wenn man neuere Versionen von Software braucht, als die Distribution anbietet. Die Distros installieren in /usr, die meisten selbstcompilierten Pakete in /usr/local. Und wenn man nicht aufpaßt, hat man zwei verschiedene Versionen in zwei Verzeichnissen installiert.

Die sauberste Lösung ist wohl, das manuell installierte GTK+ wieder zu entfernen, dann ein RPM von GTK+ 1.2.8 einzuspielen.

Die Alternative wäre, das GTK+-RPM zu entfernen (mit Option --nodeps) und die Paketverwaltung in die Tonne zu kicken. Denn danach sind alle Paketabhängigkeiten mit GTK+ hinüber. So würde ich es machen.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Post Reply