Closed JeremyGrosser closed 1 month ago
I've confirmed that adding --without-python
to the gdb configure flags removes the dependency on libpython3.8. I was unable to find an option for static linking.
https://github.com/alire-project/GNAT-FSF-builds/compare/main...JeremyGrosser:GNAT-FSF-builds:gdb-without-python
Thanks for the report @JeremyGrosser.
I don't think I want to disable python for the builds as it brings many useful features. Maybe there's a way to disable it at run-time?
To make gdb
from gnat_native_13.2.0_788a01f9
work I've rebuilt libpython3.8 for my Ubuntu 22.04. This is rather simple (I used a docker to have a clean build env).
tar xaf python3.8_3.8.10.orig.tar.xz
cd Python-3.8.10
tar xaf ../python3.8_3.8.10-0ubuntu1~20.04.8.debian.tar.xz
patch -p1 < ../python-3.8.patch
sudo apt install build-essential
sudo apt-get build-dep .
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpdec.so.2.5.1 /usr/lib/x86_64-linux-gnu/libmpdec.so.2
dpkg-buildpackage -b
apt install ./libpython3.8_3.8.10-0ubuntu1~20.04.8_amd64.deb ./libpython3.8-stdlib_3.8.10-0ubuntu1~20.04.8_amd64.deb ./libpython3.8-minimal_3.8.10-0ubuntu1~20.04.8_amd64.deb
Another workaround for Ububtu 22.04 is to add external repository and to install libpython3.8 package.
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install libpython3.8
I want to add a suggestion here. It's possible to use RPATH
with ($ORIGIN
on Linux and @loader_path
on macOS) to ship a shared library side-by-side.
Hello here, so I decided to disable python support in the next builds (14.1.3). I don't see a good way to provide python and it was never enabled for our Windows builds anyway.
The workaround, if Python support is really important for you, will be to use the distrib GDB
After switching to the gnat-fsf-13.1.0 toolchain, arm-eabi-gdb stops working on Debian bookworm, because
libpython3.8.so.1.0
is unavailable. Python 3.11 is the release included with Debian stable.