Source: ghdl Version: 0.36+20190617 Severity: serious Tags: ftbfs Justification: fails to build from source (but built successfully in the past)
When Debianized GHDL package is build it fails with message Error: No installed ghdl backend found. Terminating! in context install -m 755 -p libghdl-0_37_dev.so ../../debian/tmp/usr/lib/ghdl/mcode/ ../../debian/tmp/usr/bin/ghdl --disp-standard --std=87 > ../../debian/tmp/usr/lib/ghdl/mcode/vhdl/src/std/standard.v87 Error: No installed ghdl backend found. Terminating! make[2]: *** [Makefile:131: install] Error 2 make[2]: Leaving directory '/home/user/repo/ghdl/ghdl-git/builddir/mcode' make[1]: *** [debian/rules:140: override_dh_auto_install] Error 2 make[1]: Leaving directory '/home/user/repo/ghdl/ghdl-git' make: *** [debian/rules:54: binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 The reason for the problem is the file /debian/ghdl.wrapper which prevents install when there is not already installed some "ghdl" package because it ignores "ghdl-mcode" already redy to be run in "debian/tmp/usr/bin" directory. Extending of file to find executables in the wrapper directory solves the problem ------------------------------------------------------------ #!/bin/sh set -e backend="$GHDL_BACKEND" ghdl_bin_dir="$(cd "$(dirname "$0")" ; pwd)" if [ ! -x "/usr/bin/ghdl-$backend" -a ! -x "$ghdl_bin_dir/ghdl-$backend" ]; then if [ -x "$ghdl_bin_dir/ghdl-mcode" ]; then backend=mcode elif [ -x "$ghdl_bin_dir/ghdl-gcc" ]; then backend=gcc elif [ -x "$ghdl_bin_dir/ghdl-llvm" ]; then backend=llvm elif [ -x /usr/bin/ghdl-mcode ]; then backend=mcode elif [ -x /usr/bin/ghdl-gcc ]; then backend=gcc elif [ -x /usr/bin/ghdl-llvm ]; then backend=llvm else echo >&2 "Error: No installed ghdl backend found. Terminating!" exit 2 fi fi if [ -x "$ghdl_bin_dir/ghdl-$backend" ]; then exec "$ghdl_bin_dir/ghdl-$backend" "$@" else exec "/usr/bin/ghdl-$backend" "$@" fi ------------------------------------------------------------ -- System Information: Debian Release: 10.0 APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-5-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled