Hoe om `n tipiese linux-projek te bou
As jy Linux gebruik, maak dit baie sin om verskeie gratis en open source sagteware te laai en te gebruik. Terwyl u gereeld kan aflaai en installeer verskeie RPM`s, is daar baie projekte wat nie gebruikersvriendelike installeerders verskaf nie. Sommige projekte het selfs nie die eksplisiete vrystellings nie. Van die ander kant kan die bou van die bron `n program produseer wat baie beter geoptimaliseer is vir u verwerker en bedryfstelsel. Sekerlik, jy moet ook `n gratis / oopbronprojek kan bou as jy dit genoeg wil bemeester om later as ontwikkelaar aan te sluit. Hierdie artikel verduidelik hoe om `n tipiese, korrekte bestuurde Linux-projek uit die bronkode te bou.
Stappe
1. As die projek geen eksplisiete vrystellings het nie, moet u dalk die bronkode direk vanaf sy CVS- of SVN-repository trek. Die webwerwe van die meeste sulke projekte sal die ooreenstemmende opdraglyn hê wat u slegs by u stelsel moet kopieer? CVS -Z3 -D: PSERVER: Anonymous @ CVS.savanne.gnu.ORG: / Bronne / ClassPath Co ClassPath. Die soortgelyke opdrag laai gewoonlik `n groot aantal projeklêers in `n huidige vouer.

2. Kyk na die lêers README en installeer wat in die boonste gids in die afgelaaide projek moet wees. Hulle mag waardevolle inligting bevat wat u baie tyd sal bespaar.

3. Sommige projekte verskaf die bouskrif as `n Shell-script (gewoonlik genoem bou.skaal). Dit is nie baie gereeld nie, maar gebeur vir baie ou projekte en ook vir nuwe projekte wat probeer om `n "gebruikersvriendelik" Bouprosedure. As u sulke lêer vind, probeer om dit eers te gebruik (die installasie kan in `n aparte skrif geplaas word wat gewoonlik genoem word installeer.skaal). As jy hierdie skrifte vind, hardloop hulle net. Andersins, gaan voort na die volgende stappe.

4. Soek vir die lêer genaamd instel wat ook in `n projek top gids moet wees. Dit is gewoonlik `n .sh script wat die projek bou stelsel op jou masjien sal afstel. As jy dit vind, tik ./ Konfigureer of skend om hierdie skrif te bestuur. ./ Konfigurasie het gewoonlik baie opsies wat kan help as die "gebrek" Begin misluk met foutboodskappe. Begin die skrif met die sleutel --help Om die opsies te sien. As daar geen is nie instel script, dit kan `n ou-styl projek wees wat slegs gebruik maak van lêers, sodat jy direk na die volgende stap kan voortgaan.
5. Soek vir die lêer genaamd makefile wat aanvanklik teenwoordig kan wees of verskyn nadat jy hardloop instel. As jy dit vind, tik die opdrag maak. Dit moet die maak lêer in die huidige gids vind en die projek vir jou bou.
6. As daar geen is nie instel ook nie makefile In die projekboom kan dit `n mier - aangedrewe projek met die bou.xml Lêer in plaas daarvan. In hierdie geval, tik mier In die projek se wortelmap. Terwyl maak is meer gewild vir C en C ++ projekte, mier is gewild vir Java-projekte.

7. As mier ook nie werk nie, of die projek is C of C ++, probeer hardloop ./ Autogen.SH om die instel en makefile lêers. Dit gebruik Autoconf, Automafe en Libtool om hierdie lêers te skep.

8. Nadat u daarin geslaag het om die makefile-gebaseerde projek op te stel, probeer maak installeer Om die projeklêers in toepaslike plekke te plaas (om die projek te installeer). Die verstek plekke soos / usr / lib of / usr / bin is gewoonlik net wortelwetbaar, so hierdie stap benodig gewoonlik administrateur regte.
9. Nadat die installasie daarin slaag, probeer om die kort projeknaam te tik. Dit roep gewoonlik die nuut saamgestelde en geïnstalleerde program aan wat nou gereed is om te gebruik.
Wenke
As die bou misluk, plak die foutboodskap in Google of ander web soekenjin. U sal gereeld die beskrywing van dieselfde probleem vind, tesame met verduideliking, hoe om dit op te los.
Die gereelde rede is die afwesigheid of die verkeerde weergawe van `n vereiste biblioteek. In hierdie geval is alles wat jy nodig het om hierdie biblioteek te vind en te bou wat gewoonlik `n soortgelyke projek op sy eie is.
As jy nog nie kan verstaan wat verkeerd gaan nie, probeer om jou bougereedskap en die bestaande C / C ++ / Java of ander biblioteke op te dateer (afhangende van watter programmeringstale in die projek gebruik word). Dit is gewoonlik maklik om gereedskap en biblioteke op te dateer deur die stelselprogrammatuur opdatering te gebruik.
Nadat jy die vroeëre stappe probeer het (maar nadat, Nie voorheen nie), stuur `n vraag na die projek poslys. Vertel alles wat jy dink kan relevant wees oor jou bedryfstelsel, beskryf die probleem in besonderhede en sluit alle foutboodskappe in. Hackers moet verstaan dat jy genoeg van jou kant gedoen het en regtig hulp verdien het.
As jy daarin geslaag het om `n program van die bron te bou, maak hiervan gebruik. Probeer om te verstaan hoe werk die program en verbeter dit!
Soms stel programme nie saam met die nuutste samesteller weergawes nie. In hierdie geval kan u `n ouer weergawe gebruik, of `n binêre pakket van die internet of `n vriend kry.
Een algemene slagval vir iemand wat op Linux-omgewing spring, sal die bronvouers van Windows kopieer. In hierdie geval kan maak kan vreemde foute gee as gevolg van verskil in lyne eindig. Probeer altyd die bron wat vanaf die onderskeie webwerf afgelaai is vir die spesifieke bedryfstelsel.
Waarskuwings
Probeer altyd om die probleem self op te los, die web te soek vir `n oplossing en kyk na die poslysargief voordat u enige vrae aan die poslys vra. Andersins kan jy iets kry Rtfm In reaksie wat is nogal frustrerend en nie baie behulpsaam nie.
As die projek amptelike vrystellings het, probeer om dit te gebruik voordat hulle die bronkode van repository trek. Die repository weergawe kan onlangs ingestelde foute bevat en baie onstabiel wees.
Van die ander kant af, indien die amptelike vrystelling probleem het, kan hierdie probleem reeds op die CVS / SVN vasgestel word en in so `n geval kan dit die moeite werd wees om die nuutste weergawe te probeer.
Sommige projekte kan baie moeilik wees om te bou as u bedryfstelsel oud is en baie biblioteke is verouderd. In so `n geval om te migreer na `n ander Linux-verspreiding wat onder aktiewe ontwikkeling is en die meer onlangse weergawes van hierdie biblioteke moet hê.
Deel op sosiale netwerke: