Compilación del paquete de descarga de Homebrew -- macos campo con install campo con homebrew campo con binary camp apple Relacionados El problema

HomeBrew offloading package compilation


1
vote

problema

Español

Mi pobre Old 2008 Aluminio MacBook no es la única pieza vieja del kit que tengo en los paquetes de Homebrew, realmente aprecio la capacidad de tener un administrador de paquetes en Mac OS, al menos mientras me dirijo a Linux. Sin embargo, incluso mi IMAC de 2014 está sintiendo algo de peso de la gestión de paquetes de Homebrew. Es lento, aunque muy automatizado, me gustaría acelerar las cosas un poco en mis computadoras más antiguas.

¿Hay alguna manera, que el código fuente para paquetes como YouTube-DL, AIRCRACK-NG, o los paquetes de la mayoría de los paquetes no embotellados podrían preceptos e instalados como un archivo binario para Mac OS / OS X? O al menos, algo similar a un archivo .deb (como una botella), donde se ha compilado el código fuente y queda al sistema para descomprimir y copiar adecuadamente los archivos y las bibliotecas a sus ubicaciones apropiadas? ¡Gracias!

Original en ingles

My poor old 2008 aluminium MacBook isn't the only old piece of kit I have running homebrew packages, I really appreciate the ability to have a package manager in Mac OS, at least while I make my way to linux. However, even my 2014 iMac is feeling some weight from Homebrew package management. It's slow although very automated, I would like to speed things up a little on my older computers.

Is there any way, that the source code for packages like youtube-dl, aircrack-ng, or most non-bottled packages could be pre-compiled and installed as a binary file for Mac OS / OS X? Or at the very least, something similar to a .deb file (like a bottle), where the source code has been compiled and it's left to the system to appropriately decompress and copy files and libraries to their appropriate locations? Thanks!

           

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

De forma predeterminada, los paquetes se instalan en la forma en que describe ... "Botellas" son binarios precompilados descargados como archivos de cinta comprimidos, cuyos contenidos se "vertieron" en las rutas apropiadas.

Si especifica opciones, o use las banderas de compilación personalizadas, naturalmente BREW se construirá desde Fuente. Pero si, por ejemplo, ABCDEFGHIJKLMNABCDEFGHIJKLMN0 , descargará la botella para la versión de su sistema y lo vertió junto con cualquier dependencia faltante.

Dicho esto, definitivamente hay situaciones en las que la preparación se compila desde la fuente, por lo que para tratar de responder a su pregunta, ¿con qué frecuencia se encuentra este problema?

No hay forma de configurarlo para que la cerveza se compile en una máquina diferente "automágicamente" (es decir, a menos que implemente esto como una característica e implemente en su instalación de BREW). Puedes imaginarte cómo esto podría ser difícil; Diferencias de arquitectura a un lado, conflictos / dependencias que necesitan ser resueltos, las diferencias en el medio ambiente, etc. harían esto una pesadilla.

Si esto es más una molestia ocasional que un problema regular, lo que quiere probar es instalar cualquier fórmula que desee en la máquina más rápida con --build-bottle . Luego, puede "botella" el paquete usted mismo ejecutando brew bottle para instalar en la máquina más lenta.

No puedo recomendar esto con cualquier nivel de confianza, ya que no sé qué tan bien funcionaría para todas las fórmulas. Debería estar en el mismo sistema operativo / arquitectura, y los binarios se compilarán para la CPU del denominador común más bajo (a menos que especifique cuál) es así, la construcción podría funcionar, dependiendo de qué características se diseñó para usar.

Si la diferencia en el tiempo de compilación es tan grande que esto parece una ruta viable, las dos máquinas podrían ni siquiera ser compatibles (¡no recuerdo lo que era el MacBook 2008, Core 2?), Y la compilación cruzada dentro de Brew sería un dolor de cabeza completamente separado por sí solo, es posible que esté mejor simplemente no usar un administrador de paquetes en absoluto y compilando / configurando el software usted mismo.

 

By default, packages are installed in the way you describe... "Bottles" are precompiled binaries downloaded as compressed tape archives, the contents of which are then "poured" into the appropriate paths.

If you specify options, or use custom compile flags, then naturally brew will build from source. But if you for example, brew install nmap htop bmon, it will download the bottle for your system version and pour it along with any missing dependencies.

That being said, there are definitely situations where brew compiles from source, so to try to answer your question, how often is it that you find this a problem?

There's no way to set it up so that brew compiles on a different machine "automagically" (that is, unless you implement this as a feature and implement it into your installation of brew). You can imagine how this could be difficult; architecture differences aside, conflicts/dependencies needing to be resolved, the differences in environment, etc. would make this a nightmare.

If this is more of an occasional annoyance than a regular problem, what you might want to try is install whatever formula you want on the faster machine with --build-bottle. Then you can "bottle" the package yourself by running brew bottle to install on the slower machine.

I can't recommend this with any level of confidence though, since I don't know how well it would work for all formulae. You would need to be on the same OS/architecture, and the binaries will be compiled for the lowest common denominator CPU (unless you specify which one) so the build might perform worse, depending on which features it was designed to use.

