[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#720994: marked as done (libppl0.12-dev: ppl.hh contains definitions which are also in gmpxx.h)



Your message dated Thu, 5 Sep 2013 11:01:39 +0200
with message-id <20130905090139.GL31061@bin.d-labs.de>
and subject line Re: Bug#720994: libppl0.12-dev: ppl.hh contains definitions which are also in gmpxx.h
has caused the Debian Bug report #720994,
regarding libppl0.12-dev: ppl.hh contains definitions which are also in gmpxx.h
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
720994: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720994
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libppl0.12-dev
Version: 1:1.0-7
Severity: important

Dear Maintainer,

ppl.hh contains a remark about a transition concerning the numeric_limits
declaration.

/*
  [..]
  \note
  The PPL provides the specializations of the class template
  <CODE>numeric_limits</CODE> not only for PPL-specific numeric types,
  but also for the GMP types <CODE>mpz_class</CODE> and
  <CODE>mpq_class</CODE>. These specializations will be removed
  as soon as they will be provided by the C++ interface of GMP.
 */

Now, with libgmp-dev=2:5.1.2+dfsg-2, gmpxx.h contains these definitions. which
makes anything including both gmpxx.h and ppl.hh fail to build.

If you dont intend to pull in a new ppl release: for me it worked to simply
enclose the two "template <> class numeric_limits<mp{q,z}_class> { [..] };"
prototypes into "#ifndef __GMP_PLUSPLUS__ .. #endif". I'd highly appreciate a
working package...

thanks
felix

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: armel
i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libppl0.12-dev depends on:
ii  libppl-c4  1:1.0-7
ii  libppl12   1:1.0-7

Versions of packages libppl0.12-dev recommends:
ii  libgmp3-dev  2:5.1.2+dfsg-2

Versions of packages libppl0.12-dev suggests:
pn  libppl-doc  <none>

-- debconf-show failed

--- End Message ---
--- Begin Message ---
On Thu, Sep 05, 2013 at 10:44:49AM +0200, Michael Tautschnig wrote:
> Could you please clarify in which version that is fixed (and which might still
> be broken)? Ideally, please tag the bug accordingly.

It turns out, that an upgrade to 1.1-pre8 triggered a miscompilation
caused by a mistake of my own. I close the bug.

Thanks
felix

PS: for the curious, a stripped down example...
$ echo -e "#include <mpir.h>\n#include <ppl.hh>" | gcc -x c++ - -c
essentially results in

/usr/include/x86_64-linux-gnu/ppl.hh:778:7: error: redefinition of ‘class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >’
In file included from /usr/include/x86_64-linux-gnu/ppl.hh:748:0,
                 from <stdin>:2:
/usr/include/gmpxx.h:3270:21: error: previous definition of ‘class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >’

--- End Message ---

Reply to: