Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Kompilering

Hej.

Jag har aldrig riktigt fattat det här med kompilera. Om jag har förstått det rätt spelar det ingen roll vad för arkitektur man använder sig av om man ska kompilera ett program?(alltså en och samma källfil fungerar på alla arkitekturer)

Om man nu tar hem tex en källfil för att det inte finns någon .deb för ett visst program, så packar man ju upp den går in i katalogen och vanligtvis skriver: "./configure" sedan "make" och till sist "sudo make install". Om allt gick vägen med kompileringen, brukar iaf JAG ta bort källfilerna. Hur gör man för att sedan ta bort program som är installerat via en kompilering, eller hur man nu ska uttrycka sig?

God Jul

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

extons bild

I själva install-mappen brukar (ibland) finns info om hur man avinstallerar. Om det inte finns får du helt enkelt ta bort programment manuellt. D v s ta bort den körbara filen i t. ex. /usr/bin och övriga programfiler i t. ex. /usr/share.

LINUX.EXTON.NET

Kristians bild

Det är ett allmänt problem när man installerar från källkod. Det finns inget generellt sätt att avinstallera/uppgradera. Nog kan man sätt prefix-variabler enligt säg /opt/mittnyafinaprogram, lägga in  /opt/mittfinaprogram/bin i PATH och när man inte längre vill ha programmet radera /opt/mittfinaprogram men det blir ändå ganska mycket manuellt meckande.

Ett bättre alternativ är att använda "checkinstall", se http://m.linuxportalen.se/blogs/kristian/2008/08/15/kristian-bygg-ett-pa...

Vad är det förresten för program du vill installera? Kanske finns det trots allt färdiga paket att hämta men från en extern källa du ännu inte känner till?

---------------------------------------

 

krippas bild

Nä det var inget speciellt så...bara vill ha svar på hur saker å ting ligger till....Vad händer när man kör kommandona "./configure", "make", "make install"?

Behöver du en erfaren snickare? Kontakta mig på 0735462046 eller maila larssons.byggtjanst@gmail.com

extons bild

Precis som namnen antyder. D v s installationen/programmet konfigureras, skapas och installeras. Öppna filerna configure och make så får du se hur det hela är uppbyggt.

LINUX.EXTON.NET

laves bild

Programmet stow adresserar detta problem. Jag vet dock inte hur aktuellt det är.

http://savannah.gnu.org/projects/stow

extons bild

Stow-projektet är registrerat år 2001 och fortfarande på BETA-stadiet. Jättebra tanke bakom, men...

LINUX.EXTON.NET

laves bild

Version 2.02 låter inte som beta men vad vet väl jag.

extons bild

Inte jag heller egentligen, men det står så på hemsidan.

LINUX.EXTON.NET

leochingkwakes bild

Om programmet har stöd för det så kan man köra make uninstall.

Det brukar finnas med information om detta i README eller INSTALL om det paket du hämtat ner stödjer detta. Om det gör det så går man till katalogen dit programmet kompilerades. Och så kör man make uninstall. Hittar man inget i textfilerna jag nämnde så kan man ju testa ifall det stöds endå.

Ibland kan man köra make uninstall från den katalog där källkoden finns.

Kristians bild

Jag tycker att det känns som att en försvinnande liten del har stöd för "make uninstall". Ska det fungera så måste man dessutom spara källkodsträdet för alla källkodsinstallerade program tills den dagen man vill avinstallera. Som sagt, något enstaka program kan man bygga och slänga in i en dedikerad mappstruktur eller så kör man med checkinstall - men börjar man bygga program efter program kanske det är bättre att titta efter en distribution som stödjer någon form av "ports" (gentoo och liknande).

---------------------------------------

 

leochingkwakes bild

Jo, det är nog väldigt få paket som stödjer det. Det är ett tag sen jag själv kompilerade saker så jag har inte kollat så mycket på det. När jag körde källkodspaket så tänkte jag aldrig på avinstallering eftersom jag installerade program jag ville ha. Numera så finns alla paket jag behöver i Debians paketförråd.

Checkinstall verkar vara ett bra sätt att hantera saker på. Smile

Det finns förövrigt bättre alternativ än det gamla make som borde användas mer...

Det är därför det finns /usr/local/ för det som du kompilerar själv och inte bygger paket av.

/usr/local/src/ är där du sparar källkoden om du har behov av det.

Checkinstall fungerar inget bra på morderna distar även om den fungerar ibland.

Men allvarligt hur svårt är det att bygga egna paket i olika distar? Inte speciellt om det finns i paketförrådet men annars kan man få offra lite tid men inte överdrivet.

Kompilera själv är hyfsat lätt men det krävs att du har koll på vad olika libbar den länkar emot tillför och om dom är ett måste samt om dom är buildtime eller runtime.