`-static-libstdc++` with `stacktrace_from_exception` produces duplicate symbol `__cxa_allocate_exception`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con libs/stacktrace/src/from_exception.cpp, especialmente con el área alrededor de la línea 248 indicada, y reproduce el fallo del enlazador usando -static-libstdc++ y -static-libgcc. Revisa cómo se compila y se expone a través de Conan el componente stacktrace_from_exception y, después, verifica que la definición duplicada de __cxa_allocate_exception se resuelva sin romper el empaquetado esperado de bibliotecas del componente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I'm trying to update our project (The XRP ledger) to Boost 1.88 and I'm seeing a linker error on x86 (where stacktrace_from_exception gets enabled by default):
/usr/bin/ld: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/libstdc++.a(eh_alloc.o): in function `__cxa_allocate_exception':
(.text.__cxa_allocate_exception+0x0): multiple definition of `__cxa_allocate_exception'; /root/.conan2/p/b/boost4d02c12b1f707/p/lib/libboost_stacktrace_from_exception.a(from_exception.o):/root/.conan2/p/boost9ad4e6f6d8220/s/src/libs/stacktrace/build/../src/from_exception.cpp:248: first defined here
This only happens with -static-libstdc++ -static-libgcc options.
There seems to be no easy way to disable the component through conan. I tried something like
def configure(self):
self.options["boost"].extra_b2_flags = "boost.stacktrace.from_exception=off"
which results in
boost/1.88.0: WARN: Boost component 'stacktrace_from_exception' is missing libraries. Try building boost with '-o boost:without_stacktrace_from_exception'. (Option is not guaranteed to exist)
ERROR: boost/1.88.0: Error in package_info() method, line 2026
raise ConanException(f"These libraries were expected to be built, but were not built: {non_built}")
ConanException: These libraries were expected to be built, but were not built: {'boost_stacktrace_from_exception'}
Here is the real project breaking: https://github.com/XRPLF/rippled/actions/runs/16486148700/job/46611443287?pr=5570
Any help and suggestions are very welcome 🙏
- Lenguaje dominante
- C++
- Estrellas
- 497
- Forks
- 86
- Merge medio
- 8 d 20 h
- PR fusionados (30 d)
- 3
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de boostorg/stacktrace
-
`std::formatter` specialization Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
boostorg/stacktrace#233 ·
-
Ошибка в Inscape Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
boostorg/stacktrace#211 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
boostorg/stacktrace#197 · 3 comentarios ·
-
Implementation with `libdwfl`? Abiertoenhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
boostorg/stacktrace#176 · 1 comentario ·
-
enhancement help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
boostorg/stacktrace#163 · 7 comentarios ·
Todos los issues de boostorg/stacktrace
Issues similares
-
AuTest Bug Tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/trafficserver#13714 ·
-
bug build
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
facebookincubator/velox#19143 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
tenstorrent/tt-metal#57393 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
objectionary/eo-graphs#74 ·