Open rpoyner-tri opened 3 weeks ago
More detail: using a non-clarabel-infected program still works. Also, hacking out the clarabel dependency also works to restore full debug symbols.
Nice! I had noticed this, too, but had not investigated the root cause.
I suspect some cure can be found by reading up about rust debugging. I've seen evidence of rust users having some version of this problem.
Well, here are some completely unsatisfying partial answers.
rustc_flags = ["--emit=obj"],
to the rust static library rule in clarabel_cpp_internal. This results in sources for rust modules and for some drake dependencies, but no drake modules.mold
linker (https://github.com/rui314/mold). This results in line number symbols from all modules, but (currently) requires a local build of mold
and some bazel configuration I haven't yet discovered. I forced the issue by redirecting the symlink at /usr/bin/ld.gold
, but this is clearly unacceptable.It appears that noble
(binutils 2.42) has at least some of the same problems. Forcing bazel to use mold
(via apt-get on noble) results in an executable with all line numbers.
FYI workaround: add --define=NO_CLARABEL=ON
to your bazel command line to opt-out of Clarabel.
What happened?
Version
master circa 1.32.0
What operating system are you using?
Ubuntu 22.04
What installation option are you using?
compiled from source code using Bazel
Relevant log output