Bug#805829: r-cran-gsl: Fails to build with GSL 2
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 CouwenbergSun, 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
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
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 Couwenbergdpkg-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