Package: libghdl-5-0-1 Version: 5.0.1+dfsg-1+b1 Hi,
the libghdl package is broken. According to my research from 4.1.0, the paths inside of libghdl haven't been adjusted to find the library files of GHDL. I couldn't test this with 5.0.1 because it doesn't locate the libghdl.so file. When running ghdl-dom, libghdl-5_0_1.so can't be found. Using environment variable GHDL_PREFIX: ------------------------------------------------------------------------------------------- root@4af06a855805:~/ghdl# GHDL_PREFIX=/usr/lib/ghdl ghdl-dom Traceback (most recent call last): File "/usr/local/bin/ghdl-dom", line 5, in <module> from pyGHDL.cli.dom import main File "/usr/local/lib/python3.13/dist-packages/pyGHDL/cli/dom.py", line 48, in <module> from pyGHDL.libghdl import LibGHDLException File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 206, in <module> libghdl = _initialize() File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 187, in _initialize _libghdl_path = _get_libghdl_path() File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 181, in _get_libghdl_path raise ex pyGHDL.libghdl.LibGHDLException: Cannot find pyGHDL shared library 'libghdl-5_0_1.so'. Tried variable 'GHDL_PREFIX': /usr/lib/ghdl Checked variable 'GHDL': not set. Checked variable 'VUNIT_GHDL_PATH': not set. Tried pyGHDL.lib resource directory: /usr/local/lib/python3.13/dist-packages/pyGHDL/lib/libghdl-5_0_1.so Relative to build directory: /usr/local/lib/python3.13/dist-packages/lib ------------------------------------------------------------------------------------------- root@4af06a855805:~/ghdl# GHDL_PREFIX=/usr/lib/ghdl/mcode ghdl-dom Traceback (most recent call last): File "/usr/local/bin/ghdl-dom", line 5, in <module> from pyGHDL.cli.dom import main File "/usr/local/lib/python3.13/dist-packages/pyGHDL/cli/dom.py", line 48, in <module> from pyGHDL.libghdl import LibGHDLException File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 206, in <module> libghdl = _initialize() File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 187, in _initialize _libghdl_path = _get_libghdl_path() File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 181, in _get_libghdl_path raise ex pyGHDL.libghdl.LibGHDLException: Cannot find pyGHDL shared library 'libghdl-5_0_1.so'. Tried variable 'GHDL_PREFIX': /usr/lib/ghdl/mcode Checked variable 'GHDL': not set. Checked variable 'VUNIT_GHDL_PATH': not set. Tried pyGHDL.lib resource directory: /usr/local/lib/python3.13/dist-packages/pyGHDL/lib/libghdl-5_0_1.so Relative to build directory: /usr/local/lib/python3.13/dist-packages/lib ------------------------------------------------------------------------------------------- Using environment variable GHDL: ------------------------------------------------------------------------------------------- root@4af06a855805:~/ghdl# GHDL=$(which ghdl) ghdl-dom Traceback (most recent call last): File "/usr/local/bin/ghdl-dom", line 5, in <module> from pyGHDL.cli.dom import main File "/usr/local/lib/python3.13/dist-packages/pyGHDL/cli/dom.py", line 48, in <module> from pyGHDL.libghdl import LibGHDLException File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 206, in <module> libghdl = _initialize() File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 187, in _initialize _libghdl_path = _get_libghdl_path() File "/usr/local/lib/python3.13/dist-packages/pyGHDL/libghdl/__init__.py", line 181, in _get_libghdl_path raise ex pyGHDL.libghdl.LibGHDLException: Cannot find pyGHDL shared library 'libghdl-5_0_1.so'. Checked variable 'GHDL_PREFIX': not set Tried variable 'GHDL': /usr/bin/ghdl Checked variable 'VUNIT_GHDL_PATH': not set. Tried pyGHDL.lib resource directory: /usr/local/lib/python3.13/dist-packages/pyGHDL/lib/libghdl-5_0_1.so Tried 'which ghdl': /usr/bin/ghdl Relative to build directory: /usr/local/lib/python3.13/dist-packages/lib ------------------------------------------------------------------------------------------- Some investigations: libghdl is located in /usr/lib/x86_64-linux-gnu, which is a directory for multiarch support. >From Debians documentation: Multiarch is the term being used to refer to the capability of a system to install and run applications of multiple different binary targets on the same system. For example running a i386-linux-gnu application on an amd64-linux-gnu system. This example is the most common case, but many other working combinations are possible, such as armel and armhf. Multiarch also simplifies cross-building, where foreign-architecture libraries and headers are needed on a system during building. GHDL is not cross-compiling. It generates code for the host platform. So on x86-64 it generates x86-64 code and on aarch64 it generates aarch64 code. Moreover, libghdl doesn't generate any code at all. It just supports parsing, analysis, etc. but no code generation. Thus, the classification as a multiarch code generator isn't correct, right? One of the biggest usecases of libghdl is the Python binding via pyGHDL/libghdl. Therefore a matching Python package installation is required, What is the plan of Debian providing a matching pyGHDL 5.0.1 version for libghdl 5.0.1? Instead of a Debian package providing libghdl, I suggest to provide a python3-pyGHDL package containing an embedded and matching libghdl-5.0.1.so. This is how we deliver pyGHDL via our GitHub pipeline. setup.py can handle this usecase. Just provide the so file in pyGHDL/lib/... The so file will become a package resource file. Kind regards Patrick