[pkg-bioc] Re: My first steps with cran2deb.pl
Frederic Lehobey
Frederic.Lehobey at free.fr
Wed Dec 28 18:33:41 UTC 2005
Hi,
On Tue, Dec 27, 2005 at 11:31:01AM -0600, Dirk Eddelbuettel wrote:
> On 27 December 2005 at 17:41, Frederic Lehobey wrote:
> | I have successfully completed a complete run of it on the i386, sparc
> | and powerpc architectures (running sid). kfreebsd-i386 is in progress
> | (on a slow machine).
>
> That's pretty impressive. May have been fine to stop after one arch and
> settle the questions, but the more the merrier!
Actually they all ran in parallel so it was not that a burden.
> | I have updated http://wiki.debian.org/DebianCRAN accordingly (work
> | still in progress at the time of writing).
Now updated.
> | 1/ I have noticed some of the packages in CRAN that are automagically
> | built by the script are actually already in the official Debian
> | archive. What is the goal for them (ultimately)? Having them built
> | by the script or being blacklisted from it one way or another. In
> | other words, is it interesting to keep and track their status with
> | respect to automatic build?
>
> My perspective always was that we should _not_ autobuild what already is in
> Debian. Two main reasons: a) Some of these packages are/were harder in terms
> of Depends and configuration (the snow/mpi/pvm/sprng complex is an examples);
OK.
> I had meant to give the script a spin over the holdidays, but haven't. Last
> time I updated it, it still contained a blacklist of packages to skip
> "because they are already in Debian". I still think that is a good idea.
> Comments?
So I believe the following section in the script has to be updated:
## packages which are already in Debian, and which fails with the current scrip\
t.
my @alreadyindebianCRAN = (
"its", ## in Debian as r-cran-its
"rsprng", ## r-cran-rsprng
);
> One side-effect of this is that we need to fix the Wiki page where Steffen
> commented on build difficulties for a packages already in Debian. This proves
> a) above, but as per this discussion, shouldn't really have been tried
> anyway. Unless folks disagree --- let me know your thoughts, and / or
> volunteer to edit the page :)
I will update the wiki page along my own progress.
> So to summarize: One table / hash / array we need to keep up to date in the
> script is the list of packages to skip.
Agreed.
> | 2/ How am I supposed to deal with dependencies between newly built
> | CRAN packages? More precisely, if the necessary dependencies stated
> | on http://wiki.debian.org/DebianCRAN are available in the build
> | environment (from the Debian archive), then a huge list of CRAN
> | packages can be built. However, some of the failing ones (at first
> | pass) simply need that some of the newly built packages be added to
> | the build environment. What it the proper way to do it? Install them
> | `by hand' with dpkg -i?
>
> Pretty much, yes. Unless you use an autobuild environment like pbuilder (to
> which we need to ultimately migrate) which installs them for you --- provided
> you declared the Build-Depends.
I understand how to run the script alone in a chroot or how to run
pbuilder but I do not see (yet) how to run it from inside pbuilder and
take advantage of this automatic installation.
> So the second table to keep up to date is the mapping between CRAN package
> Depends: and Debian Depends --- where it can't be "guessed" via the
> r-cran-$CRANNAME rule.
So it is the `%buildDeps' variable in the script. I will try to first
understand it and see if things have to be fixed or updated (I will
first update the wiki page).
> | 3/ Some failures are architecture dependent (mostly endianness
> | problems for powerpc and sparc according to error messages). How to
> | deal with that? Setup some exclusion mechanism similar to
> | `cannotbuildamd64'? (Then, there will be as many variables as
> | architectures.)
>
> I'd say postpone / take offline. That is really an upstream issue for these
> packages. Finding this is a a HUGE benefit and may eventually win us friends
> in the R world. But so far we simply cannot assume that 600+ packages had
> ever been built on all the arches we have at our disposal. I'd assume
> powerpc (Mac OS X), i386 and amd64 and nothing else.
Most of the big-endian failures seem to be related to gtools. I
believe in the benefits of porting, and moreover, it is fun. :-)
I am very impressed by the quality of kfreebsd-i386.
> | 5/ I have noticed the following warning when installing the built
> | packages (and some of the packages already in sid):
> |
> | Ignoring deprecated option --htmllists called from postinst or postrm script.
> |
> | I have not yet searched its origin.
>
> See the changelog for r-base-core, and a couple of r-cran-* packages. The
> option used to be supported upstream, but that stopped in R 2.2.0. I patch
> the R upstream package to emit that string so that we get reminded to fix all
> offending packages. The postinst and postrm should no longer call R to
> update the html index; this is now done by R when help.start() is called.
> Hope this explains it -- cran2deb.pl needs updated postinst/postrm templates
> too.
Thanks for the explanation.
Just for the record, I join my (currently small) diff with the script
in cvs.
Best regards,
Frederic
-------------- next part --------------
Index: cran2deb.pl
===================================================================
RCS file: /cvsroot/pkg-bioc/tools/cran2deb.pl,v
retrieving revision 1.19
diff -u -r1.19 cran2deb.pl
--- cran2deb.pl 14 Jun 2005 10:08:26 -0000 1.19
+++ cran2deb.pl 28 Dec 2005 18:30:18 -0000
@@ -174,51 +174,65 @@
## NB case matters here, need to lowercase before comparison
my @cannotbuild = (
- #"LDheatmap", ## depends on genetics which cannot be build
- "fextremes-201.10060", ## rebuilt binary files differ
- "mimR",
- "R.matlab", ## problems defining the dependency... it complains about the '.' in the name
- "gnomeGUI", ## cannot create regular file `/usr/lib/R/bin/exec/Rgnome': Permission denied
- "BRugs", ## currently only works under Windows.\nIt is supposed to work under Linux in future releases.
- "rcdd", ## requires cddlib not distributed with Debian
- "RWinEdt", ## can only be installed under Windows
- "RmSQL", "ROracle",
- "RSQLite", ## has some Windows libs that trip lintian up
- "RScaLAPACK", ## need to sort -dev packages out
- "RNetCDF", ## doesn't find netcdf in /usr
- "SciViews", ## depends on tcltk but is not on CRAN
- "seao", ## fails with Lintian warning: W: seao source: maintainer-upload-has-incorrect-version-number 0.2.1-0.r2d.1; W: seao source: binary-nmu-debian-revision-in-source 0.2.1-0.r2d.1
- "seao.gui", ## depends on seao
- "spdep", ## build error upon start
- "SoPhy", ## depends on RandomFields which I could not spot (steffen)
- "survey", ## fails with: Error in open.connection(con, "rb") : unable to open connection
- "udunits", ## dep=udunits not in Debian
- "uroot", ## depends on tcltk but is not on CRAN
- "IDPmisc", ## fails with: Error in loadNamespace(name) : There is no package called 'IDPmisc'
- ## "annaffy", ## needs to go to contrib because of KEGG
- ## the next list of packages is mentioned in CRAN's Description subdir
- ## but the tar.gz is not on CRAN. Dates for last test are behind package name
- "gmp", ## 2005-02-21
- "boa", ## 2005-02-21
- #"webbioc", ## needs annaffy which in turn needs metadata
- "stepNorm", ## cannot represent change to DESCRIPTION: binary file contents changed
- #"ontoTools", ## needs Metadata
- #"OLINgui",
- #"edd", ## needs golubEsets
- "GeneTraffic", ## SSOAP
- #"geneplotter", ## needs metadata
- "makePlatformDesign",
- "aCGH", ## build error - need to investigate
- "prada", ## ** preparing package for lazy loading Error in loadNamespace(name) : there is no package called 'prada'
- "rfcdmin", ## mysterious build error
- "RdbiPgSQL", ## needs environment variable
- "iSPlot", ## dependency to RGtk
- "twilight", ## cannot represent change to README: binary file contents changed
- "KEGGSOAP", ## SSOAP (>= 0.2), RCurl (>= 0.4)
- "gpls", ## cannot represent change to NAMESPACE: binary file contents changed
- ## Error in parse(file, n, text, prompt) : syntax error on line 10
- "ratCHRLOC", ## cannot open DESCRIPTION ...
-
+ ## List of packages that fail to build on 2005-12-28
+ "baymvb", ## C++ error in la.cc:201 ('accumulate')
+ "BRugs", ## currently only works under Windows...
+ "coin", ## Needs r-cran-mvnorm.
+ "debug", ## Needs r-cran-mvbutils and tcltk.
+ "lme4", ## no existing definition for function 'coef'
+ "mimR", ## can only be installed/used under Windows.
+ "party", ## Needs modeltools and coin.
+ "pbatR", ## package 'tcltk' could not be loaded
+ "rcdd", ## cddgmp not found or built with C++
+ "rcom", ## can only be installed/used under Windows.
+ "rJava", ## Seems to fail with free Java.
+ "Rlsf", ## Please set the LSF_ENVDIR variable...
+ "RNetCDF", ## Needs udunits library.
+ "RODBC", ## configure: error: cannot find sources (RODBC)
+ "ROracle", ## set the shell variable ORACLE_HOME...
+ "RScaLAPACK", ## Needs libmpich.a (which -dev???).
+ "RWinEdt", ## can only be installed/used under Windows.
+ "SciViews", ## Needs R2HTML and tcltk (2nd pass).
+ "seqinr", ## strip: Unable to recognise the format...
+ "SoPhy", ## Needs r-cran-randomfields and win_linux_aux.cc.
+ "spdep", ## Needs r-cran-maptools and SparseM.
+ "udunits", ## Needs udunits.
+ "uroot", ## Needs tcltk.
+ #"gnomeGUI", ## cannot create regular file `/usr/lib/R/bin/exec/Rgnome': Permission denied (only when building as non root)
+ ## List of packages that build once their dependencies are
+ ## available in the build environment.
+ ## To be installed, for example, by something like:
+ ## dpkg -i builds/r-cran-...
+ #"BACCO", ## Needs r-cran-adapt.
+ #"BMA", ## Needs r-cran-leaps.
+ #"boolean", ## Needs r-cran-rgenoud.
+ #"cyclones", ## Needs r-cran-ncdf.
+ #"deal", ## Needs r-cran-dynamicgraph.
+ #"distr", ## Needs r-cran-setrng.
+ #"distrEx", ## Needs r-cran-distr (2).
+ #"distrSim",## Needs r-cran-distr (2).
+ #"distrTEst", ## Needs r-cran-distr and r-cran-distrsim (3).
+ #"dse", ## Needs r-cran-setrng.
+ #"LDheatmap", ## Needs r-cran-genetics.
+ #"ltm", ## Needs r-cran-msm.
+ #"maptools", ## Needs r-cran-sp.
+ #"MarkedPointProcess", ## Needs r-cran-randomfields.
+ #"orientlib", ## Needs r-cran-scatterplot3d.
+ #"RandVar", ## Needs r-cran-distr and r-cran-distrex (3).
+ #"rgdal", ## Needs r-cran-pixmap.
+ #"R.matlab", ## Needs r-cran-r.oo.
+ #"Rpad", ## Needs r-cran-r2html.
+ #"R.utils", ## Needs r-cran-r.oo.
+ #"SAGx", ## Needs r-cran-multtest and r-cran-sma.
+ #"varSelRF", ## Needs r-cran-randomforest.
+ ## List of packages failing to build on sparc and powerpc architectures.
+ #"gap", ## Needs r-cran-genetics.
+ #"genetics", ## gtools.so: ELF file data encoding not big-endian
+ #"gmodels", ## gtools.so: ELF file data encoding not big-endian
+ #"gplots", ##gtools.so: ELF file data encoding not big-endian
+ #"LDheatmap", ## Needs r-cran-genetics.
+ #"ltm", ## gtools.so:ELF file data encoding not big-endian
+ #"odesolve", ## strip: Unable to recognise the format of...
);
my @cannotbuildamd64 = ("rpvm", ## fails with: /usr/bin/ld: /usr/lib/gcc-lib/x86_64-linux/3.3.5/../../../../lib64/libgpvm3.a(pvmgsu_core.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
More information about the pkg-bioc-devel
mailing list