Bug#976067: libgiac-dev: missing dependencies to scientific development packages
Sébastien Michelland
sebastien.michelland at protonmail.com
Sun Nov 29 10:02:48 GMT 2020
Package: libgiac-dev
Version: 1.6.0.31+dfsg1-1
Severity: important
X-Debbugs-Cc: sebastien.michelland at protonmail.com
Installing config.h enables Giac to expose features in its public headers (as
intended by [1]). This also enables preprocessor-guarded includes for a variety
of libraries used by Giac, effectively making them dependencies of libgiac-dev.
Currently only the runtime variants are declared as dependencies, so even
simple programs building against Giac can fail because of missing headers.
The exact list of includes enabled by the install of config.h depends on Giac's
compile options; the packaged version of libgiac-dev in Sid requires
libgmp-dev, libmpfr-dev, libmpfi-dev, libgsl-dev, libntl-dev, and
libfltk1.3-dev for programs to compile.
The dependency to libfltk1.3-dev is unfortunate as FLTK in turn requires a full
graphics stack, which is not expected from libgiac-dev. I am unsure whether
there is a better way to handle it.
## Sample steps to reproduce
Create a minimal Debian Sid install with libgiac-dev but without any of the
packages listed above.
% sudo debootstrap sid libgiac-dev-bugreport/ http://ftp.debian.org/debian/
% sudo chroot libgiac-dev-bugreport/
% apt install build-essential libgiac-dev
Try to build a sample Giac program:
#include <giac/config.h>
#include <giac/giac.h>
int main(void)
{
giac::context ct;
std::cout << giac::_factor(giac::gen("x^2-1", &ct), &ct) << "\n";
return 0;
}
% g++ giac-example.cpp -o giac-example -Wall -Wextra -lgiac
In file included from /usr/include/giac/giac.h:3,
from giac-example.cpp:2:
/usr/include/giac/first.h:362:10: fatal error: gmp.h: No such file or directory
362 | #include "gmp.h"
| ^~~~~~~
compilation terminated.
Install the missing package and try again. The following headers will be found
missing before build eventually succeeds:
* gmp.h (libgmp-dev)
* mpfr.h (libmpfr-dev)
* mpfi.h (libmpfi-dev-common, but probably better installed through libmpfi-dev)
* gsl/gsl_vector.h (libgsl-dev)
* NTL/ZZXFactoring.h (libntl-dev)
* FL/Enumerations.H (libfltk1.1-dev or libfltk1.3-dev)
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972827
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.9.9-arch1-1 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
Versions of packages libgiac-dev depends on:
ii libgiac0 1.6.0.31+dfsg1-1
libgiac-dev recommends no packages.
libgiac-dev suggests no packages.
-- no debconf information
More information about the debian-science-maintainers
mailing list