Bug#687169: libgmp-dev: remove the __GMP_CC and __GMP_CFLAGS lines from gmp-*.h files (or explain why they should be kept)

Vincent Lefevre vincent at vinc17.net
Thu Sep 13 09:02:57 UTC 2012


On 2012-09-12 21:00:32 -0500, Steve M. Robbins wrote:
> Hello Vincent,
> 
> I've read your email a few times and I'm having a hard time understanding why 
> you believe a bug exists.
> 
> The preprocessor symbols at issue are preceeded by the following comment:
> 
> /* Define CC and CFLAGS which were used to build this version of GMP */
> 
> ... and they do exactly that.

Not really. This information makes sense on the machine where GMP
was built, but how can you guarantee them to be valid on a different
machine?

What the comment doesn't say is that users should use the same CC and
CFLAGS to build his program against GMP. That's why this information
has been added to gmp.h.

> If you have no need for this information, I would suggest you are
> free to ignore it.

This information may be needed if GMP has been built on the same
machine as it is installed.

> If you feel it is harmful, you can always advocate for upstream to
> remove them.

Upstream added this information to our request. Unfortunately upstream
cannot control whether the gmp.h file is copied on a different machine.

Or perhaps upstream should not generate them when the values are not
GMP's default? (I doubt these values are really useful in such a case.)

> On September 10, 2012 09:12:24 AM Vincent Lefevre wrote:
> 
> > The reason for asking the removal of such lines is that more than
> > being useless, these lines may contain incorrect information when
> > GMP has been built on some machine and gmp.h is distributed on
> > other machines, which have a different environment.
> 
> I don't follow. The symbols are defined at the time of build and are
> exactly the flags used to build the version of GMP distributed.
> Short of a bug in the build script, they cannot be incorrect.

When interpreted on the user's machine (which here is different from
the build machine), they can be incorrect or suboptimal.

> > If you think that keeping these lines is better under the Debian
> > context, then it would be a good idea to add a
> > 
> >   /usr/share/doc/libgmp-dev/README.Debian
> > 
> > file explaining why (so that the user doesn't think that something
> > may be wrong in the Debian package).
> 
> I think it is unlikely that anyone will be confused by this. This is
> the first complaint I've heard in my 9 1/2 years of maintaining gmp.

The reason is probably that things don't break in general and are
just suboptimal (so that the user may not noticed them). In particular
-O3 alone (without setting the proper -march option) can generate less
efficient code than -O1!

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



More information about the debian-science-maintainers mailing list