Compilazione pacchetto offload HomeBrew

0

Il mio povero vecchio MacBook in alluminio del 2008 non è l'unico vecchio kit che ho in esecuzione pacchetti homebrew, apprezzo molto la possibilità di avere un gestore di pacchetti in Mac OS, almeno mentre mi dirigo verso Linux. Tuttavia, anche il mio iMac 2014 ha un certo peso nella gestione dei pacchetti di Homebrew. È lento anche se molto automatizzato, vorrei accelerare un po 'i miei computer più vecchi.

C'è un modo, che il codice sorgente per pacchetti come youtube-dl, aircrack-ng o la maggior parte dei pacchetti non in bottiglia possa essere precompilato e installato come file binario per Mac OS / OS X? O per lo meno, qualcosa di simile a un file .deb (come una bottiglia), in cui il codice sorgente è stato compilato e viene lasciato al sistema per decomprimere in modo appropriato e copiare file e librerie nelle posizioni appropriate? Grazie!

    
posta Tmanok 24.12.2018 - 00:43
fonte

1 risposta

1

Per impostazione predefinita, i pacchetti sono installati nel modo in cui descrivi ... "Bottles" sono binari precompilati scaricati come archivi di nastro compressi, i cui contenuti sono poi "versati" nei percorsi appropriati.

Se specifichi le opzioni, o usi flag di compilazione personalizzati, allora brew creerà naturalmente dal sorgente. Ma se per esempio, brew install nmap htop bmon , scaricherà il flacone per la tua versione di sistema e lo riverserà insieme a qualsiasi dipendenza mancante.

Detto questo, ci sono sicuramente situazioni in cui brew viene compilato dalla fonte, quindi per cercare di rispondere alla tua domanda, quanto spesso ti sembra che questo sia un problema?

Non c'è modo di configurarlo in modo che la preparazione venga compilata su una macchina diversa "automagicamente" (cioè, a meno che non la implementi come una funzione e la implementi nell'installazione di brew). Puoi immaginare come potrebbe essere difficile; differenze di architettura a parte, conflitti / dipendenze che devono essere risolti, le differenze di ambiente, ecc. renderebbero questo un incubo.

Se questo è più di un fastidio occasionale di un problema normale, ciò che potresti voler provare è installare la formula che desideri sulla macchina più veloce con --build-bottle . Quindi puoi "imbottigliare" il pacchetto da solo eseguendo brew bottle per l'installazione sul computer più lento.

Non posso consigliarlo con un certo livello di sicurezza, dal momento che non so quanto possa funzionare per tutte le formule. Dovresti trovarti sullo stesso OS / architettura, ei binari saranno compilati per la CPU con il minimo comune denominatore (a meno che tu non specifichi quale) in modo che la build possa peggiorare, a seconda delle funzionalità che è stata progettata per l'uso.

Se la differenza nel tempo di compilazione è così grande che questa sembra una strada percorribile, le due macchine potrebbero non essere nemmeno compatibili (non ricordo che cosa fosse il MacBook del 2008, core 2?) e cross-compilare all'interno brew sarebbe un intero mal di testa tutto da solo, si potrebbe stare meglio solo non usando un gestore di pacchetti e compilando / configurando il software da soli.

    
risposta data 24.12.2018 - 02:11
fonte

Leggi altre domande sui tag