Se produjo un error en el manejo del error "dyld: flojo símbolo: no se encontró el símbolo" cuando nm no encuentra el símbolo
Tengo un binario de Intel gordo (32 y 64 bits) llamadomyBinary
que no se ejecuta en otra estación de trabajo con Mac OS X 10.8.2:
$ myBinary
dyld: lazy symbol binding failed: Symbol not found: __ZNSt8__detail15_List_node_base7_M_hookEPS0_
Referenced from: /usr/local/bin/myBinary
Expected in: /usr/lib/libstdc++.6.dylib
dyld: Symbol not found: __ZNSt8__detail15_List_node_base7_M_hookEPS0_
Referenced from: /usr/local/bin/myBinary
Expected in: /usr/lib/libstdc++.6.dylib
Trace/BPT trap: 5
Lo compilé desde una estación de trabajo Mac OS X 10.8.2 que ejecuta GCC 4.7.2:
$ gcc --version
gcc (MacPorts gcc47 4.7.2_2+universal) 4.7.2
corrínm
y el símbolo no está definido:
$ nm /usr/local/bin/myBinary | grep __ZNSt8__detail15_List_node_base7_M_hookEPS0_
U __ZNSt8__detail15_List_node_base7_M_hookEPS0_
¿Qué falté o hice mal al compilar?myBinary
? No estoy seguro de lo que puedo hacer con un símbolo faltante en/usr/lib/libstdc++.6.dylib
- ¿Debería haber compilado estáticamente la biblioteca de C ++ enmyBinary
?