Bug#870772: libgsl misses some breaks/replaces

2017-08-07 Thread Dirk Eddelbuettel

On 7 August 2017 at 09:00, Antonio Ospite wrote:
| On Mon, 7 Aug 2017 13:37:39 +1200 Ben Caradoc-Davies 
| wrote:
| > Is there something wrong with libgsl23 2.4+dfsg-4? nco which depends on 
| > libgsl23 and {inkscape, qgis} which depend on libgsl2 are not 
| > coinstallable. Should libgsl23 have libgsl2 in its "Replaces:"? I do not 
| > understand, but I suspect that something is wrong.
| > 
| 
| IMHO "Replaces" is not a good solution short-term:
| 
| libgsl2 provides API version 19
| libgsl23 provides API version 23
| 
| Software depending on libgsl2 might not be ready for API version 23.
| 
| The problem is that libgsl23 depends on libgslcblas0 but the
| latter rightfully conflicts with libgsl2 because both packages ship
| libgslcblas.so.0

Right. Bummer. Long-term it is of course correct to split libgslcblas.so.0
out as I have done now.  
 
| This makes libgsl2 and libgsl23 not co-installable, which makes
| the package name change a little less useful.
| 
| A possible solution could be to release a last libgsl2 version (maybe
| 2.4 +dfsg-2.1 ?) which does not ship libgslcblas.so.0 but instead
| depends on the libgslcblas0 package, also restricting the conflict in
| libgslcblas0 to libgsl2 versions *preceding* that version.

We can't do it for gsl 2.4 because that already had the missing symbols
issue.

We can't do a rebuild of the _previous_ GSL either (unless we do ugly fudging
with epochs and whatnot).
 
| Long-term there could be a transition to libgsl23 for all the packages
| which depend on libgsl2, but I don't know how that is triggered.

We may need one. But I am not familiar with the process either.

Dirk
 
| Just my 2c.
| 
| Ciao ciao,
|Antonio
| 
| -- 
| Antonio Ospite
| https://ao2.it
| https://twitter.com/ao2it
| 
| A: Because it messes up the order in which people normally read text.
|See http://en.wikipedia.org/wiki/Posting_style
| Q: Why is top-posting such a bad thing?

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org



Bug#870772: libgsl misses some breaks/replaces

2017-08-07 Thread Dirk Eddelbuettel

On 7 August 2017 at 13:37, Ben Caradoc-Davies wrote:
| Is there something wrong with libgsl23 2.4+dfsg-4? nco which depends on 
| libgsl23 and {inkscape, qgis} which depend on libgsl2 are not 
| coinstallable. Should libgsl23 have libgsl2 in its "Replaces:"? I do not 
| understand, but I suspect that something is wrong.

Aiieee. That is indeed an issue. I am not sure we will be able to get by
without one last rebuild of all GSL packages.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org



Bug#870772: libgsl misses some breaks/replaces

2017-08-07 Thread Antonio Ospite
On Mon, 7 Aug 2017 13:37:39 +1200 Ben Caradoc-Davies 
wrote:
> Is there something wrong with libgsl23 2.4+dfsg-4? nco which depends on 
> libgsl23 and {inkscape, qgis} which depend on libgsl2 are not 
> coinstallable. Should libgsl23 have libgsl2 in its "Replaces:"? I do not 
> understand, but I suspect that something is wrong.
> 

IMHO "Replaces" is not a good solution short-term:

libgsl2 provides API version 19
libgsl23 provides API version 23

Software depending on libgsl2 might not be ready for API version 23.

The problem is that libgsl23 depends on libgslcblas0 but the
latter rightfully conflicts with libgsl2 because both packages ship
libgslcblas.so.0

This makes libgsl2 and libgsl23 not co-installable, which makes
the package name change a little less useful.

A possible solution could be to release a last libgsl2 version (maybe
2.4 +dfsg-2.1 ?) which does not ship libgslcblas.so.0 but instead
depends on the libgslcblas0 package, also restricting the conflict in
libgslcblas0 to libgsl2 versions *preceding* that version.

Long-term there could be a transition to libgsl23 for all the packages
which depend on libgsl2, but I don't know how that is triggered.

Just my 2c.

Ciao ciao,
   Antonio

-- 
Antonio Ospite
https://ao2.it
https://twitter.com/ao2it

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?



Bug#870772: libgsl misses some breaks/replaces

