On Mon, 4 Jun 2018, Matthias Klose wrote:
I've got a package (wxpython4.0) that builds modules for both Python 2.7
and Python 3. When I rebuilt the package in early May, I started getting
the lintian warning debug-file-with-no-debug-symbols for the Python 3
dbgsym packages only. Sure enough, looking at those files, there is not
much there. The Python 2.7 dbgsym files are fine. Given that I haven't
changed anything in how the Python 3 modules are compiled, it seems that
some outside change in the distribution has caused this. Has anyone else
noticed this, or have any idea what might have caused these dbgsym
packages to stop working?
The -dbgsym packages don't work for Python anyway because you need to call
debug interpreter, so I don't think it matters much either way.
Usually the python*-*-dbg packages contain two things:
- the unstripped extensions for the dbg interpreter
- the debug symbols for the python*-* packages.
If you don't have both of these, you should investigate why.
Yes, I'm talking about the automatically generated -dbgsym packages that
contain the /usr/lib/debug/.build-id/... files. I have looked into it
further and the problem seems to be happening during the link phase. I
checked the individual .o files (for the Python 3 version) and they all
contain .debug_str and I can see the symbol names with readelf
--debug-dump=str. But then after linking, they are gone. I ran the exact
same link command on the Python 2 .o files and the resulting .so has the
Rather bizarre. I don't know what to think. g++ (or whatever actually
does the linking?) doesn't like the Python 3 debug info and discards it?