Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

577
Vistas
No se encontró la versión de GLIBC al ejecutar AppImage en una distribución diferente

Actualmente estoy trabajando en una aplicación que me gustaría publicar en muchas distribuciones. Hasta ahora, he realizado todas mis pruebas en una distribución a la vez (compilar y ejecutar en la misma distribución). Pero cuando tomo la AppImage generada de la compilación en mi computadora principal (Arch Linux) y trato de ejecutarla en una máquina virtual (Ubuntu 20.04), aparece el siguiente error:

gabriel@gabriel-VirtualBox:~/Downloads$ ./Neptune.Installer-x86_64.AppImage ./Neptune.Installer-x86_64.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./Neptune.Installer-x86_64.AppImage)

¿Qué posibles soluciones hay para esto? Consideré vincular estáticamente la biblioteca, pero no estoy seguro de si eso podría causar problemas de licencia, ya que mi programa no es de código abierto. Aparte de eso, podría considerar simplemente compilar mi programa en una distribución muy antigua como Ubuntu 12 o algo así, pero no sabré qué tan bien se trasladará a otras distribuciones (por ejemplo, ¿seguirá funcionando mi programa en una versión anterior? de Fedora?)

Esta puede ser una pregunta complicada, pero solo quiero saber cuál es la mejor manera de resolver este problema. ¿Cambiar bibliotecas? ¿Enlace estático? ¿Compilar en distribuciones antiguas? Déjame saber lo que piensas.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

He considerado vincular estáticamente la biblioteca, pero no estoy seguro de si eso podría causar problemas de licencia.

Sí.

distribución muy antigua como Ubuntu 12 o algo así, pero no sabré qué tan bien se transfiere a otras distribuciones

No lo hace (alpine linux). Si compila software, debe ejecutarlo con el conjunto de bibliotecas con el que lo compiló. Incluso si compila en "distribuciones muy antiguas", puede haber cambios.

publicar en muchas distribuciones

Elija la lista de distribuciones y versiones de estas distribuciones que desea admitir. Indique a los usuarios que admitirá estas versiones de distribución. ( https://partner.steamgames.com/doc/store/application/platforms -> Steam only officially supports Ubuntu running Ubuntu 12.04 LTS or newer.. ).

Compile contra cada combinación de distribución+versión por separado y distribuya su software por separado para cada versión de distribución. Para comodidad de los usuarios, cree y comparta repositorios de paquetes para un administrador de paquetes de distribución específico con su software. En https://www.zabbix.com/download solo hay tantas combinaciones para elegir. Interésese en CI/CD en entornos virtualizados docker. Me gusta gitlab.

O, alternativamente, distribuya su aplicación con todas las bibliotecas compartidas dependientes. Agrupe todo junto con el sistema operativo y distribúyalo en forma de una imagen acoplable o una imagen virtual qemu/virtualbox. O distribuya con solo archivos de bibliotecas compartidas con un contenedor alrededor LD_PRELOAD . Al igual que lo hace el vapor. Instale Steam en su sistema y vea qué sucede en ~/.steam/steam/ubuntu12_64 .

Y contrate una capa para resolver los problemas de licencias.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda