Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #198103 > unrolled thread

What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6

Started byAnders Andersson <pipatron@gmail.com>
First post2018-07-31 00:40 +0200
Last post2018-08-03 07:20 +0200
Articles 9 — 4 participants

Back to article view | Back to linux.debian.user


Contents

  What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 Anders Andersson <pipatron@gmail.com> - 2018-07-31 00:40 +0200
    Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 David Wright <deblis@lionunicorn.co.uk> - 2018-07-31 02:30 +0200
      Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 Stefan Monnier <monnier@iro.umontreal.ca> - 2018-07-31 16:10 +0200
        Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 David Wright <deblis@lionunicorn.co.uk> - 2018-07-31 18:20 +0200
          Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 Stefan Monnier <monnier@iro.umontreal.ca> - 2018-07-31 22:30 +0200
            Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 David Wright <deblis@lionunicorn.co.uk> - 2018-08-01 20:50 +0200
              Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 Vincent Lefevre <vincent@vinc17.net> - 2018-08-03 07:40 +0200
        Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 Vincent Lefevre <vincent@vinc17.net> - 2018-08-03 07:30 +0200
    Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6 Vincent Lefevre <vincent@vinc17.net> - 2018-08-03 07:20 +0200

#198103 — What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6

FromAnders Andersson <pipatron@gmail.com>
Date2018-07-31 00:40 +0200
SubjectWhat's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6
Message-ID<whoZA-53d-1@gated-at.bofh.it>
I just noticed that there are two packages for libmpfr:

https://packages.debian.org/sid/libmpfr4

https://packages.debian.org/sid/libmpfr6


Funny thing is, this is what the versioning says on those pages:
Package: libmpfr4 (3.1.6-1)
Package: libmpfr6 (4.0.1-1)

...ok, that's strange. Even weirder, they are both built from the same
sources: mpfr-4.0.1-1.

I feel like I'm missing something. For example, what does the
"3.1.6-1" mean in libmpfr4? I assumed it was the underlying version
but it can't be if it's built from the 4.0.1 sources?

And why libmpfr6 when it's actually version 4 (there's no version 6 of mpfr).

[toc] | [next] | [standalone]


#198109

FromDavid Wright <deblis@lionunicorn.co.uk>
Date2018-07-31 02:30 +0200
Message-ID<whqI1-69t-3@gated-at.bofh.it>
In reply to#198103
On Tue 31 Jul 2018 at 00:37:38 (+0200), Anders Andersson wrote:
> I just noticed that there are two packages for libmpfr:
> 
> https://packages.debian.org/sid/libmpfr4
> 
> https://packages.debian.org/sid/libmpfr6
> 
> 
> Funny thing is, this is what the versioning says on those pages:
> Package: libmpfr4 (3.1.6-1)
> Package: libmpfr6 (4.0.1-1)
> 
> ...ok, that's strange. Even weirder, they are both built from the same
> sources: mpfr-4.0.1-1.
> 
> I feel like I'm missing something. For example, what does the
> "3.1.6-1" mean in libmpfr4? I assumed it was the underlying version
> but it can't be if it's built from the 4.0.1 sources?
> 
> And why libmpfr6 when it's actually version 4 (there's no version 6 of mpfr).

The numbers in parentheses are the Debian versions of the package.
That's how apt would upgrade a package if a bug was fixed within it.
They're not related to the upstream version.

The two packages have different names, I would guess, so that you
can install both on the same system. You can't install two packages
with the same name.

As for the "6", I'm guessing that they chose that because the library
version (yes, another versioning sequence) is 6.0.1 as opposed to 4.1.5.

Cheers,
David.

[toc] | [prev] | [next] | [standalone]


#198115

FromStefan Monnier <monnier@iro.umontreal.ca>
Date2018-07-31 16:10 +0200
Message-ID<whDvz-5Ez-1@gated-at.bofh.it>
In reply to#198109
>> Funny thing is, this is what the versioning says on those pages:
>> Package: libmpfr4 (3.1.6-1)
>> Package: libmpfr6 (4.0.1-1)
>>
>> ...ok, that's strange. Even weirder, they are both built from the same
>> sources: mpfr-4.0.1-1.

Indeed, I find that odd.

I suspect that the "3.1.6-1" in the "title" and the "4.0.1-1" in the
"download from source" refer to different versions of the package
(normally, those two are identical).

Not sure how/why this happens.  Maybe the source package has been
upgraded, but the build of the corresponding binaries is still
in-progress?

>> I feel like I'm missing something. For example, what does the
>> "3.1.6-1" mean in libmpfr4?

Usually it means "built from the upstream version 3.1.6 with some local
patches" and the "-1" is a Debian-local sub-version, in case Debian
builds several different versions of the package from the same upstream
versions (e.g. because Debian's own patches are modified, a typical
example being when Debian's security team backports a security patch to
3.1.6).

> The numbers in parentheses are the Debian versions of the package.
> That's how apt would upgrade a package if a bug was fixed within it.
> They're not related to the upstream version.

Doesn't explain why one says "Package: libmpfr4 (3.1.6-1)" and the other
says "[mpfr4_4.0.1-1.dsc]": both "3.1.6-1" and "4.0.1-1" are Debian
version numbers and they are usually the same.

> As for the "6", I'm guessing that they chose that because the library
> version (yes, another versioning sequence) is 6.0.1 as opposed to 4.1.5.

That's right, this is an "API version", so I guess it means that the
4.0.1 upstream code can be used to build both the API version 4 and
the API version 6.


        Stefan

[toc] | [prev] | [next] | [standalone]


#198119

FromDavid Wright <deblis@lionunicorn.co.uk>
Date2018-07-31 18:20 +0200
Message-ID<whFxo-6S5-5@gated-at.bofh.it>
In reply to#198115
On Tue 31 Jul 2018 at 10:01:00 (-0400), Stefan Monnier wrote:
> >> Funny thing is, this is what the versioning says on those pages:
> >> Package: libmpfr4 (3.1.6-1)
> >> Package: libmpfr6 (4.0.1-1)
> >>
> >> ...ok, that's strange. Even weirder, they are both built from the same
> >> sources: mpfr-4.0.1-1.
> 
> Indeed, I find that odd.

I can't find any evidence for that without being told where to look.

> I suspect that the "3.1.6-1" in the "title" and the "4.0.1-1" in the
> "download from source" refer to different versions of the package
> (normally, those two are identical).
> 
> Not sure how/why this happens.  Maybe the source package has been
> upgraded, but the build of the corresponding binaries is still
> in-progress?
> 
> >> I feel like I'm missing something. For example, what does the
> >> "3.1.6-1" mean in libmpfr4?
> 
> Usually it means "built from the upstream version 3.1.6 with some local
> patches" and the "-1" is a Debian-local sub-version, in case Debian
> builds several different versions of the package from the same upstream
> versions (e.g. because Debian's own patches are modified, a typical
> example being when Debian's security team backports a security patch to
> 3.1.6).

Usually they are, but you can't always rely on it; eg Grub2 had
Debian version numbers 1.x in the days of wheezy. You have to check a
little deeper: that was my point.

> > The numbers in parentheses are the Debian versions of the package.
> > That's how apt would upgrade a package if a bug was fixed within it.
> > They're not related to the upstream version.
> 
> Doesn't explain why one says "Package: libmpfr4 (3.1.6-1)" and the other
> says "[mpfr4_4.0.1-1.dsc]": both "3.1.6-1" and "4.0.1-1" are Debian
> version numbers and they are usually the same.

I'm not sure you're quoting from here.

> > As for the "6", I'm guessing that they chose that because the library
> > version (yes, another versioning sequence) is 6.0.1 as opposed to 4.1.5.
> 
> That's right, this is an "API version", so I guess it means that the
> 4.0.1 upstream code can be used to build both the API version 4 and
> the API version 6.

That seems unlikely to me. I'm not going to bother to download the
source to find out, but I suspect that the 4 in Packages's "Source:
mpfr4" line is spurious, accidentally introduced between lenny and
squeeze. I think that is the only mystery here, and the rest of the
"problem" is built on jumping to false conclusions (or assumptions).

Cheers,
David.

[toc] | [prev] | [next] | [standalone]


#198124

FromStefan Monnier <monnier@iro.umontreal.ca>
Date2018-07-31 22:30 +0200
Message-ID<whJrj-P2-1@gated-at.bofh.it>
In reply to#198119
> I can't find any evidence for that without being told where to look.

It was in the previous message:

    https://packages.debian.org/sid/libmpfr4
    https://packages.debian.org/sid/libmpfr6

>> Doesn't explain why one says "Package: libmpfr4 (3.1.6-1)" and the other
>> says "[mpfr4_4.0.1-1.dsc]": both "3.1.6-1" and "4.0.1-1" are Debian
>> version numbers and they are usually the same.
>
> I'm not sure you're quoting from here.

>From https://packages.debian.org/sid/libmpfr4

> That seems unlikely to me. I'm not going to bother to download the
> source to find out, but I suspect that the 4 in Packages's "Source:
> mpfr4" line is spurious,

Agreed, I hadn't noticed this little "4" in there.  I have no idea what
it means.  I was only looking at (and talking about) the Debian
version numbers and the "4" and "6" of "libmpfr4" and "libmpfr6".


        Stefan

[toc] | [prev] | [next] | [standalone]


#198150

