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

158
Vistas
gcc no puede compilar con float después de que el hardware cambió en ubuntu 18.04

gcc7 no puede compilar el tipo flotante después de cambiar el hardware de ubuntu 18.04 (incluye CPU y placa base), incluso si reinstalo gcc7 y compila paquetes esenciales, etc. La compilación cruzada como arm-linux-gnueabihf-gcc también falló. pero clang funciona bien en ese momento.

Antes:

CPU: i7-8700k,

Nombre en clave: Coffee Lake

Placa base: ASUS prime z370A https://www.asus.com/Motherboards-Components/Motherboards/PRIME/PRIME-Z370-A/

Después:

CPU: i7-4770K

Nombre en clave: haswell

Placa base: ASUS Z87-DELUXE https://www.asus.com/SupportOnly/Z87DELUXE/HelpDesk_Manual/

más detalles :

gato ac

 int main() { float a=10000.0; return a/111; }

gcc -c ac

 ac: In function 'main': ac:29:5: internal compiler error: Illegal instruction float a=10000.0; ^~~~~

Intento depurarlo:

 >gcc -O0 -c ac -wrapper gdb,--args GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1 ... Reading symbols from /usr/lib/gcc/x86_64-linux-gnu/7/cc1...(no debugging symbols found)...done. (gdb) r Starting program: /usr/lib/gcc/x86_64-linux-gnu/7/cc1 -quiet -imultiarch x86_64-linux-gnu ac -quiet -dumpbase ac -mtune=generic -march=x86-64 -auxbase a -O0 -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccWQLBBi.s Program received signal SIGILL, Illegal instruction. 0x00007ffff736cd42 in __gmpn_mul_basecase () from /usr/local/lib/libgmp.so.10 (gdb) bt #0 0x00007ffff736cd42 in __gmpn_mul_basecase () from /usr/local/lib/libgmp.so.10 #1 0xffffffffffffff01 in ?? () #2 0x00007fffffffcc70 in ?? () #3 0x00007fffffffcc60 in ?? () #4 0x0000000000000004 in ?? () #5 0x00007ffff736c7a6 in __gmpn_mul_n () from /usr/local/lib/libgmp.so.10 Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Parece que falló con libgmp.so.10, así que reinstalé el paquete libgmp10, pero aún falló con el mismo problema.

Todas las versiones de gcc no funcionan, gcc 7,8,9 y la versión cruzada para mips/powerpc, pero gcc funciona bien si se ejecuta en Docker.

Actualicé el sistema a 20.04.4 ahora mediante la actualización del sistema, todavía no funciona.

Supongo que libgmp detecta un tipo de CPU incorrecto al llamar.

over 4 years ago · Santiago Trujillo
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