ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
After a trip into the basement where they keep the Ark of the Covenant, I found an email that I sent to Jeremy Leibs and Ken Conley looking for advice on this topic in February 2012:
John and I spent quite some time yesterday tracking down a segfault that was only happening when using a .deb built by our new catkin-based debbuilder, and could not be reproduced by compiling the crashing library from source. Turns out that we could reproduce it by building the library with -Wl,-Bsymbolic-functions on the link line. And that's what pbuilder is doing in the new debbuilder.
That whole sequence rang a distant bell in my mind, and I then found this gem of a ticket: https://code.ros.org/trac/ros/ticket/2977 So we've simply re-encountered the problem.
The space of solutions is the same, with the "right" answer likely being to force everybody to use -Wl,-Bsymbolic-functions in their own development, and fixing underlying bugs. But at this point, I don't have time before the Fuerte release to work through the regressions that would surely result.
So: do you recall how you "cleared out LDFLAGS in the current deb-building system"? I'd like to do the same in the new system.
We'll do our best to address this properly in the next release cycle, starting early.
What followed in the email thread amounted to, "yeah, it's best to add LDFLAGS=
somewhere in the pipeline". The description of the resulting catkin issue is simply a copy and paste of Ken's response along those lines.
I do not recall what the actual problem was. After reading through this ancient history, my guess is:
pbuilder
), somebody adds -Wl,-Bsymbolic-functions
to LDFLAGS
.LDFLAGS
.Unfortunately, from the description that I gave to Ken and Jeremy, it seems like whatever problem arises when using -Wl,-Bsymbolic-functions
may present itself as a tricky segfault. So my guess is that it's not safe to remove the LDFLAGS
override. Or at least it would be hard to prove that it's safe.