Toon posts:

[linux] compile source

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil graag het programma proftpd onder mijn suse 9.1 pro gaan draaien. Het probleem is dat de nieuwste versie niet voor linux geschikt is en deze voor zover ik kon vinden niet op de dvd staat. Vandaar dat ik ben gaan proberen om het source paket van dit programma te gaan compileren. Ik heb op deze site (http://houghi.org/admin/ch02s03.html de volgende info gevonden info:
The danger with many packages is that unwanted files are added to the running system during the build process. To prevent this, use build (en dus niet rpmbuild!!), which creates a defined environment in which the package is built. To establish this chroot environment, the build script must be provided with a complete package tree. This tree can be made available on the hard disk, via NFS, or from DVD. The respective position is specified with build --rpms <path>. Unlike rpm, the build command looks for the SPEC file in the source directory.
Kennelijk is het build commando veel beter dan het rpmbuild commando. Het probleem is echter dat het build commando niet in suse 9.1 herkend wordt (het rpmbuild commando werkt daarintegen wel). Bestaat er een vergelijkbaar commando aan build dat wel werkt in suse 9.1 (ik wil in de terminal werken en geen gebruik maken van yast en andere graphische software).

bvd

deus

  • zwik
  • Registratie: Maart 2001
  • Laatst online: 13-02 10:28

zwik

randomized

Als je van source wil gaan compilen, waarom doe je dat dan niet op de traditionele manier met ./configure --disable_option enzo?

Gewoon je source tarball downloaden en de README en INSTALL files lezen, en de opties bij het configure script lezen natuurlijk :) .

  • Wilke
  • Registratie: December 2000
  • Laatst online: 19:25
Zie Hoe installeer ik software onder Linux - is er een reden dat je per se de aller-aller-allernieuwste versie nodig hebt? Anders zou ik gewoon bij de versie blijven die een leverancier erbij heeft gedaan. Die werkt altijd gegarandeerd.

Ik kan me niet voorstellen dat SuSE die niet meelevert ook.

Edit: Hmm, staat idd toch ook niet op hun ftp. Is er een reden dat je per se proftpd wilt gebruiken ipv pure-ftpd die SuSE meelevert?

[ Voor 16% gewijzigd door Wilke op 20-12-2004 01:28 ]


Verwijderd

Don't believe everything they say...

Verwijderd

Volgens mij ben je nu een package aan het bouwen, terwijl je eigenlijk van source wilt compileren en installeren. Toch?

Verwijderd

Topicstarter
Verwijderd schreef op maandag 20 december 2004 @ 21:53:
Volgens mij ben je nu een package aan het bouwen, terwijl je eigenlijk van source wilt compileren en installeren. Toch?
Daar ben ik idd achter gekomen |:(. Het was eigenlijk vrij normaal dat het make commando niet werkte. Suse 9.1 pro installeerd uit zich zelf niet de benodigde packages die nodig zijn voor oa dit commando. Na het installeren werkte dit als een trein. Ik heb de source gecompileerd mbv de volgende code:
./configure
make
make install
Wat deze commando's exact doen weet ik nog niet. Daar moet ik eerst nog het een en ander over lezen. Maar ik ga eerst even verder met deze ftp server. Nu komt het configuratie gedeelte van de server. Iedereen bedankt.
Ps, de benodigde packages die geïnstalleerd moeten worden zijn:
gcc gnu c compiler
make

  • Wilke
  • Registratie: December 2000
  • Laatst online: 19:25
In ieder geval heb je nu buiten het package management om iets geinstalleerd. Dat is meestal geen handig idee, zie bovenstaande link naar de NOS FAQ waarom niet.

Nogmaals de vraag, waarom moet het per se proftpd zijn dan?

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 21:01

Kees

Serveradmin / BOFH / DoC
./configure 'bekijkt' je systeemconfig en past vervolgens zijn makefile daar op aan, met die makefile kun je het programma compileren. ./configure kun je ook diverse opties mee instellen (locaties, aan- en uitschakelen van opties etc, zie ./configure --help).

make compileert vervolgens het programma aan de hand van de makefile. zodat het programma op jouw systeem werkt. (grote kans dat de gecompileerde versie niet op alpha gaat werken, dan moet je eerst weer ./configure doen etc ;))

