Hoe een typisch linux-project te bouwen
Als u Linux gebruikt, is het veel zin om verschillende gratis en open source-software te downloaden en te gebruiken. Hoewel u vaak in staat bent om verschillende RPMS te downloaden en te installeren, zijn er veel projecten die geen gebruiksvriendelijke installateurs bieden. Sommige projecten hebben zelfs niet de expliciete releases. Vanaf de andere kant kan het gebouw uit de bron een toepassing produceren die veel beter is geoptimaliseerd voor uw processor en besturingssysteem. Zeker, je moet ook in staat zijn om een gratis / open source-project te bouwen als je het genoeg wilt beheersen om mee te doen als ontwikkelaar later. Dit artikel wordt uitgelegd hoe u een typisch, correct beheerde Linux-project uit de broncode kunt bouwen.
Stappen
1. Als het project geen expliciete releases heeft, moet u mogelijk de broncode rechtstreeks van de CVS- of SVN-repository trekken. De websites van de meeste van dergelijke projecten hebben de bijbehorende opdrachtregel die u alleen naar uw systeem hoeft te kopiëren, bijvoorbeeld CVS -Z3 -D: Pserver: Anonymous @ CVS.savanne.gnu.Org: / Bronnen / ClassPath Co ClassPath. Het vergelijkbare commando downloadt meestal een groot aantal projectbestanden in een huidige map.

2. Kijk in de bestanden README en installeer die in de bovenste map in het gedownloade project moet staan. Ze kunnen waardevolle informatie bevatten die u veel tijd bespaart.

3. Sommige projecten bieden het build-script als een shell-script (meestal genoemd bouwen.schel). Dit is niet erg frequent, maar gebeurt voor zeer oude projecten en ook voor nieuwe projecten die proberen een "gebruikersvriendelijk" Bouwprocedure. Als u een dergelijk bestand vindt, probeert u deze eerst te gebruiken (de installatie kan in een afzonderlijk script worden geplaatst dat gewoonlijk wordt genoemd installeren.schel). Als je deze scripts vindt, voer je ze gewoon uit. Ga anders naar de volgende stappen.

4. Zoeken naar het gewenste bestand configureren die ook aanwezig moet zijn in een topmap. Het is meestal een .SH-script die het project build systeem op uw machine afstemt. Als je het vindt, typt u ./ Configureren of SH-configureren om dit script uit te voeren. ./ Configureren heeft meestal veel opties die kunnen helpen als het "standaard" rennen mislukt met foutmeldingen. Voer het script uit met de sleutel --helpen Om de opties te zien. Als er geen configureren Script, het kan een oud-stijlproject zijn dat alleen gebruik maakt van bestanden, zodat u rechtstreeks naar de volgende stap kunt gaan.
5. Zoeken naar het gewenste bestand makefile die aanvankelijk aanwezig kan zijn of verschijnen nadat u hebt uitgevoerd configureren. Als u het vindt, typt u de opdracht maken. Het moet het make-bestand in de huidige map vinden en het project voor u bouwen.
6. Als er geen configureren noch makefile In de projectboom kan het een mier - Powered Project met de bouwen.XML bestand in plaats daarvan. Type in dit geval mier In de map Project Root. Terwijl maken is populairder voor C- en C ++ -projecten, mier is populair voor Java-projecten.

7. Als mier ook niet werkt, of het project is C of C ++, probeer dan hardlopen ./ autogen.SH om de configureren en makefile bestanden. Dit maakt gebruik van Autoconf, Automake en Libtool om deze bestanden te maken.

8. Nadat u het geslaagd bent om het MAKEFILE-gebaseerde project te compileren, probeer dan installeren Om de projectbestanden op de juiste locaties te plaatsen (om het project te installeren). De standaardlocaties zoals / usr / lib of / usr / bin zijn meestal alleen root-beschrijfbaar, dus deze stap heeft meestal beheerdersrechten nodig.
9. Nadat de installatie slaagt, probeert u de korte projectnaam te typen. Dit roept meestal het nieuw gecompileerde en geïnstalleerde programma op dat nu klaar voor gebruik is.
Tips
Als de build faalt, plak u het foutbericht in Google of andere webzoekmachine. Je vindt regelmatig de beschrijving van hetzelfde probleem samen met uitleg, hoe het op te lossen.
De frequente reden is de afwezigheid of de verkeerde versie van een bepaalde vereiste bibliotheek. In dit geval is alles wat je nodig hebt om deze bibliotheek te vinden en te bouwen, wat meestal een soortgelijk project is.
Als je het nog steeds niet kunt begrijpen, probeer dan je build-tools en de bestaande C / C ++ / Java of andere bibliotheken bij te werken (afhankelijk van welke programmeertalen worden gebruikt in het project). Het is meestal eenvoudig om gereedschappen en bibliotheken bij te werken met behulp van de updater System Software.
Nadat u de eerdere stappen hebt geprobeerd (maar na, Niet eerder), stuur een vraag naar de projectmailinglijst. Vertel alles wat u denkt dat mogelijk relevant is van uw besturingssysteem, het probleem in details beschrijven en alle foutmeldingen opnemen. Hackers moeten begrijpen dat je genoeg van je hebt gedaan en echt hulp verdient.
Als u erin geslaagd bent om een programma uit de bron te bouwen, maakt u hier gebruik van. Probeer te begrijpen hoe het programma werkt en het verbeteren!
Soms compileren programma`s niet met de nieuwste compilerversies. In dit geval kunt u een oudere versie gebruiken of een binair pakket krijgen van internet of een vriend.
Eén gangbare valkuil voor iemand die op Linux-omgeving springt, wordt de bronmappen van Windows kopiëren. In dit geval kan Make rare fouten geven vanwege het verschil in lijnuiteinden. Probeer altijd de bron te gebruiken die is gedownload van de betreffende website voor het specifieke besturingssysteem.
Waarschuwingen
Probeer altijd het probleem zelf op te lossen, zoek op het web voor een oplossing en controleer het archief van de mailinglijst voordat u een vraag stelt aan de mailinglijst. Anders krijg je misschien iets als Rtfm in reactie die nogal frustrerend en niet erg behulpzaam is.
Als het project officiële releases heeft, probeert u ze te gebruiken voordat u de broncode van de repository trekt. De repository-versie kan recentelijk geïntroduceerde bugs bevatten en zeer onstabiel zijn.
Van de andere kant, als de officiële release probleem heeft, kan dit probleem al op de CVS / SVN zijn bevestigd en in dat geval is het de moeite waard om de nieuwste versie te proberen.
Sommige projecten kunnen erg moeilijk zijn om te bouwen als uw besturingssysteem oud is en veel bibliotheken verouderd zijn. Denk er in dat geval na over migreren naar een andere Linux-distributie die onder actieve ontwikkeling is en de meer recente versies van deze bibliotheken moeten hebben.
Deel in het sociale netwerk: