On 7/10/07, Dirk Eddelbuettel <[EMAIL PROTECTED]> wrote:
But look what the source has:


[EMAIL PROTECTED]:~$ grep Depends src/debian/CRAN/mvtnorm-0.7.5/debian/control
Build-Depends: debhelper (>> 4.1.0), r-base-dev (>= 2.3.1), cdbs
Depends: ${shlibs:Depends}, r-base-core (>= 2.3.1)
[EMAIL PROTECTED]:~$

Funny... this is what I have (with 0.7.5-1):

campbell ~/src/R/mvtnorm-0.7.5$ grep Depends debian/control
Build-Depends: debhelper (>> 4.1.0), r-base-dev (>= 2.3.1), cdbs
Depends: r-base-core (>= 2.3.1)
campbell ~/src/R/mvtnorm-0.7.5$

Rebuilding here with the ${shlibs:Depends} added gives (some lines trimmed):

campbell ~/src/R/mvtnorm-0.7.5$ dpkg -I ../r-cran-mvtnorm_0.7.5-1_amd64.deb
Package: r-cran-mvtnorm
Source: mvtnorm
Version: 0.7.5-1
Architecture: amd64
Maintainer: Dirk Eddelbuettel <[EMAIL PROTECTED]>
Installed-Size: 524
Depends: r-base-core (>= 2.3.1), libc6 (>= 2.6-1), libgcc1 (>=
1:4.2-20070516), libgfortran2 (>= 4.2-20070208)

Here's what was built by the AMD64 build daemon many moons ago:

campbell ~/src/R/mvtnorm-0.7.5$ dpkg -I
/mirror/debian/debian/pool/main/m/mvtnorm/r-cran-mvtnorm_0.7.5-1_i386.deb
Package: r-cran-mvtnorm
Version: 0.7.5-1
Section: math
Priority: optional
Architecture: i386
Depends: r-base-core (>= 2.3.1)
Installed-Size: 600

| That might also fix multcomp, which won't install on AMD64 because
| libgfortran1 isn't available on AMD64.
|
| >   b)   Given a), should I create a new r-base-* set of packages where
| >        r-base-dev unconditionally pulls in gfortran1 ?
|
| That seems icky... at least on AMD64, gfortran2 seems to be the default.

I'm missing something. We *did* switch to gcc-4.2 which *defaults to
gfortran2* which is why you had this bug because you only have gfortran2 and
not gfortran1.

Ah, you've got "libfortran1" not "libgfortran1" in multcomp's dependencies.

I think the solution here for R packages is:

Build-Depends: should not mention fortran at all; r-base-dev should
pull in a fortran compiler and runtime anyway, and any r-cran-* that
need a libgfortran should already depend on those.
Depends: for packages including binary libraries (architecture: any;
has a src directory) need ${shlibs:Depends}
Depends: for packages that are R code only (architecture: all; all
code is in the R directory) don't.

So: multcomp should go back to not requiring fortran anywhere; mvtnorm
should build-depend on r-base-dev and depends: ${shlibs:Depends}; and
all will be fixed once mvtnorm (and any other binary R packages that
didn't have shlibs:Depends before) is rebuilt everywhere.


Chris


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to