<div dir="ltr">Well, turns out that apparently nobody else bothers with a .symbols file for Python extensions. I looked at the packages for samba, numpy, mypy and python-stdlib-extensions. And if the Python maintainers themselves don't do it, you probably shouldn't.<div><br></div><div>I attached a diff to remove the relevant file and the setup for it. I also added some verbosity to the stuff debhelper does (I find it harder to debug build issues without it).</div><div>I verified that except for this symbols file going away, nothing else changed. (Most notable, the main libldb-dev package still looks the same.) - Verified via diffoscope which only showed expected changes (timestamps, mostly)</div><div><br></div><div>I'll see if I can turn it into a pull request on Salsa, but my git-foo is weaker than it probably should be, so feel free to just apply my patch yourself.</div><div>If I create a pull request, should that include an update to debian/changelog?</div><div><br></div><div>Cheers,</div><div>Sven</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Do., 17. Dez. 2020 um 16:55 Uhr schrieb Mathieu Parent <<a href="mailto:math.parent@gmail.com" target="_blank">math.parent@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Le jeu. 17 déc. 2020 à 16:48, Sven Mueller <<a href="mailto:sven.mueller72@gmail.com" target="_blank">sven.mueller72@gmail.com</a>> a écrit :<br>
><br>
> Hi Mathieu.<br>
<br>
Hi,<br>
<br>
> Just wanted to say that your fix here seems wrong:<br>
> The symbols file says when a specific symbol for a specific lib was added.<br>
> If I rebuild ldb against Python 3.9, it will suddenly claim that - for example - symbol PYLDB_UTIL_2.1.0@PYLDB_UTIL_2.1.0 was added to the package - for the Python 3.9 specific lib - in package version 2:2.1.0 - Even though that package version was not built against Python 3.9 at all.<br>
><br>
> The better fix would be to explicitly build against specific Python versions (python3.8-dev, python3.9-dev build dependencies) and have appropriate symbols listed for both of them.<br>
><br>
> Currently, if a package builds against the ldb python bindings for Python 3.9, it will generate versioned dependencies that are incorrect (if all it uses would be the above symbol, it would depend on python3-ldb >= 2:2.1.0 - which didn't have any Python 3.9 bindings) - and fail after installation.<br>
><br>
> To be fair though, I'm not even sure having the symbols file for the python bindings .so files makes much sense.<br>
<br>
OK. Could you submit a merge request fixing this? SInce the migration<br>
to python3, the bindings are getting complicated. Any help here is<br>
apprecciated.<br>
<br>
Regards<br>
<br>
Mathieu Parent<br>
</blockquote></div>