2017-08-06 Thread Ben Caradoc-Davies
Is there something wrong with libgsl23 2.4+dfsg-4? nco which depends on 
libgsl23 and {inkscape, qgis} which depend on libgsl2 are not 
coinstallable. Should libgsl23 have libgsl2 in its "Replaces:"? I do not 
understand, but I suspect that something is wrong.


Kind regards,

--
Ben Caradoc-Davies 
Director
Transient Software Limited 
New Zealand



Bug#870772: libgsl misses some breaks/replaces

2017-08-05 Thread Dirk Eddelbuettel

On 5 August 2017 at 06:49, Dirk Eddelbuettel wrote:
| On 5 August 2017 at 12:35, Guillem Jover wrote:
| | Strictly speaking, libgslcblas does have a SONAME:
| | 
| |   $ objdump -p /usr/lib/x86_64-linux-gnu/libgslcblas.so.0 | grep SONAME
| | SONAME   libgslcblas.so.0
| | 
| | which means to me that it should guarantee some ABI stability,
| 
| Yes. I have never seen it change its soname in all these years.
| 
| | otherwise this library should become a private library by using RPATH,
| | or be folded into the main libgsl library?
| | 
| | And IMO, splitting this library appears as the only correct solution
| | here, because:
| | 
| |   - Both shared libraries have different SONAMEs that's (I'm assuming)
| | why you've had to keep adding Replaces against the old packages when
| | bumping the SONAME for the main library.
| |   - This causes transition problems, as both old and new main library
| | packages cannot be installed at the same time, even though by
| | themselves alone there would be no filesystem conflicts. Which in
| | turn means we cannot have a mix of packages linking against the
| | old and new libraries, or in worse conditions a mix of a new -dev
| | using the new librs with some other packages using the old libs.
| |   - If (but I'm not sure if that's possible) one can link only against
| | the libgslcblas library, that would cause breakage in case the
| | SONAME gets bumped as as the package is not keyed on that, and
| | programs linked against the old SONAME would stop working.
| 
| I agree. It's a bit more work, but the better fix.
|  
| | > But it is probably
| | > easier to go with 'Breaks: ' as you suggest.
| | 
| | I'd consider that the wrong fix TBH.
| | 
| | > The thing that is unpleasant is that we probably need to keep adding the 
old
| | > soname libraries to debian/control as this progresses.
| | 
| | Not anymore after the libraries have been split. Or perhaps I don't
| | understand your concern?
| 
| Yes, it should help with that.
| 
| Thanks for the input!

Now done, and upgrade tested on Debian testing and unstable. Seems to work.

Let's hope it doesn't longer in NEW for too long.

Thanks for the suggestions and discussion; this was really helpful.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org



Bug#870772: libgsl misses some breaks/replaces

2017-08-05 Thread Dirk Eddelbuettel

On 5 August 2017 at 12:35, Guillem Jover wrote:
| Hi!
| 
| On Fri, 2017-08-04 at 23:10:49 -0500, Dirk Eddelbuettel wrote:
| > On 5 August 2017 at 00:04, Alf Gaida wrote:
| > | like the subject says libgsl lacks some breaks and replaces, that breaks 
the upgrade path:
| 
| > | The following should fix that
| > | 
| > | diff --git a/debian/control b/debian/control
| > | index 5e12819..486169d 100644
| > | --- a/debian/control
| > | +++ b/debian/control
| > | @@ -12,8 +12,9 @@ Architecture: any
| > |  Multi-Arch: same
| > |  Pre-Depends: ${misc:Pre-Depends}
| > |  Depends: ${shlibs:Depends}, ${misc:Depends}
| > | +Breaks: libgsl2
| > |  Conflicts: gsl, libgsl0, libgsl0ldbl
| > | -Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4)
| > | +Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2
| > |  Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
| > |  Description: GNU Scientific Library (GSL) -- library package 
| > |   The GNU Scientific Library (GSL) is a collection of routines for
| > 
| > Thanks for that.
| > 
| > One possibly alternative would be to put libgslcblas.so.0.0.0  into its own
| > libgslcblas depend on it as this library has no soname.
| 
| Strictly speaking, libgslcblas does have a SONAME:
| 
|   $ objdump -p /usr/lib/x86_64-linux-gnu/libgslcblas.so.0 | grep SONAME
| SONAME   libgslcblas.so.0
| 
| which means to me that it should guarantee some ABI stability,

