* Matthias Klose <[EMAIL PROTECTED]> [2007-06-23 15:48]: > Package: libsundials-serial-dev > Severity: serious > User: [EMAIL PROTECTED] > Usertags: goal-ldbl128 > > Discussed in http://lists.debian.org/debian-devel/2007/05/msg01173.html > > With glibc-2.5 and gcc-4.1.2 (and gcc-4.2), the 'long double' > data type did change from a 64bit representation to a 128bit > representation on alpha, powerpc, sparc, s390. To allow > partial upgrades of packages, we will need to rename all > packages holding libraries with the long double data type in > their API. Both libc and libstdc++ do not need to be renamed, > because they support both representations. We rename the library > packages on all architectures to avoid name mismatches between > architectures (you can avoid the renaming by supporting both > datatype representations in the library as done in glibc and > libstdc++, but unless a library is prepared for that, it does not > seem to be worth the effort). > > It is suggested to rename a package libfoo1 to libfoo1ldbl; > please wait with the renaming if the package depends on > another library package which needs renaming. > > This package has been indentified as one with header files in > /usr/include matching 'long *double'. Please close this bug report > if it is a false positive, or rename the package accordingly.
I think that this bug report filed against libsundials-serial-dev is a false positive. It was probably triggered by the presence of the "long double" string in /usr/include/sundials/sundials_types.h. The relevant part of this file is: ########## [snip] ################################### #if defined(SUNDIALS_SINGLE_PRECISION) typedef float realtype; #define RCONST(x) x##F #define BIG_REAL FLT_MAX #define SMALL_REAL FLT_MIN #define UNIT_ROUNDOFF FLT_EPSILON #elif defined(SUNDIALS_DOUBLE_PRECISION) typedef double realtype; #define RCONST(x) x #define BIG_REAL DBL_MAX #define SMALL_REAL DBL_MIN #define UNIT_ROUNDOFF DBL_EPSILON #elif defined(SUNDIALS_EXTENDED_PRECISION) typedef long double realtype; #define RCONST(x) x##L #define BIG_REAL LDBL_MAX #define SMALL_REAL LDBL_MIN #define UNIT_ROUNDOFF LDBL_EPSILON #endif ########## [snip] ################################### The macro variables above are chosen by configure according to the --with-precision flag: $ ./configure --help| grep '\(precision\|extended\)' --with-precision=ARG specify floating-point precision (single/double/extended) [double] whose value defaults to "double". As debian/rules does not set the flag above: $ grep FLAG debian/rules DEB_CONFIGURE_EXTRA_FLAGS := --enable-shared --enable-fortran --disable-mpi --enable-examples we end up with the following: $ grep PRECISION /usr/include/sundials/sundials_config.h #define SUNDIALS_DOUBLE_PRECISION 1 This means that there will be no "long double" declaration in the libsundials-serial headers. If nobody objects, I will close this bug report soon. -- Rafael -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]