0 votos

G++ falla después de la actualización de 13.4 -> 13.6.1

Actualicé de la versión 13.4 a la 13.6.1 y reinstalé Xcode. He instalado gcc (que creo que incluye g++) usando Homebrew, y me he asegurado de que mi instalación de Homebrew esté actualizada. Cuando ejecuto g++ foo.cpp, que solía compilar y enlazar correctamente, ahora obtengo

ld: warning: ignoring duplicate libraries: '-lgcc'
0  0x1023ef648  __assert_rtn + 72
1  0x102323fac  ld::AtomPlacement::findAtom(unsigned char, unsigned long long, ld::AtomPlacement::AtomLoc const*&, long long&) const + 1204
2  0x102339924  ld::InputFiles::SliceParser::parseObjectFile(mach_o::Header const*) const + 15164
3  0x102346e30  ld::InputFiles::parseAllFiles(void (ld::AtomFile const*) block_pointer)::$_7::operator()(unsigned long, ld::FileInfo const&) const + 420
4  0x196db0440  _dispatch_client_callout2 + 20
5  0x196dc3f1c  _dispatch_apply_invoke + 224
6  0x196db0400  _dispatch_client_callout + 20
7  0x196dc1fb8  _dispatch_root_queue_drain + 684
8  0x196dc26c0  _dispatch_worker_thread2 + 164
9  0x196f5c038  _pthread_wqthread + 228
ld: Assertion failed: (resultIndex < sectData.atoms.size()), function findAtom, file Relocations.cpp, line 1336.
collect2: error: ld returned 1 exit status

No tengo ni idea de lo que está pasando y tampoco tengo idea de cómo solucionarlo.

0voto

Somujit Puntos 31

Resulta que hay un hilo sobre este problema en https://developer.apple.com/forums/thread/737707?answerId=765203022#765203022.

Es o bien un error en el enlazador recientemente implementado para Xcode 15, o un error en la salida de Apple Silicon de g++ combinado con una implementación del enlazador que se bloquea en lugar de devolver algún tipo de error.

La solución que me funcionó fue g++ foo.cpp -Xlinker -ld_classic (o g++ foo.cpp -Xlinker -ld64).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X