FromDavid Wright <deblis@lionunicorn.co.uk>
Date2018-08-01 20:50 +0200
Message-ID<wi4m5-5aY-1@gated-at.bofh.it>
In reply to#198124
On Tue 31 Jul 2018 at 16:27:27 (-0400), Stefan Monnier wrote:
> > I can't find any evidence for that without being told where to look.
> 
> It was in the previous message:
> 
>     https://packages.debian.org/sid/libmpfr4
>     https://packages.debian.org/sid/libmpfr6
> 
> >> Doesn't explain why one says "Package: libmpfr4 (3.1.6-1)" and the other
> >> says "[mpfr4_4.0.1-1.dsc]": both "3.1.6-1" and "4.0.1-1" are Debian
> >> version numbers and they are usually the same.
> >
> > I'm not sure you're quoting from here.
> 
> >From https://packages.debian.org/sid/libmpfr4

Oh, OK. I don't know how they maintain the links to sources on the
web page. It looks like they're out of kilter, so it's probably
bug-filing time.

The OP appeared to assert that two different binary packages were
built from the same source, but I could find no *evidence* for
that, ie in the packages themselves.

But just right click on any package, copy and paste its address
into the address bar, rubout the actual filename and you can get to
http://ftp.us.debian.org/debian/pool/main/m/mpfr4/
At the bottom of that page there are sources for 3.1.0-5 (debian),
3.1.0 (original), 3.1.2-2 (debian), 3.1.2 (original), 3.1.5-1 (debian),
3.1.5 (original), 3.1.6-1 (debian), 3.1.6 (original), 4.0.1-1 (debian)
and 4.0.1 (original).

> > That
[the 4.0.1 source code can build both versions under discussion]
> > seems unlikely to me. I'm not going to bother to download the
> > source to find out, but I suspect that the 4 in Packages's "Source:
> > mpfr4" line is spurious,
> 
> Agreed, I hadn't noticed this little "4" in there.  I have no idea what
> it means.  I was only looking at (and talking about) the Debian
> version numbers and the "4" and "6" of "libmpfr4" and "libmpfr6".

It seems plausible that someone thought it should be in there if and
when versions 1 and 4 were being simultaneously supported around the
time of squeeze≡testing. Just speculation.

Cheers,
David.

[toc] | [prev] | [next] | [standalone]


#198211

FromVincent Lefevre <vincent@vinc17.net>
Date2018-08-03 07:40 +0200
Message-ID<wiAYF-8lB-1@gated-at.bofh.it>
In reply to#198150
On 2018-08-01 13:41:32 -0500, David Wright wrote:
> > > That
> [the 4.0.1 source code can build both versions under discussion]
> > > seems unlikely to me. I'm not going to bother to download the
> > > source to find out, but I suspect that the 4 in Packages's "Source:
> > > mpfr4" line is spurious,
> > 
> > Agreed, I hadn't noticed this little "4" in there.  I have no idea what
> > it means.  I was only looking at (and talking about) the Debian
> > version numbers and the "4" and "6" of "libmpfr4" and "libmpfr6".
> 
> It seems plausible that someone thought it should be in there if and
> when versions 1 and 4 were being simultaneously supported around the
> time of squeeze≡testing. Just speculation.

Yes, in the past, one goal was to have the source for both MPFR
versions 2.4 (mpfr) and 3.0 (mpfr4) at the same time in sid.
IIRC, this kind of things was common at that time.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

[toc] | [prev] | [next] | [standalone]


#198210

FromVincent Lefevre <vincent@vinc17.net>
Date2018-08-03 07:30 +0200
Message-ID<wiAP0-8iD-3@gated-at.bofh.it>
In reply to#198115
On 2018-07-31 10:01:00 -0400, Stefan Monnier wrote:
> > As for the "6", I'm guessing that they chose that because the library
> > version (yes, another versioning sequence) is 6.0.1 as opposed to 4.1.5.
> 
> That's right, this is an "API version", so I guess it means that the
> 4.0.1 upstream code can be used to build both the API version 4 and
> the API version 6.

This is related to the ABI versions, not API.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

[toc] | [prev] | [next] | [standalone]


#198209

FromVincent Lefevre <vincent@vinc17.net>
Date2018-08-03 07:20 +0200
Message-ID<wiAFj-8fu-3@gated-at.bofh.it>
In reply to#198103
On 2018-07-31 00:37:38 +0200, Anders Andersson wrote:
> I just noticed that there are two packages for libmpfr:
> 
> https://packages.debian.org/sid/libmpfr4
> 
> https://packages.debian.org/sid/libmpfr6
> 
> 
> Funny thing is, this is what the versioning says on those pages:
> Package: libmpfr4 (3.1.6-1)
> Package: libmpfr6 (4.0.1-1)
> 
> ...ok, that's strange. Even weirder, they are both built from the same
> sources: mpfr-4.0.1-1.

No. libmpfr4 3.1.6-1 was built from mpfr4 3.1.6-1 and
libmpfr6 4.0.1-1 was built from mpfr4 4.0.1-1.

The package names are different due to ABI incompatibility
between MPFR 3.1 (which implements interfaces 4 and 5) and
MPFR 4.0 (which implements interface 6).

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.user


csiph-web