make install - dit kopieerd het programma en configfiles naar locaties op je disk die of default zijn, of die je hebt meegegeven met ./configure. Standaard locatie is in /usr/local/*

proftpd config is niet heel moeilijk, er is uitgebreide documentatie voor :)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Verwijderd

Topicstarter
Zoals meneer Kees al zegt, wordt proftpd zeer goed gedocumenteerd. Gezien mijn zeer geringe kennis van linux wil ik graag een ftpserver met veel duidelijke informatie. Daar komt nog eens bij dat in een aantal van mijn boeken over linux, proftpd wordt aangehaald als zeer goede ftpserver. Vandaar dat ik voor proftpd heb gekozen. Omdat er geen goede rpm voor suse beschikbaar was wou ik hem zelf gaan compileren. Gezien de manier van installeren die ik heb gebruikt niet de goede is, zal ik hem verwijderen en er zoals de FAQ al zei, zelf een rpm van proberen te maken. Hierbij wil ik graag checkinstall gebruiken (Ik probeer eerst of ik een installatie vanuit de tarball kan starten, maar ik wil ook graag leren zelf een rpm te bouwen van de source).
Moet je alsnog van source compileren, probeer dan altijd eerst te kijken of er al ergens anders pakketjes bestaan, kijk of de tarball package-build-from-source ondersteunt (bv. rpmbuild -tb bla-X.Y.Z.tar.gz) of probeer desnoods zelf je eigen pakketjes te maken. Een handig hulpmiddel daarbij is bv. checkinstall.
Bij proftpd heb ik gemerkt dat niet elke rpm geschikt is voor suse. Bij Check Install zie ik het volgende staan in de downloaddir: RPM binary checkinstall-1.5.3-1.i386.rpm . Hoe weet ik nu of deze wel geschikt is voor suse?

Kan dit overigens niet: rpmbuilld -bi: build through install (prep, build, then install) from <specfile>?

Ik durf het bijna niet te vragen maar hoe uninstall ik de source die ik heb geinstalleerd. Als ik naar de dir ga waar ik de source heb opgeslagen en intype: make uninstall, dan krijg ik te horen:
make: *** No rule to make target 'uninstall'. Stop.

[ Voor 13% gewijzigd door Verwijderd op 21-12-2004 14:32 ]


  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 14-02 18:04
Verwijderd schreef op dinsdag 21 december 2004 @ 14:17:

Ik durf het bijna niet te vragen maar hoe uninstall ik de source die ik heb geinstalleerd. Als ik naar de dir ga waar ik de source heb opgeslagen en intype: make uninstall, dan krijg ik te horen:
make: *** No rule to make target 'uninstall'. Stop.
:P dat is nou juist de reden waarom je beter een RPM package kan gebruiken. een automatische uninstaller voor source packages ben ik nog niet tegengekomen. Je zal dus erachter moeten komen welke files er in welke directory's geplaatst zijn en ze vervolgens handmatig verwijderen.

[ Voor 6% gewijzigd door twiekert op 21-12-2004 16:01 ]


Verwijderd

Topicstarter
twiekert schreef op dinsdag 21 december 2004 @ 16:01:
[...]


:P dat is nou juist de reden waarom je beter een RPM package kan gebruiken. een automatische uninstaller voor source packages ben ik nog niet tegengekomen. Je zal dus erachter moeten komen welke files er in welke directory's geplaatst zijn en ze vervolgens handmatig verwijderen.
Ik heb mijn lesje wel geleerd. Wat een rotwerkje op zo goed mogelijk alle bestandjes op te sporen. Ik heb geprobeerd om het met rpmbuild -tb bestandsnaam te doen. Ik kreeg een helehoop output. Vervolgens stopte die er mee. Maar volgens mij heeft hij gewoon niets gedaan.
Hoe ik gewoon van source een rpm file kan maken (zonder deze gelijk te laten installeren) en deze vervolgens handmatig kan installeren ga ik morgen uitzoeken. Iedereen alvast truste.
Pagina: 1