If the difference in compilation time is so large that this seems like a viable route, the two machines might not even be compatible (I don't remember what the 2008 MacBook was, core 2?), and cross-compiling within brew would be a whole separate headache all on its own, you might be better off just not using a package manager at all and compiling/configuring the software yourself.

 
 
         
         

Relacionados problema

1  Eliminar automáticamente los iconos del muelle no consistentes en la montaña león  ( Automatically removing dock icons not consistent in mountain lion ) 
Sé que cada vez que agregamos un icono al Dock, se agrega a ABCDEFGHIJKLMNABCDEFGHIJKLMNABCDEFGHIJKLMN4 Archivo. Entonces, cuando quería eliminar un icono d...

2  Evitar que la pantalla se apague con ciertas aplicaciones  ( Prevent display from turning off with certain applications ) 
Tengo un MacBook Pro, y durante las presentaciones de medios, mi pantalla se apaga automáticamente de acuerdo con la aplicación Configuración (que por supuest...

2  ¿Cómo editas la lista de Favoritos en Lion Finder?  ( How do you edit the favorites list on lion finder ) 
arrastrar dentro y fuera, no parece estar trabajando para mí, pero puedo ver los que arrastré allí antes de actualizar: ...

3  ¿Cómo puedo asegurar que solo las aplicaciones "blancas" se ejecuten en OS X?  ( How can i ensure only whitelisted applications run on os x ) 
Hay una técnica de seguridad llamada lista blanca (disponible en Windows 7) que garantiza que solo se ejecuten aplicaciones y procesos específicos. Esto es ...

587  Por favor, comparta sus características o consejos y trucos ocultos de MacOS  ( Please share your hidden macos features or tips and tricks ) 
¿Conoce alguna oculta o poco conocido bonita característica de macos (Née Mac OS X)? No importa lo que sea, tal vez solo un comando de terminal corto o ...

1  Mac App Enterprise Distribution fuera de AppStore con MAPKIT  ( Mac app enterprise distribution outside appstore with mapkit ) 
O bien estoy siendo estúpido (probablemente verdadero) o existe una documentación para abordar la pregunta: ¿Cómo puedo distribuir una aplicación MAC Enterp...

5  ¿Por qué "echo" '"en / etc / bashrc causa scp para colgar?  ( Why does echo in etc bashrc cause scp to hang ) 
Estoy copiando directorios de una máquina de leopardo de nieve a una máquina de tigre usando scp -r y por alguna razón, parece que la línea final del objeti...

4  ¿Cuánto espacio libre en disco necesito para instalar león, y cuánto perderé al actualizar?  ( How much free disk space do i need to install lion and how much will i lose by ) 
Mi disco duro está empezando a inclinarse un poco, con solo 30 GB disponibles. Estoy sobre la descarga del león y me gustaría saber si necesitaré liberar un e...

1  Atajo de teclado para el centro de notificación no funciona  ( Keyboard shortcut for notification center not working ) 
El acceso directo del teclado "Mostrar centro de notificación" Puede configurar debajo de las preferencias del sistema de EM> y GT; Teclado - & gt; Control de...

5  ¿Cómo puedo detener el control de la misión que reorganice las ventanas cuando arrastre una ventana y presione CTRL + NUMBRE?  ( How can i stop mission control rearranging windows when i drag a window and pres ) 
Tengo una configuración con 4 escritorios / espacios. Cuando haga clic en Ctrl + 2 el enfoque se mueve a ese escritorio. Cuando quiero mover una aplicació...

3  ¿Ha desaparecido el cuadro de diálogo de copia de archivos en OS X Yosemite?  ( Has file copy dialog disappeared in os x yosemite ) 
Recientemente actualizé a OS X Yosemite, y noté que el cuadro de diálogo de copia de archivos en el buscador parece haber desaparecido. En su lugar, me muestr...

1  OS X LEON: ¿Cómo deshabilitar RPC?  ( Os x lion how to disable rpc ) 
Las llamadas remotas de procedimientos se consideran un riesgo de seguridad. ¿Hay alguna manera de deshabilitar RPCS en OS X para hacer que mi Mac sea más s...

28  ¿Hay alguna forma de proteger la contraseña aplicaciones individuales?  ( Is there a way to password protect individual apps ) 
¿Es posible proteger contraseña una aplicación MAC específica? Por ejemplo, estoy interesado en proteger el correo porque incluso si no puede recuperar nuev...

12  ¿Cómo agregar algunos dominios de búsqueda DNS adicionales sin ignorar los DHCP?  ( How to add some additional dns search domains without ignoring the dhcp ones ) 
¡Solo quiero agregar mi propia lista de dominios de búsqueda, pero sin anular los que devuelven el DHCP? Como cualquiera me imagino que ya intenté agregarlo...

2  Agentes de lanzamiento que no están en la puesta en marcha del sistema  ( Launch agents not lauching at system startup ) 
Tengo varios archivos de plist en la carpeta ~/Library/LaunchAgents . Todos tienen los mismos permisos, pero dos de ellos ( dotjs y pow ) no se lanzan en e...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos