Bug#805829: r-cran-gsl: Fails to build with GSL 2

2015-12-03 Thread Sebastiaan Couwenberg
Control: tags -1 patch fixed-upstream

Hi Andreas,

On 24-11-15 22:14, Andreas Tille wrote:
> thanks for working on the libgsl migration.  I commited a patch to SVN[1]
> to circumvent the check by configure but that's not sufficient to do the
> migration.  The build fails with
> 
> In file included from ellint.c:1:0:
> /usr/include/gsl/gsl_sf_ellint.h:84:5: note: expected 'gsl_sf_result * {aka 
> struct gsl_sf_result_struct *}' but argument is of type 'int'
>  int gsl_sf_ellint_D_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * 
> result);
>  ^
> ellint.c:82:17: error: too many arguments to function 'gsl_sf_ellint_D_e'
>  status[i] = gsl_sf_ellint_D_e(phi[i], k[i], n[i], sf_mode[*mode], 
> ) ;
>  ^
> 
> Anybody with some gsl experience might perhaps know what to do next
> hopefully.

The attached patch add support for GSL 2.x and make r-cran-gsl build
successfully with GSL 2.1.

The changes were taken from yesterdays 1.9-10.1 upstream release, so
you'll want to package that instead.

 https://cran.r-project.org/web/packages/gsl/
 https://cran.r-project.org/src/contrib/gsl_1.9-10.1.tar.gz