Yes. I have never seen it change its soname in all these years.

| otherwise this library should become a private library by using RPATH,
| or be folded into the main libgsl library?
| 
| And IMO, splitting this library appears as the only correct solution
| here, because:
| 
|   - Both shared libraries have different SONAMEs that's (I'm assuming)
| why you've had to keep adding Replaces against the old packages when
| bumping the SONAME for the main library.
|   - This causes transition problems, as both old and new main library
| packages cannot be installed at the same time, even though by
| themselves alone there would be no filesystem conflicts. Which in
| turn means we cannot have a mix of packages linking against the
| old and new libraries, or in worse conditions a mix of a new -dev
| using the new librs with some other packages using the old libs.
|   - If (but I'm not sure if that's possible) one can link only against
| the libgslcblas library, that would cause breakage in case the
| SONAME gets bumped as as the package is not keyed on that, and
| programs linked against the old SONAME would stop working.

I agree. It's a bit more work, but the better fix.
 
| > But it is probably
| > easier to go with 'Breaks: ' as you suggest.
| 
| I'd consider that the wrong fix TBH.
| 
| > The thing that is unpleasant is that we probably need to keep adding the old
| > soname libraries to debian/control as this progresses.
| 
| Not anymore after the libraries have been split. Or perhaps I don't
| understand your concern?

Yes, it should help with that.

Thanks for the input!

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org



Bug#870772: libgsl misses some breaks/replaces

2017-08-05 Thread Guillem Jover
Hi!

On Fri, 2017-08-04 at 23:10:49 -0500, Dirk Eddelbuettel wrote:
> On 5 August 2017 at 00:04, Alf Gaida wrote:
> | like the subject says libgsl lacks some breaks and replaces, that breaks 
> the upgrade path:

> | The following should fix that
> | 
> | diff --git a/debian/control b/debian/control
> | index 5e12819..486169d 100644
> | --- a/debian/control
> | +++ b/debian/control
> | @@ -12,8 +12,9 @@ Architecture: any
> |  Multi-Arch: same
> |  Pre-Depends: ${misc:Pre-Depends}
> |  Depends: ${shlibs:Depends}, ${misc:Depends}
> | +Breaks: libgsl2
> |  Conflicts: gsl, libgsl0, libgsl0ldbl
> | -Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4)
> | +Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2
> |  Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
> |  Description: GNU Scientific Library (GSL) -- library package 
> |   The GNU Scientific Library (GSL) is a collection of routines for
> 
> Thanks for that.
> 
> One possibly alternative would be to put libgslcblas.so.0.0.0  into its own
> libgslcblas depend on it as this library has no soname.

Strictly speaking, libgslcblas does have a SONAME:

  $ objdump -p /usr/lib/x86_64-linux-gnu/libgslcblas.so.0 | grep SONAME
SONAME   libgslcblas.so.0

which means to me that it should guarantee some ABI stability,
otherwise this library should become a private library by using RPATH,
or be folded into the main libgsl library?

And IMO, splitting this library appears as the only correct solution
here, because:

  - Both shared libraries have different SONAMEs that's (I'm assuming)
why you've had to keep adding Replaces against the old packages when
bumping the SONAME for the main library.
  - This causes transition problems, as both old and new main library
packages cannot be installed at the same time, even though by
themselves alone there would be no filesystem conflicts. Which in
turn means we cannot have a mix of packages linking against the
old and new libraries, or in worse conditions a mix of a new -dev
using the new librs with some other packages using the old libs.
  - If (but I'm not sure if that's possible) one can link only against
the libgslcblas library, that would cause breakage in case the
SONAME gets bumped as as the package is not keyed on that, and
programs linked against the old SONAME would stop working.

> But it is probably
> easier to go with 'Breaks: ' as you suggest.

I'd consider that the wrong fix TBH.

> The thing that is unpleasant is that we probably need to keep adding the old
> soname libraries to debian/control as this progresses.

Not anymore after the libraries have been split. Or perhaps I don't
understand your concern?

Thanks,
Guillem



Bug#870772: libgsl misses some breaks/replaces

2017-08-05 Thread Alf Gaida
Hi Dirk,

to be true in future i would only take care of versions that are to be
expected in the wild.
That should keep the list short.

Greetz Alf

