Vino para la construcción – winehq wiki litecoin minería hardware wiki

Desafortunadamente, eso por sí mismo probablemente no lo obtendrá todo. Las dependencias para las funciones que desee pueden estar marcadas como opcionales o incluso no estar empaquetadas en el repositorio de su distribución. El vino también está evolucionando como un proyecto y podría cambiar a diferentes bibliotecas entre versiones, algo que entra en juego especialmente si usas una distribución estable con versiones espaciadas.

Glib2 y gstreamer tienen archivos de encabezado diferentes para 32 y 64 bits, por lo que al compilar vino de 32 bits con soporte de gstreamer en un sistema de 64 bits es necesario usar PKG_CONFIG_PATH = / path / to / pkgconfig para apuntar a la ubicación de los archivos de 32 bits cuando se ejecuta ./configure. Sin eso, ./configure encontrará los archivos de desarrollo de 64 bits en lugar de los de 32 bits y deshabilitará el soporte de gstreamer. (vea https://www.Winehq.Org/pipermail/wine-devel/2016-january/111245.Html)

Si falta una biblioteca o un programa que Wine necesite compilar, la secuencia de comandos debería mostrar un mensaje que le indique específicamente qué necesita instalar. Lo ideal sería que una ejecución a través del script de configuración listara todo el software faltante, pero al menos por ahora, el script termina en la primera comprobación que falla. Si persiste durante el ciclo (tedioso, lo sé) de configurar, instalar el software faltante, repita, el script debería finalizar y mostrar un mensaje de éxito.

Por cierto, algunas características del vino (legado, experimental, etc.) no están habilitadas de forma predeterminada, pero las predicciones de litecoin de bitcoin ethereum pueden incorporarse al vino con las bibliotecas adecuadas. En una ejecución exitosa, el script de configuración debe enumerar todas las funciones deshabilitadas y qué bibliotecas pueden habilitarlas. Para incluir esas funciones, simplemente instale las bibliotecas relevantes, luego ejecute el script de configuración una vez más.

Si realmente desea ejecutar Wine después de compilarlo, también necesitará instalar dependencias de tiempo de ejecución. La forma más sencilla de hacer esto para la mayoría de los sistemas es instalar la versión de vino provista por su distro, junto con todas sus dependencias. Por supuesto, si usa una distribución muy antigua, esto podría no funcionar sin forzar una actualización para muchas de las dependencias.

El último paso es puramente a su discreción; Puede ejecutar Wine completamente desde el directorio de compilación sin instalación. Si instala wine a través de make, solo asegúrese de que no tenga una versión de wine ya instalada. Las instalaciones superpuestas no deberían romper su sistema, pero podrían enredar seriamente sus bibliotecas y la administración de paquetes.

Si desea omitir explícitamente una función opcional, incluso si tiene instaladas sus dependencias, el script de configuración tiene muchas opciones (–después de PAQUETE) para deshabilitar ciertas bibliotecas. También hay algunas opciones para forzar la inclusión de bibliotecas que normalmente no están predeterminadas (–with-PACKAGE). Se puede usar una segunda clase de opciones para deshabilitar o habilitar funciones generales en wine (–disable-FEATURE y –enable-FEATURE).

Si planea realizar una compilación cruzada a una arquitectura completamente diferente (no solo vino de 32 bits en un sistema de 64 bits), definitivamente querrá la opción –with-wine-tools =. Cuando lo escriba, simplemente agregue la ruta relativa al subdirectorio de herramientas de una compilación de Wine compilada para su sistema host. A menos que incluya esta opción (o una copia de las herramientas se almacene en la memoria caché donde los scripts de compilación puedan verlas), el script de configuración se cancelará con un error si también pasa una opción de compilación cruzada.

¿Apenas comenzando con la construcción de software en Unix? Es posible que hayas oído hablar de limpiar. Los makefiles de wine también incluyen esta regla, que limpiará automáticamente todos los archivos de objetos intermedios del directorio de compilación. Sin embargo, esos mismos archivos de objetos son cómo Make Make sabe qué pasos puede omitir si cambia el código fuente y lo vuelve a compilar. Entonces, si no quieres recompilar todo el vino desde cero después de cada parche, no alteres los archivos de objetos.

Tal vez usted tenga una de esas unidades de estado sólido (de manera tan radicalmente minera ganadora de ubuntu nvidia), y se está preguntando si compilar en su unidad de estado sólido ayuda en absoluto. Un crucero por internet muestra opiniones variadas. Si ve mejoras, probablemente serán insignificantes y en su mayoría provendrán de tiempos de lectura más rápidos en los archivos de origen (la potencia de procesamiento es el principal cuello de botella para los compiladores). Al mismo tiempo, si bien no es un problema tan importante como solía ser, las unidades de estado sólido son capaces de realizar un número fijo de operaciones de escritura antes de agotarse. Si realmente lo desea, hay formas de hacer que su compilador lea el código fuente del SSD, escriba los archivos de compilación temporales en un directorio en el disco duro (o incluso en la RAM), e incluso mueva el programa finalizado nuevamente al SSD (vea ¿Qué tan geniales son los directorios de compilación separados?

En lugar de buscar un SSD para acelerar los tiempos de compilación, considere instalar ccache si va a compilar desde la fuente repetidamente. Incluso con litecoin vs bitcoin gold make, agrega un almacenamiento en caché más sofisticado que se puede compartir entre directorios. Para una pequeña penalización de tiempo durante su primera compilación, puede reducir significativamente los tiempos de compilación. A menos que esté usando otro envoltorio para su compilador (lo que hace las cosas más complicadas), solo necesita configurar la variable de entorno CC para llamar a su compilador desde ccache, lo que también se puede hacer específicamente para su compilación de vino al llamar al script de configuración. Por ejemplo, si estás usando GCC:

Por lo tanto, compilar en el sistema de destino de 32 bits es bastante fácil, pero ¿qué sucede si está en un sistema de 64 bits o si está apuntando a una arquitectura diferente de su sistema host? Bueno … las cosas se ponen un poco más desordenadas. La idea general es que deberá compilar de forma cruzada el vino para el sistema de destino, y el problema principal es evitar que varias versiones de las mismas bibliotecas entren en conflicto. La versión de cada biblioteca de una biblioteca debe mantenerse separada de las demás. Por suerte, hay varias técnicas para hacer esto.

Si tu primer pensamiento sobre compilación cruzada es algo así como "¿por qué no puedo instalar bibliotecas para otra arquitectura a través de mi administrador de paquetes y luego compilar con esas?" entonces no estás solo Muchas distribuciones de Unix han comenzado a ajustar cómo se instalan los paquetes para permitir precisamente eso, pero hay algunos enfoques diferentes.

También hay una forma más limitada de esta capacidad llamada "multi-lib" que solo distingue abis para una arquitectura única (las bibliotecas i686 en amd64 son quizás las más prominentes). Un enfoque común para multi-lib es tener directorios de biblioteca separados para diferentes versiones (eG / usr / lib32 para las bibliotecas i686 en un sistema amd64), luego pasar los parámetros a un compilador con conocimientos de multi-lib (como GCC o clang) en la compilación hora.

Si bien la mayoría de las distribuciones actualizadas tienen capacidades multi-lib, multi-arch es un trabajo en progreso, y la mayoría de las distribuciones de ios de billetero litecoin fuera de la familia Debian Linux no parecen considerarlo una prioridad. Sin embargo, si su distribución puede manejar su caso específico, multi-lib / multi-arch podría ser la forma más rápida y limpia de compilación cruzada. Busque su distribución en la categoría: distribuciones para más detalles.

Esta técnica (también conocida como virtualización a nivel de sistema operativo) aísla en gran medida las sesiones en diferentes partes del sistema de archivos, al tiempo que conserva los recursos al compartir archivos y procesos en el espacio del kernel. Si bien no pueden contener plataformas completamente diferentes, incluso teóricamente puedes ejecutar diferentes distros en contenedores separados siempre y cuando sean compatibles con el mismo núcleo (aunque esto suele requerir algunos ajustes). Otra ventaja importante de los contenedores es que son relativamente fáciles de configurar y usar, con mucho menos partes móviles que una máquina virtual completa.

Quizás la principal desventaja de los contenedores es que, por lo general, requieren una imagen completamente nueva de espacio de usuario para cada contenedor. Mientras que ltcfeds tenga una computadora típica y un acceso estable a internet de banda ancha, obtener una imagen del sistema no debería plantear un problema. Otro problema con los contenedores que pueden aparecer, especialmente si solo está en una PC o computadora portátil, es la forma en que el host maneja los procesos de bajo nivel. Es posible que se requiera algo de trabajo para configurar cosas como wi-fi, lo que puede ser un verdadero problema si necesita instalar paquetes.

Un chroot (de "cambiar de raíz") es la forma clásica de manejar este problema. De hecho, los contenedores virtuales descritos en la sección anterior son esencialmente formas de chroot evolucionadas. Un chroot utiliza un entorno mínimo pero completo que está aislado dentro de un subárbol del sistema de archivos. Cuando se activa el chroot, comienza una sesión que se encuentra dentro de la parte chroot del sistema de archivos. Con la excepción de montar directorios fuera del chroot o procesos con permisos de raíz, la sesión no puede ver ni acceder al sistema host más amplio.

Los chroots son una especie de bajo nivel, y como la mayoría de las cosas de bajo nivel, puede ser un arma de doble filo … Extremadamente flexible, pero a veces no es la más fácil de usar. Ahí es donde un programa (como schroot) que ayuda a administrar y configurar todos los chroots en su sistema puede ser realmente útil. Además de permitir el acceso chroot como usuario normal y el simple intercambio de litecoin a archivos de configuración de bitcoin binance, schroot une automáticamente ciertos directorios en el entorno host (incluido $ HOME de forma predeterminada … Muy conveniente).

Sin embargo, los chroots tienen un par de desventajas más. En muchos casos, es necesario cargar una imagen importante del sistema en el directorio chroot, por lo que tendrá que adquirir una imagen de distribución como lo haría con un contenedor. Si bien no es un problema importante para la compilación cruzada de códigos de confianza, los chroots tampoco son tan seguros como otros métodos de sandbox.

Siempre que tenga una imagen de su plataforma de destino, con todas las herramientas de construcción y bibliotecas, debería poder compilar vino dentro de su máquina virtual favorita. Puede controlar muchas máquinas virtuales en un nivel superior a los contenedores o chroots, además, esta ruta también lo deja con una instancia del entorno de destino para probar, incluso si es una plataforma totalmente diferente de su sistema host.

Sin embargo, tenga en cuenta que la virtualización puede ser imperfecta e introducir nuevos errores. Sin embargo, si nada interfiere en el proceso de compilación, el principal inconveniente de una máquina virtual será la penalización del rendimiento durante la compilación (y la ejecución si prueba el vino dentro de la máquina virtual). También deberá tener en cuenta los inconvenientes de obtener una imagen de la distribución que desee.

En teoría, la opción –with-wine64 debería funcionar sola diciendo a make que use las herramientas precompiladas de la compilación de 64 bits. Sin embargo, una de las herramientas necesarias es un script llamado makedep, que cuando se construye con vino de 64 bits, necesita acceder a las bibliotecas amd64 en el sistema. Pero para tener las bibliotecas de 32 bits en el chroot para una compilación i386, estas deben estar fuera del chroot. La primera versión de Wine de 32 bits permite que la segunda versión aún se refiera a la de 64 bits, mientras que reemplaza el uso (fallido) de las herramientas de 64 bits.

Si está interesado en ayudar con el envasado de vino, el empaquetador actual para su distribución probablemente tenga mucha información útil más allá de lo que puede encontrar aquí en el sentido ascendente. Muchas de las principales distribuciones también han desarrollado sus propias herramientas de empaquetado para agilizar el proceso y garantizar la calidad del código. Ver categoría: distribuciones para verificar si la wiki tiene más información de comparación de hardware de minería gpu litecoin para su distro.

El método más directo es seguir las instrucciones anteriores para una compilación wow64 compartida; esto debería cargar los archivos de 32 bits requeridos en la compilación de 64 bits. Si por alguna razón no puede hacer la compilación compartida, aún debería poder compilar vino de 32 bits y de 64 bits por separado, luego copiar los archivos necesarios del directorio de compilación de 32 bits. Vea la página de empaque para una lista exacta.

banner