Make sure to update the build dependency to libgsl-dev to not pull in
the old GSL 1.x packages via libgsl0-dev.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1
diff -Nru r-cran-gsl-1.9-10/debian/changelog r-cran-gsl-1.9-10/debian/changelog
--- r-cran-gsl-1.9-10/debian/changelog  2014-06-23 12:25:00.0 +0200
+++ r-cran-gsl-1.9-10/debian/changelog  2015-11-22 21:58:37.0 +0100
@@ -1,3 +1,10 @@
+r-cran-gsl (1.9-10-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Update build dependencies for GSL 2, change libgsl0-dev to libgsl-dev.
+
+ -- Bas Couwenberg   Sun, 22 Nov 2015 21:58:32 +0100
+
 r-cran-gsl (1.9-10-1) unstable; urgency=low
 
   * Initial release (Closes: #752387).
diff -Nru r-cran-gsl-1.9-10/debian/control r-cran-gsl-1.9-10/debian/control
--- r-cran-gsl-1.9-10/debian/control2014-06-23 10:58:32.0 +0200
+++ r-cran-gsl-1.9-10/debian/control2015-11-22 21:58:30.0 +0100
@@ -6,7 +6,7 @@
 Build-Depends: debhelper (>= 9.0),
cdbs,
r-base-dev,
-   libgsl0-dev
+   libgsl-dev
 Standards-Version: 3.9.5
 Vcs-Browser: 
http://anonscm.debian.org/viewvc/debian-science/packages/R/trunk/packages/r-cran-gsl/trunk/
 Vcs-Svn: 
svn://anonscm.debian.org/debian-science/packages/R/trunk/packages/r-cran-gsl/trunk/
diff -Nru r-cran-gsl-1.9-10/debian/patches/gsl-2.patch 
r-cran-gsl-1.9-10/debian/patches/gsl-2.patch
--- r-cran-gsl-1.9-10/debian/patches/gsl-2.patch1970-01-01 
01:00:00.0 +0100
+++ r-cran-gsl-1.9-10/debian/patches/gsl-2.patch2015-12-03 
16:41:16.0 +0100
@@ -0,0 +1,116 @@
+Description: Add support for GSL (taken from upstream release 1.9-10.1)
+Origin: https://cran.r-project.org/src/contrib/gsl_1.9-10.1.tar.gz
+Bug-Debian: https://bugs.debian.org/805829
+
+--- a/MD5
 b/MD5
+@@ -35,8 +35,8 @@ f2606a5708629a1b4ebc401b857ba00d *R/psi.
+ db9a953c82fb5bcad9aee1bc7c6c053a *R/zzz.R
+ c49ad1d44c0b69af5e210633fcaddcf6 *build/vignette.rds
+ 67c9db5dc1a8e12ccf5880ffe206ce56 *cleanup
+-98d0b4377dad6dcd1014786f247027b5 *configure
+-afdb66942750b3ac5417d2484e59bbfe *configure.ac
++9a9891f695e4676eb2f69fb50f393f57 *configure
++b0a09ce66804c989dc28f289db46011c *configure.ac
+ 4f92f503d9c4f423a6e89a9eaf63b63a *inst/CITATION
+ e2b59fe3fff2bcb30599893a7e590f33 *inst/doc/gslpaper.R
+ 3301d42c84eae58199688edf0b89e67b *inst/doc/gslpaper.Rnw
+@@ -83,7 +83,7 @@ f58e8ead369ee94387edc38f1330ada1 *src/co
+ b9e67aa3572a60fc8cfe5651d386a251 *src/dawson.c
+ 07b6bc201b1956c4a5dd90172fdb6cb2 *src/debye.c
+ 5b5cabf6031c19224e7e7ef4ac9e2b6a *src/dilog.c
+-e8e7cb31ab73cc4f04402445d607965a *src/ellint.c
++ca96b38cdc06b5c35fee02b26b2bff4d *src/ellint.c
+ bb037c708bd7e7ba735b83b8f5166e0a *src/elljac.c
+ 803c371059fc2b48262c6a611f10e48e *src/error.c
+ 23e873053f5e1544a259ef8444d268f8 *src/expint.c
+@@ -93,7 +93,7 @@ f183cb92f62f2132ebcd6c6e87dadbe9 *src/fe
+ 42f6f901e8451ca0b1aa6c24b292a3b8 *src/hyperg.c
+ dfa461e5ad77313a206f82f677ee3cac *src/laguerre.c
+ 5c539738e044a51c33f3916873543392 *src/lambert.c
+-1fe19b728d6a3eb673d94d95ce5e0347 *src/legendre.c
++4c21539636e69450c7ab4da6684dc7c9 *src/legendre.c
+ a60c1c9bc368e9c50a8545aab6ca67bc *src/log.c
+ 8768413013d9891c716a3fe0f60826bd *src/multimin.c
+ d108215b94072249889c251a8e9e6f37 *src/poly.c
+--- a/configure
 b/configure
+@@ -2635,7 +2635,7 @@ int main() {
+if ((sscanf(gslv, "%d.%d", , )) != 2) {
+  exit (1);
+}
+-   exit (minor < 12);
++   exit (major == 1 && minor < 12);
+ #else
+   exit(1);
+ #endif
+--- a/configure.ac
 b/configure.ac
+@@ -33,7 +33,7 @@ int main() {
+if ((sscanf(gslv, "%d.%d", , )) != 2) {
+  exit (1);
+}
+-   exit (minor < 12);
++   exit (major == 1 && minor < 12);
+ #else
+   exit(1);
+ 

Bug#805829: r-cran-gsl: Fails to build with GSL 2

2015-11-24 Thread Andreas Tille
Hi Bas,

thanks for working on the libgsl migration.  I commited a patch to SVN[1]
to circumvent the check by configure but that's not sufficient to do the
migration.  The build fails with


gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/include -I. -fpic  -g 
-O2 -fstack-protector-strong -Wformat -Werror=format-security 
-D_FORTIFY_SOURCE=2 -g  -c ellint.c -o  ellint.o
ellint.c: In function 'ellint_D_e':
ellint.c:82:55: warning: passing argument 4 of 'gsl_sf_ellint_D_e' makes 
pointer from integer without a cast [-Wint-conversion]
 status[i] = gsl_sf_ellint_D_e(phi[i], k[i], n[i], sf_mode[*mode], ) 
;
   ^
In file included from ellint.c:1:0:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: expected 'gsl_sf_result * {aka 
struct gsl_sf_result_struct *}' but argument is of type 'int'
 int gsl_sf_ellint_D_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * 
result);
 ^
ellint.c:82:17: error: too many arguments to function 'gsl_sf_ellint_D_e'
 status[i] = gsl_sf_ellint_D_e(phi[i], k[i], n[i], sf_mode[*mode], ) 
;
 ^
In file included from ellint.c:1:0:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
 int gsl_sf_ellint_D_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * 
result);
 ^
/usr/lib/R/etc/Makeconf:134: recipe for target 'ellint.o' failed
make[1]: *** [ellint.o] Error 1


Anybody with some gsl experience might perhaps know what to do next
hopefully.

Kind regards

   Andreas.


[1] 
svn://anonscm.debian.org/debian-science/packages/R/trunk/packages/r-cran-gsl/trunk/


-- 
http://fam-tille.de



Bug#805829: r-cran-gsl: Fails to build with GSL 2

2015-11-22 Thread Bas Couwenberg
Source: r-cran-gsl
Version: 1.9-10-1
Severity: important
Tags: upstream

Dear Maintainer,

Your package fails to build with GSL 2:

 configure: error: Need GSL version >= 1.12
 ERROR: configuration failed for package 'gsl'

This needs to be fixed for the ongoing gsl transition (#804246).

The full build log is attached, as is a patch to update the build
dependencies for GSL 2 (changing libgsl0-dev to libgsl-dev).

Kind Regards,

Bas
I: using cowbuilder as pbuilder
dpkg-checkbuilddeps: Unmet build dependencies: libgsl-dev
W: Unmet build-dependency in source
dpkg-buildpackage: source package r-cran-gsl
dpkg-buildpackage: source version 1.9-10-1.1
dpkg-buildpackage: source distribution UNRELEASED
dpkg-buildpackage: source changed by Bas Couwenberg 
 dpkg-source --before-build r-cran-gsl-1.9-10
dpkg-checkbuilddeps: Unmet build dependencies: libgsl-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
dpkg-buildpackage: warning: this is currently a non-fatal warning with -S, but 
will probably become fatal in the future
 fakeroot debian/rules clean
test -x debian/rules
dh_clean 
if test -d src; then\
find src -regex ".*\.o" |   \
xargs --no-run-if-empty -r rm;  \
fi
rm -f config.log config.status
 dpkg-source -b r-cran-gsl-1.9-10
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building r-cran-gsl using existing 
./r-cran-gsl_1.9-10.orig.tar.gz
dpkg-source: info: building r-cran-gsl in r-cran-gsl_1.9-10-1.1.debian.tar.xz
dpkg-source: info: building r-cran-gsl in r-cran-gsl_1.9-10-1.1.dsc
 dpkg-genchanges -S >../r-cran-gsl_1.9-10-1.1_source.changes
dpkg-genchanges: not including original source code in upload
 dpkg-source --after-build r-cran-gsl-1.9-10
dpkg-buildpackage: binary and diff upload (original source NOT included)
 -> Copying COW directory
  forking: rm -rf /var/cache/pbuilder/build//cow.29361 
  forking: cp -al /var/cache/pbuilder/base-sid.cow 
/var/cache/pbuilder/build//cow.29361 
I: removed stale ilistfile /var/cache/pbuilder/build//cow.29361/.ilist
  forking: chroot /var/cache/pbuilder/build//cow.29361 cowdancer-ilistcreate 
/.ilist find . -xdev -path ./home -prune -o \( \( -type l -o -type f \) -a 
-links +1 -print0 \) | xargs -0 stat --format '%d %i ' 
 -> Invoking pbuilder
  forking: pbuilder build --debbuildopts  --debbuildopts  --buildplace 
/var/cache/pbuilder/build//cow.29361 --buildresult /var/cache/pbuilder/result/ 
--debbuildopts  --no-targz --internal-chrootexec chroot 
/var/cache/pbuilder/build//cow.29361 cow-shell 
/home/bas/tmp/debian/r-cran-gsl_1.9-10-1.1.dsc 
I: Running in no-targz mode
I: using fakeroot in build.
I: pbuilder: network access will be disabled during build
I: Current time: Sun Nov 22 21:58:53 CET 2015
I: pbuilder-time-stamp: 1448225933
I: copying local configuration
I: mounting /proc filesystem
I: mounting /run/shm filesystem
I: mounting /dev/pts filesystem
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents
I: Installing the build-deps
W: no hooks of type D found -- ignoring
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: amd64
Maintainer: Debian Pbuilder Team 
Description: Dummy package to satisfy dependencies with aptitude - created by 
pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper (>= 9.0), cdbs, r-base-dev, libgsl-dev
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in 
'/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 12439 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring 
anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper (>= 9.0); however:
  Package debhelper is not installed.
 pbuilder-satisfydepends-dummy depends on cdbs; however:
  Package cdbs is not installed.
 pbuilder-satisfydepends-dummy depends on r-base-dev; however:
  Package r-base-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libgsl-dev; however:
  Package libgsl-dev is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
pbuilder-satisfydepends-dummy is already installed at the requested version 
(0.invalid.0)
pbuilder-satisfydepends-dummy is