On 05.08.2017 06:10, Dirk Eddelbuettel wrote:
> On 5 August 2017 at 00:04, Alf Gaida wrote:
> | Package: libgsl23
> | Version: 2.4+dfsg-3
> | Severity: grave
> | Tags: patch
> | 
> | Dear Maintainer, 
> | 
> | like the subject says libgsl lacks some breaks and replaces, that breaks 
> the upgrade path:
> | 
> | % LANG=C sudo apt -f install
>   :(
> | Reading package lists... Done
> | Building dependency tree   
> | Reading state information... Done
> | Correcting dependencies... Done
> | The following additional packages will be installed:
> |   libgsl23
> | Suggested packages:
> |   gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
> | The following NEW packages will be installed:
> |   libgsl23
> | 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
> | 28 not fully installed or removed.
> | Need to get 0 B/914 kB of archives.
> | After this operation, 2.887 kB of additional disk space will be used.
> | Do you want to continue? [Y/n] y
> | (Reading database ... 537126 files and directories currently installed.)
> | Preparing to unpack .../libgsl23_2.4+dfsg-3_amd64.deb ...
> | Unpacking libgsl23:amd64 (2.4+dfsg-3) ...
> | dpkg: error processing archive 
> /var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb (--unpack):
> |  trying to overwrite '/usr/lib/x86_64-linux-gnu/libgslcblas.so.0.0.0', 
> which is also in package libgsl2:amd64 2.4+dfsg-2
> | dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
> | Errors were encountered while processing:
> |  /var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb
> | E: Sub-process /usr/bin/dpkg returned an error code (1)
> | 
> | 
> | The following should fix that
> | 
> | diff --git a/debian/control b/debian/control
> | index 5e12819..486169d 100644
> | --- a/debian/control
> | +++ b/debian/control
> | @@ -12,8 +12,9 @@ Architecture: any
> |  Multi-Arch: same
> |  Pre-Depends: ${misc:Pre-Depends}
> |  Depends: ${shlibs:Depends}, ${misc:Depends}
> | +Breaks: libgsl2
> |  Conflicts: gsl, libgsl0, libgsl0ldbl
> | -Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4)
> | +Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2
> |  Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
> |  Description: GNU Scientific Library (GSL) -- library package 
> |   The GNU Scientific Library (GSL) is a collection of routines for
> | 
>
> Thanks for that.
>
> One possibly alternative would be to put libgslcblas.so.0.0.0  into its own
> libgslcblas depend on it as this library has no soname.  But it is probably
> easier to go with 'Breaks: ' as you suggest.
>
> The thing that is unpleasant is that we probably need to keep adding the old
> soname libraries to debian/control as this progresses.
>
> Dirk
>  
> | Cheers Alf
> | 
> | -- System Information:
> | Debian Release: buster/sid
> |   APT prefers buildd-unstable
> |   APT policy: (500, 'buildd-unstable'), (500, 'unstable'), (500, 
> 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
> | Architecture: amd64 (x86_64)
> | Foreign Architectures: i386
> | 
> | Kernel: Linux 4.12.4-towo.2-siduction-amd64 (SMP w/8 CPU cores; PREEMPT)
> | Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE= 
> (charmap=UTF-8)
> | Shell: /bin/sh linked to /bin/dash
> | Init: systemd (via /run/systemd/system)
> | 
> | Versions of packages libgsl23 depends on:
> | ii  libc6  2.24-14
> | 
> | libgsl23 recommends no packages.
> | 
> | Versions of packages libgsl23 suggests:
> | pn  gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html  
> | 
> | -- no debconf information
>



Bug#870772: libgsl misses some breaks/replaces

2017-08-04 Thread Dirk Eddelbuettel

On 5 August 2017 at 00:04, Alf Gaida wrote:
| Package: libgsl23
| Version: 2.4+dfsg-3
| Severity: grave
| Tags: patch
| 
| Dear Maintainer, 
| 
| like the subject says libgsl lacks some breaks and replaces, that breaks the 
upgrade path:
| 
| % LANG=C sudo apt -f install  
:(
| Reading package lists... Done
| Building dependency tree   
| Reading state information... Done
| Correcting dependencies... Done
| The following additional packages will be installed:
|   libgsl23
| Suggested packages:
|   gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
| The following NEW packages will be installed:
|   libgsl23
| 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
| 28 not fully installed or removed.
| Need to get 0 B/914 kB of archives.
| After this operation, 2.887 kB of additional disk space will be used.
| Do you want to continue? [Y/n] y
| (Reading database ... 537126 files and directories currently installed.)
| Preparing to unpack .../libgsl23_2.4+dfsg-3_amd64.deb ...
| Unpacking libgsl23:amd64 (2.4+dfsg-3) ...
| dpkg: error processing archive 
/var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb (--unpack):
|  trying to overwrite '/usr/lib/x86_64-linux-gnu/libgslcblas.so.0.0.0', which 
is also in package libgsl2:amd64 2.4+dfsg-2
| dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
| Errors were encountered while processing:
|  /var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb
| E: Sub-process /usr/bin/dpkg returned an error code (1)
| 
| 
| The following should fix that
| 
| diff --git a/debian/control b/debian/control
| index 5e12819..486169d 100644
| --- a/debian/control
| +++ b/debian/control
| @@ -12,8 +12,9 @@ Architecture: any
|  Multi-Arch: same
|  Pre-Depends: ${misc:Pre-Depends}
|  Depends: ${shlibs:Depends}, ${misc:Depends}
| +Breaks: libgsl2
|  Conflicts: gsl, libgsl0, libgsl0ldbl
| -Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4)
| +Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2
|  Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
|  Description: GNU Scientific Library (GSL) -- library package 
|   The GNU Scientific Library (GSL) is a collection of routines for
| 

Thanks for that.

One possibly alternative would be to put libgslcblas.so.0.0.0  into its own
libgslcblas depend on it as this library has no soname.  But it is probably
easier to go with 'Breaks: ' as you suggest.

The thing that is unpleasant is that we probably need to keep adding the old
soname libraries to debian/control as this progresses.

Dirk
 
| Cheers Alf
| 
| -- System Information:
| Debian Release: buster/sid
|   APT prefers buildd-unstable
|   APT policy: (500, 'buildd-unstable'), (500, 'unstable'), (500, 'testing'), 
(500, 'stable'), (500, 'oldstable'), (1, 'experimental')
| Architecture: amd64 (x86_64)
| Foreign Architectures: i386
| 
| Kernel: Linux 4.12.4-towo.2-siduction-amd64 (SMP w/8 CPU cores; PREEMPT)
| Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE= 
(charmap=UTF-8)
| Shell: /bin/sh linked to /bin/dash
| Init: systemd (via /run/systemd/system)
| 
| Versions of packages libgsl23 depends on:
| ii  libc6  2.24-14
| 
| libgsl23 recommends no packages.
| 
| Versions of packages libgsl23 suggests:
| pn  gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html  
| 
| -- no debconf information

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org



Bug#870772: libgsl misses some breaks/replaces

2017-08-04 Thread Alf Gaida
Package: libgsl23
Version: 2.4+dfsg-3
Severity: grave
Tags: patch

Dear Maintainer, 

like the subject says libgsl lacks some breaks and replaces, that breaks the 
upgrade path:

% LANG=C sudo apt -f install
  :(
Reading package lists... Done
Building dependency tree   
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libgsl23
Suggested packages:
  gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
The following NEW packages will be installed:
  libgsl23
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
28 not fully installed or removed.
Need to get 0 B/914 kB of archives.
After this operation, 2.887 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 537126 files and directories currently installed.)
Preparing to unpack .../libgsl23_2.4+dfsg-3_amd64.deb ...
Unpacking libgsl23:amd64 (2.4+dfsg-3) ...
dpkg: error processing archive 
/var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libgslcblas.so.0.0.0', which is 
also in package libgsl2:amd64 2.4+dfsg-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


The following should fix that

diff --git a/debian/control b/debian/control
index 5e12819..486169d 100644
--- a/debian/control
+++ b/debian/control
@@ -12,8 +12,9 @@ Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: libgsl2
 Conflicts: gsl, libgsl0, libgsl0ldbl
-Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4)
+Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2
 Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
 Description: GNU Scientific Library (GSL) -- library package 
  The GNU Scientific Library (GSL) is a collection of routines for


Cheers Alf

-- System Information:
Debian Release: buster/sid
  APT prefers buildd-unstable
  APT policy: (500, 'buildd-unstable'), (500, 'unstable'), (500, 'testing'), 
(500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.12.4-towo.2-siduction-amd64 (SMP w/8 CPU cores; PREEMPT)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE= 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libgsl23 depends on:
ii  libc6  2.24-14

libgsl23 recommends no packages.

Versions of packages libgsl23 suggests:
pn  gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html  

-- no debconf information