Vraag


Acties:
  • +1 Henk 'm!

  • fluffy1
  • Registratie: September 2012
  • Laatst online: 01-10-2024
Mijn vraag
Dag Allen,

Ik ben recent begonnen met Gentoo te gebruiken.
Hier hoort dus ook het compileren en vaak hercompileren van de kernel bij.
Dat lukt vrij goed, maar laatst was ik vergeten om "make clean" uit te voeren voor ik een nieuwe versie compileerde. Hier viel het me op dat dit de compilatietijd drastisch naar beneden haalde. Uit nieuwsgierigheid heb ik deze kernel proberen te gebruiken en deze werkte vlekkeloos. Ik had hierbij slechts een handvol features aangepast t.o.v. de vorige .config.

Nu is mijn vraag: Moet je eigenlijk helemaal geen "make clean" te doen elke keer voor je gaat compileren? Of heb ik gewoon geluk gehad? Niet dat ik hier een gewoonte van maak en later plots een hoop onverwachte resultaten krijg. :)

Op Google lijkt men nogal verdeeld hierover. De ene zegt altijd "make clean" doen. De andere zegt dat dit helemaal niet nodig is.

Beste antwoord (via fluffy1 op 04-10-2016 17:07)


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 11-09 21:28

CAPSLOCK2000

zie teletekst pagina 888

Dat is een kwestie van theorie vs praktijk.
In theorie is die 'make clean' niet nodig. Als alle Makefiles goed zijn geschreven dan is make slim genoeg om zelf te weten welke files opnieuw moeten worden gecompileerd en welke niet.

In praktijk zijn er gevallen bekend waarin het fout gaat. Die zijn vrij zeldzaam, maar zeker niet onvoorstelbaar.

Meestal is het niet echt nodig om 'make clean' te draaien. Helaas kunnen de problemen die optreden als het fout gaat erg subtiel zijn en moeilijk om te vinden. Daarom raden veel mensen aan om maar altijd 'make clean' te doen, zeker voor gebruikers die slechts incidenteel een kernel compileren. Developers die de hele dag zitten te compileren die hebben veel voordeel bij het overslaan van de 'make clean' stap en die zijn in staat om eventuele problemen te herkennen en te verhelpen.

This post is warranted for the full amount you paid me for it.

Alle reacties


Acties:
  • +1 Henk 'm!

  • Candymirror
  • Registratie: November 2003
  • Laatst online: 11-09 20:20
Het is echt een decenia geleden dat ik voor het laatst een kernel heb gecompiled. Maar voor zover ik mij kan heugen, is het niet strikt noodzakelijk. Zeker niet als je tijdens het compileren op een error veroorzaakt door een ontbrekende dependency stuit of wanneer je extra opties aanzet. Zolang je geen "make clean" doet zijn alle reeds gecomplide objecten nog aanwezig en worden die niet opnieuw gecompileerd. Als je (volgens mij) iets qua instellingen in een object iets wijzigt, en je hebt geen make clean gedaan, wordt deze dus ook niet opnieuw gecompileerd met de nieuwe instellingen. Ps. Het moet ook mogelijk te zijn om enkel de gewijzigde objecten te cleanen

Acties:
  • +1 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Als 't goed is, is dat niet nodig. Make kan uitvogelen wat er wel en niet gehercompileerd moet worden aan de hand van wijzigingen in je config. Dat is wel er van uitgaande dat alle developers dat goed gedaan hebben, maar meestal is dat wel zo. (Ze doen zelf ook niet constant een make clean tenslotte.)

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • fluffy1
  • Registratie: September 2012
  • Laatst online: 01-10-2024
Candymirror schreef op dinsdag 04 oktober 2016 @ 15:44:
Het is echt een decenia geleden dat ik voor het laatst een kernel heb gecompiled. Maar voor zover ik mij kan heugen, is het niet strikt noodzakelijk. Zeker niet als je tijdens het compileren op een error veroorzaakt door een ontbrekende dependency stuit of wanneer je extra opties aanzet. Zolang je geen "make clean" doet zijn alle reeds gecomplide objecten nog aanwezig en worden die niet opnieuw gecompileerd. Als je (volgens mij) iets qua instellingen in een object iets wijzigt, en je hebt geen make clean gedaan, wordt deze dus ook niet opnieuw gecompileerd met de nieuwe instellingen. Ps. Het moet ook mogelijk te zijn om enkel de gewijzigde objecten te cleanen
CyBeR schreef op dinsdag 04 oktober 2016 @ 15:54:
Als 't goed is, is dat niet nodig. Make kan uitvogelen wat er wel en niet gehercompileerd moet worden aan de hand van wijzigingen in je config. Dat is wel er van uitgaande dat alle developers dat goed gedaan hebben, maar meestal is dat wel zo. (Ze doen zelf ook niet constant een make clean tenslotte.)
Cool, dat maakt het een pak vlotter als ik nog eens een USB driver in de kernel moet bij pluggen.
Bedankt! d:)b

[ Voor 42% gewijzigd door fluffy1 op 04-10-2016 16:13 ]


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 11-09 21:28

CAPSLOCK2000

zie teletekst pagina 888

Dat is een kwestie van theorie vs praktijk.
In theorie is die 'make clean' niet nodig. Als alle Makefiles goed zijn geschreven dan is make slim genoeg om zelf te weten welke files opnieuw moeten worden gecompileerd en welke niet.

In praktijk zijn er gevallen bekend waarin het fout gaat. Die zijn vrij zeldzaam, maar zeker niet onvoorstelbaar.

Meestal is het niet echt nodig om 'make clean' te draaien. Helaas kunnen de problemen die optreden als het fout gaat erg subtiel zijn en moeilijk om te vinden. Daarom raden veel mensen aan om maar altijd 'make clean' te doen, zeker voor gebruikers die slechts incidenteel een kernel compileren. Developers die de hele dag zitten te compileren die hebben veel voordeel bij het overslaan van de 'make clean' stap en die zijn in staat om eventuele problemen te herkennen en te verhelpen.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • fluffy1
  • Registratie: September 2012
  • Laatst online: 01-10-2024
CAPSLOCK2000 schreef op dinsdag 04 oktober 2016 @ 16:53:
Dat is een kwestie van theorie vs praktijk.
In theorie is die 'make clean' niet nodig. Als alle Makefiles goed zijn geschreven dan is make slim genoeg om zelf te weten welke files opnieuw moeten worden gecompileerd en welke niet.

In praktijk zijn er gevallen bekend waarin het fout gaat. Die zijn vrij zeldzaam, maar zeker niet onvoorstelbaar.

Meestal is het niet echt nodig om 'make clean' te draaien. Helaas kunnen de problemen die optreden als het fout gaat erg subtiel zijn en moeilijk om te vinden. Daarom raden veel mensen aan om maar altijd 'make clean' te doen, zeker voor gebruikers die slechts incidenteel een kernel compileren. Developers die de hele dag zitten te compileren die hebben veel voordeel bij het overslaan van de 'make clean' stap en die zijn in staat om eventuele problemen te herkennen en te verhelpen.
Ahzo, dat verklaart de tegenstrijdige resultaten bij mijn zoektocht op Google.
Omdat ik nogal nieuw ben loop ik nog vaak tegen wat randapparatuur dat niet werkt omdat ik het ben vergeten te compileren in de kernel, dus ik zit meer te hercompileren dan me lief is op dit moment. :+

In dat geval doe ik even een clean build nadat ik vrij zeker ben dat ik alle features heb die ik nodig heb.
Pagina: 1