Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

157
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!