-
-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libstdc++ is missing gdb
pretty-printer integration
#105
Comments
The file is included wrongly as |
I am somewhat new to conda, so I have three questions to investigate this further
# Probably don't want to do this for cross-compilers
# mkdir -p ${PREFIX}/share/gdb/auto-load/usr/lib/
# cp ${SRC_DIR}/gcc_built/${CHOST}/sysroot/lib/libstdc++.so.6.*-gdb.py ${PREFIX}/share/gdb/auto-load/usr/lib/ seems to suggest so, but it might need the target triplet
is libstdcxx-ng even necessary in that case? I'd assume that gxx_impl will be the one that is used in the end? I can already tell you that the relevant line is |
It seems like gxx_impl_linux-64 9.5.0 should work fine. Can you try updating gxx_impl_linux-64 in your env? |
Not sure what you're saying - I built gxx_impl_linux-64 9.5.0, and it contains the correct file, but in the wrong location. I'll see if I can fix it. In general, putting the file into |
@upsj Were you able to make any more progress on this? This issue has been bugging me for a while now. Your write up helped me understand what was going on but I haven't been able to figure out a good workaround for this. |
@isuruf can you please explain why this code is commented out? ctng-compilers-feedstock/recipe/install-g++.sh Lines 31 to 33 in 54154d3
Without the |
Solution to issue cannot be found in the documentation.
Issue
On most system package managers, libstdc++ provides an automatic integration into
gdb
by placing a file intoshare/gdb/auto-load
that loads the pretty-printers that are present inshare/gcc-x.x.x/python/libstdcxx
. This integration seems to be missing from conda, which makes debugging binaries that were compiled with conda's C++ compiler unnecessarily tedious.Two possible solutions to this would be 1. creating a custom
gdbinit
file that sets the auto-load safe-path and loads the file or 2. creating the file in the expected location forlibstdc++.so
in the first place, which can be seen by running gdb on a simple C++ test program:Installed packages
Environment info
The text was updated successfully, but these errors were encountered: