Re: [Rd] CRAN package with dependencies on Bioconductor
On 11-06-14 7:21 PM, Kornelius Rohmeyer wrote: 2011/6/11 Duncan Murdochmurdoch.dun...@gmail.com: [...] I don't understand. It sounds as though you're saying these two contradictory things: - your package works with any version of graph - CRAN builds a version of graph that is incompatible with your package. No, the first statement is correct but not the second: - Installed from source my package works with any version of graph and also: - A binary of my package built with graph 1.28 will work with graph 1.28. - A binary of my package built with graph 1.30 will work with graph 1.30. - But a binary of my package built with graph 1.30 will not work with graph 1.28. Thanks, now I understand the issue. It sounds as though it has been solved, but while it is in your mind, it might be worth adding some defensive code in case something similar happens in the future. Can you check on version numbers at load time to give a helpful error message about the problem if it arises again? Duncan Murdoch (If it is surprising for anyone, that this can happen, we can go into detail here. I doubt that this is the place to fix things, but maybe I am wrong?) I personally found it unfortunate, that due to different policies of CRAN and Bioconductor for R 2.12 there are (up to my knowledge) no more any binary packages of gMCP and graph available for R 2.12 that are compatible. (In this case the problem can be solved manually by installing the graph package binary from Bioconductor for R 2.13 that works also for R 2.12.) I am not involved with setting CRAN policy, but their current policy (build the most recent version of a package that declares itself compatible with the relevant version of R) seems reasonable. Personally I find it more reasonable to apply the Bioconductor policy to Bioconductor packages that are installed on CRAN for building packages that depend on those. But you and Uwe seem to disagree. Since this is (IMHO) a matter of taste and where one assigns priorities and these seem to differ, there is not much to discuss… Thanks for the clear advise and also thanks to all CRAN maintainers for the great services nevertheless! Best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
On 15.06.2011 01:21, Kornelius Rohmeyer wrote: 2011/6/11 Duncan Murdochmurdoch.dun...@gmail.com: [...] I don't understand. It sounds as though you're saying these two contradictory things: - your package works with any version of graph - CRAN builds a version of graph that is incompatible with your package. No, the first statement is correct but not the second: - Installed from source my package works with any version of graph and also: - A binary of my package built with graph 1.28 will work with graph 1.28. - A binary of my package built with graph 1.30 will work with graph 1.30. - But a binary of my package built with graph 1.30 will not work with graph 1.28. (If it is surprising for anyone, that this can happen, we can go into detail here. I doubt that this is the place to fix things, but maybe I am wrong?) Sure, this can happen, particularly with compiled code or S4 stuff in the packages. I personally found it unfortunate, that due to different policies of CRAN and Bioconductor for R 2.12 there are (up to my knowledge) no more any binary packages of gMCP and graph available for R 2.12 that are compatible. (In this case the problem can be solved manually by installing the graph package binary from Bioconductor for R 2.13 that works also for R 2.12.) Your package has been recompiled against graph 1.28. Triggering an install.packages(yourpackage) will install a version that works, even for R-2.12.x I am not involved with setting CRAN policy, but their current policy (build the most recent version of a package that declares itself compatible with the relevant version of R) seems reasonable. Personally I find it more reasonable to apply the Bioconductor policy to Bioconductor packages that are installed on CRAN for building packages that depend on those. No no no! graph was a CRAN package up to few weeks ago. AAnd as a CRAN package the CRAN policy applied. Now that it was removed, it is fine and handled as a BioC package anayway. It was just the case that graph 1.30 was a CRAN package once and hence your package was built against that one. Now that you told us we rebuilt your package after graph 1.30 was removed from CRAN and it should be fine. But it looks like you have not even tested! Uwe But you and Uwe seem to disagree. Since this is (IMHO) a matter of taste and where one assigns priorities and these seem to differ, there is not much to discuss… Thanks for the clear advise and also thanks to all CRAN maintainers for the great services nevertheless! Best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
Am 15. Juni 2011 09:19 schrieb Uwe Ligges lig...@statistik.tu-dortmund.de: On 15.06.2011 01:21, Kornelius Rohmeyer wrote: 2011/6/11 Duncan Murdochmurdoch.dun...@gmail.com: [...] I don't understand. It sounds as though you're saying these two contradictory things: - your package works with any version of graph - CRAN builds a version of graph that is incompatible with your package. No, the first statement is correct but not the second: - Installed from source my package works with any version of graph and also: - A binary of my package built with graph 1.28 will work with graph 1.28. - A binary of my package built with graph 1.30 will work with graph 1.30. - But a binary of my package built with graph 1.30 will not work with graph 1.28. (If it is surprising for anyone, that this can happen, we can go into detail here. I doubt that this is the place to fix things, but maybe I am wrong?) Sure, this can happen, particularly with compiled code or S4 stuff in the packages. I personally found it unfortunate, that due to different policies of CRAN and Bioconductor for R 2.12 there are (up to my knowledge) no more any binary packages of gMCP and graph available for R 2.12 that are compatible. (In this case the problem can be solved manually by installing the graph package binary from Bioconductor for R 2.13 that works also for R 2.12.) Your package has been recompiled against graph 1.28. Triggering an install.packages(yourpackage) will install a version that works, even for R-2.12.x I am not involved with setting CRAN policy, but their current policy (build the most recent version of a package that declares itself compatible with the relevant version of R) seems reasonable. Personally I find it more reasonable to apply the Bioconductor policy to Bioconductor packages that are installed on CRAN for building packages that depend on those. No no no! graph was a CRAN package up to few weeks ago. AAnd as a CRAN package the CRAN policy applied. Now that it was removed, it is fine and handled as a BioC package anayway. It was just the case that graph 1.30 was a CRAN package once and hence your package was built against that one. Now that you told us we rebuilt your package after graph 1.30 was removed from CRAN and it should be fine. But it looks like you have not even tested! The package was already built 18 days after graph was removed from CRAN… I'll try to ignore the But it looks like you have not even tested! since I tested it 4 days ago, when it did not work. And since I had no notice up to today that it was rebuilt with a new (i.e. old) version of the graph package, I did not expect that it had changed already (also my computer is not a Windows machine, which makes testing more complicated). Nevertheless a big, big thank you and I'm sorry that such a small problem caused such a lengthy conservation. Thanks and best regards, Kornelius. Uwe But you and Uwe seem to disagree. Since this is (IMHO) a matter of taste and where one assigns priorities and these seem to differ, there is not much to discuss… Thanks for the clear advise and also thanks to all CRAN maintainers for the great services nevertheless! Best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
2011/6/11 Duncan Murdoch murdoch.dun...@gmail.com: [...] I don't understand. It sounds as though you're saying these two contradictory things: - your package works with any version of graph - CRAN builds a version of graph that is incompatible with your package. No, the first statement is correct but not the second: - Installed from source my package works with any version of graph and also: - A binary of my package built with graph 1.28 will work with graph 1.28. - A binary of my package built with graph 1.30 will work with graph 1.30. - But a binary of my package built with graph 1.30 will not work with graph 1.28. (If it is surprising for anyone, that this can happen, we can go into detail here. I doubt that this is the place to fix things, but maybe I am wrong?) I personally found it unfortunate, that due to different policies of CRAN and Bioconductor for R 2.12 there are (up to my knowledge) no more any binary packages of gMCP and graph available for R 2.12 that are compatible. (In this case the problem can be solved manually by installing the graph package binary from Bioconductor for R 2.13 that works also for R 2.12.) I am not involved with setting CRAN policy, but their current policy (build the most recent version of a package that declares itself compatible with the relevant version of R) seems reasonable. Personally I find it more reasonable to apply the Bioconductor policy to Bioconductor packages that are installed on CRAN for building packages that depend on those. But you and Uwe seem to disagree. Since this is (IMHO) a matter of taste and where one assigns priorities and these seem to differ, there is not much to discuss… Thanks for the clear advise and also thanks to all CRAN maintainers for the great services nevertheless! Best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
Note that until May 8 graph was a CRAN packge and the current version was 1.30.0. So of course CRAN binary packages built between April 26 and May 8 were built against the current CRAN version of graph, for any version of R. On Fri, 10 Jun 2011, Martin Morgan wrote: On 06/10/2011 05:46 PM, Kornelius Rohmeyer wrote: Dear Martin, thanks for your response. The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. biocLite is returning the correct package -- graph 1.28.0. graph 1.30 did not come in to existence until the most recent release, 2011-04-13, approximately when R-2.13 became the current release version. CRAN is building packages with the current release, R-2.13, for which biocLite and install.packages both (correctly) return graph 1.30. I doubt this, i.e. CRAN is also still building packages for R 2.12 - and is using graph 1.30 for this as far as I understand it (instead of 1.28). I'm not intimately familiar with CRAN's build system, so perhaps I mis-spoke; Bioconductor packages are versioned in synchrony with R releases. If your package requires graph = 1.30, specify that in the DESCRIPTION. If your users want features introduced when your package requires graph = 1.30, direct them to use R = 2.13. Martin Are there ways to make dependencies on Bioconductor less complicated? Use the current version of R. So you agree that it is impossible to give a reasonable instruction install such binary packages for older versions of R like the four month old R 2.12? (Reasonable means without manual installation of packages in the correct versions - where the correct versions have to be found out by the maintainer.) Best regards, Kornelius. -- Computational Biology Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: M1-B861 Telephone: 206 667-2793 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Brian D. Ripley, rip...@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UKFax: +44 1865 272595 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
2011/6/11 Prof Brian Ripley rip...@stats.ox.ac.uk: Note that until May 8 graph was a CRAN packge and the current version was 1.30.0. So of course CRAN binary packages built between April 26 and May 8 were built against the current CRAN version of graph, for any version of R. Thanks for the notice! But if I am not wrong, a version of my package that was published on May 26 and build therefore after the time period specified by you still suffers from these version incompatibilities. (Nevertheless it is of course possible that the problem is only caused by the migration to Bioconductor and in this case less problematic and only unfortunate in this one case). Perhaps the version downgrade of the graph package caused problems? So you say that the versions of Bioconductor packages on CRAN for binary builds are already normally the same as you would get by installing them as binaries from Bioconductor? (And btw. is there a way to find out which versions of the dependent packages were used for building a certain binary package?) Thanks and best regards, Kornelius. On Fri, 10 Jun 2011, Martin Morgan wrote: On 06/10/2011 05:46 PM, Kornelius Rohmeyer wrote: Dear Martin, thanks for your response. The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. biocLite is returning the correct package -- graph 1.28.0. graph 1.30 did not come in to existence until the most recent release, 2011-04-13, approximately when R-2.13 became the current release version. CRAN is building packages with the current release, R-2.13, for which biocLite and install.packages both (correctly) return graph 1.30. I doubt this, i.e. CRAN is also still building packages for R 2.12 - and is using graph 1.30 for this as far as I understand it (instead of 1.28). I'm not intimately familiar with CRAN's build system, so perhaps I mis-spoke; Bioconductor packages are versioned in synchrony with R releases. If your package requires graph = 1.30, specify that in the DESCRIPTION. If your users want features introduced when your package requires graph = 1.30, direct them to use R = 2.13. Martin Are there ways to make dependencies on Bioconductor less complicated? Use the current version of R. So you agree that it is impossible to give a reasonable instruction install such binary packages for older versions of R like the four month old R 2.12? (Reasonable means without manual installation of packages in the correct versions - where the correct versions have to be found out by the maintainer.) Best regards, Kornelius. -- Computational Biology Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: M1-B861 Telephone: 206 667-2793 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Brian D. Ripley, rip...@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
On Sat, 11 Jun 2011, Kornelius Rohmeyer wrote: 2011/6/11 Prof Brian Ripley rip...@stats.ox.ac.uk: Note that until May 8 graph was a CRAN packge and the current version was 1.30.0. So of course CRAN binary packages built between April 26 and May 8 were built against the current CRAN version of graph, for any version of R. Thanks for the notice! But if I am not wrong, a version of my package that was published on May 26 and build therefore after the time period specified by you still suffers from these version incompatibilities. (Nevertheless it is of course possible that the problem is only caused by the migration to Bioconductor and in this case less problematic and only unfortunate in this one case). Perhaps the version downgrade of the graph package caused problems? So you say that the versions of Bioconductor packages on CRAN for binary builds are already normally the same as you would get by installing them as binaries from Bioconductor? No, I did not say that. [...] -- Brian D. Ripley, rip...@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UKFax: +44 1865 272595__ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
2011/6/11 Prof Brian Ripley rip...@stats.ox.ac.uk: On Sat, 11 Jun 2011, Kornelius Rohmeyer wrote: 2011/6/11 Prof Brian Ripley rip...@stats.ox.ac.uk: Note that until May 8 graph was a CRAN packge and the current version was 1.30.0. So of course CRAN binary packages built between April 26 and May 8 were built against the current CRAN version of graph, for any version of R. Thanks for the notice! But if I am not wrong, a version of my package that was published on May 26 and build therefore after the time period specified by you still suffers from these version incompatibilities. (Nevertheless it is of course possible that the problem is only caused by the migration to Bioconductor and in this case less problematic and only unfortunate in this one case). Perhaps the version downgrade of the graph package caused problems? So you say that the versions of Bioconductor packages on CRAN for binary builds are already normally the same as you would get by installing them as binaries from Bioconductor? No, I did not say that. That means that for a binary package that depends on Bioconductor packages you sometimes need a bit of luck to select the correct versions of binary Bioconductor packages? Or is there a way to tell which (and an easy way to install them)? Thanks and best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
Actually I do not understand what is so hard to understand with CRAN policy. This is: Any source package on CRAN is build in binary form with R-release/patched and R-oldrelease. This does not happen if you tell your package it requires a particular R version - such as the declaration R (= 2.13.0) in the Depends field will cause the package not to be build as a binary. Anotehr exception would be if the package does not longer pass the checks and gives an ERROR, in that case we also keep the old version in the binary repository. On CRAN we assume that R-2.12.x users may want to get a bugfix release of a package without the requirement to upgrade R, hence we distribute new or updates packages for the oldrelease version (which is current R-2.12.x). And if BioC has a different policy, that is fine with us. Uwe Ligges On 11.06.2011 10:20, Kornelius Rohmeyer wrote: 2011/6/11 Prof Brian Ripleyrip...@stats.ox.ac.uk: On Sat, 11 Jun 2011, Kornelius Rohmeyer wrote: 2011/6/11 Prof Brian Ripleyrip...@stats.ox.ac.uk: Note that until May 8 graph was a CRAN packge and the current version was 1.30.0. So of course CRAN binary packages built between April 26 and May 8 were built against the current CRAN version of graph, for any version of R. Thanks for the notice! But if I am not wrong, a version of my package that was published on May 26 and build therefore after the time period specified by you still suffers from these version incompatibilities. (Nevertheless it is of course possible that the problem is only caused by the migration to Bioconductor and in this case less problematic and only unfortunate in this one case). Perhaps the version downgrade of the graph package caused problems? So you say that the versions of Bioconductor packages on CRAN for binary builds are already normally the same as you would get by installing them as binaries from Bioconductor? No, I did not say that. That means that for a binary package that depends on Bioconductor packages you sometimes need a bit of luck to select the correct versions of binary Bioconductor packages? Or is there a way to tell which (and an easy way to install them)? Thanks and best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
On 11-06-11 1:09 AM, Kornelius Rohmeyer wrote: 2011/6/11 Duncan Murdochmurdoch.dun...@gmail.com: On 11-06-10 7:04 PM, Kornelius Rohmeyer wrote: Dear all, for a CRAN-package that depends on another Bioconductor-package I find two things annoying and would like to know whether there are some workarounds: 1) Is there some inevitable problem that install.packages does not install uninstalled packages (on which the specified package depends) also from Bioconductor (in the correct version)? 2) In my understanding (please correct me if I'm wrong!) CRAN uses bioconductor packages in another version than biocLite would install. For example: Our package gMCP depends on the package graph that has recently switched to the bioconductor repositories. But even the following commands will fail (i.e. install incompatible versions) for R 2.12 under Windows (and most likely MacOS): source(http://www.bioconductor.org/biocLite.R;) biocLite(graph) install.packages(gMCP) This results in errors like the following: BonferroniHolmGraph(2) Error in validObject(.Object) : invalid class graphMCP object: superclass graphBase not defined in the environment of the object's class The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. Are there ways to make dependencies on Bioconductor less complicated? Users of your package are likely to have issues; make sure you document that they need to include the Bioconductor repository as well as CRAN. You can specify a version in a dependency (or a version range). I don't know if BioC will make old versions available in binary formats, but they will probably make source versions available. Duncan Murdoch Dear Duncan, the main problem is not addressed by specifying a certain version (or at least I do not see how), since it's not the case that the package requires certain versions. I don't understand. It sounds as though you're saying these two contradictory things: - your package works with any version of graph - CRAN builds a version of graph that is incompatible with your package. The problem is that the default binary packages of the CRAN package and the Bioconductor package it depends on are incompatible for R 2.12, since CRAN uses a different version of the Bioconductor package for building. (For the source packages of course no problem exists.) Btw. is there a way to find out which versions of the dependent packages were used for building a certain binary package? (I guess in the moment, that CRAN uses always the newest available source packages.) These kind of incompatibilities are extremely hard to track for the package developer. So if there is not a way to install the correct corresponding compatible binary packages from CRAN and Bioconductor, may I suggest that CRAN uses the same versions of dependent Bioconductor packages for the build of binary packages as Bioconductor is providing in binary form by default for the respective R versions? I am not involved with setting CRAN policy, but their current policy (build the most recent version of a package that declares itself compatible with the relevant version of R) seems reasonable. If for whatever reason this doesn't work for your package with R 2.12.x, I see two possible solutions: - Declare that your package now depends on R 2.13.0 or better. - Move your package to Bioconductor, if its policy for binary builds better matches your needs. Duncan Murdoch Or am totally on the wrong track? Thank you very much and best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] CRAN package with dependencies on Bioconductor
Dear all, for a CRAN-package that depends on another Bioconductor-package I find two things annoying and would like to know whether there are some workarounds: 1) Is there some inevitable problem that install.packages does not install uninstalled packages (on which the specified package depends) also from Bioconductor (in the correct version)? 2) In my understanding (please correct me if I'm wrong!) CRAN uses bioconductor packages in another version than biocLite would install. For example: Our package gMCP depends on the package graph that has recently switched to the bioconductor repositories. But even the following commands will fail (i.e. install incompatible versions) for R 2.12 under Windows (and most likely MacOS): source(http://www.bioconductor.org/biocLite.R;) biocLite(graph) install.packages(gMCP) This results in errors like the following: BonferroniHolmGraph(2) Error in validObject(.Object) : invalid class graphMCP object: superclass graphBase not defined in the environment of the object's class The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. Are there ways to make dependencies on Bioconductor less complicated? Thanks and best regards, Kornelius [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
I'm sorry for sending a wrongly formated mail before. This is the missing text: Dear all, for a CRAN-package that depends on another Bioconductor-package I find two things annoying and would like to know whether there are some workarounds: 1) Is there some inevitable problem that install.packages does not install uninstalled packages (on which the specified package depends) also from Bioconductor (in the correct version)? 2) In my understanding (please correct me if I'm wrong!) CRAN uses bioconductor packages in another version than biocLite would install. For example: Our package gMCP depends on the package graph that has recently switched to the bioconductor repositories. But even the following commands will fail (i.e. install incompatible versions) for R 2.12 under Windows (and most likely MacOS): source(http://www.bioconductor.org/biocLite.R;) biocLite(graph) install.packages(gMCP) This results in errors like the following: BonferroniHolmGraph(2) Error in validObject(.Object) : invalid class graphMCP object: superclass graphBase not defined in the environment of the object's class The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. Are there ways to make dependencies on Bioconductor less complicated? Thanks and best regards, Kornelius __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
On 06/10/2011 04:04 PM, Kornelius Rohmeyer wrote: I'm sorry for sending a wrongly formated mail before. This is the missing text: Dear all, for a CRAN-package that depends on another Bioconductor-package I find two things annoying and would like to know whether there are some workarounds: 1) Is there some inevitable problem that install.packages does not install uninstalled packages (on which the specified package depends) also from Bioconductor (in the correct version)? I don't understand what you are asking; a previously installed but then uninstalled package will not influence the ability of R to reinstall it. 2) In my understanding (please correct me if I'm wrong!) CRAN uses bioconductor packages in another version than biocLite would install. For example: Usually, if you setRepositories() and choose BioCsoft, then you will have chosen the correct (i.e., 'same as biocLite') bioc repository for your version of R (this can be scripted by inspecting read.table(file.path(R.home(etc), repositories), header=TRUE, sep=\t) and using appropriate row indexes as the 'ind' argument to setRepositories). Our package gMCP depends on the package graph that has recently switched to the bioconductor repositories. But even the following commands will fail (i.e. install incompatible versions) for R 2.12 under Windows (and most likely MacOS): source(http://www.bioconductor.org/biocLite.R;) biocLite(graph) install.packages(gMCP) This results in errors like the following: BonferroniHolmGraph(2) Error in validObject(.Object) : invalid class graphMCP object: superclass graphBase not defined in the environment of the object's class The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. biocLite is returning the correct package -- graph 1.28.0. graph 1.30 did not come in to existence until the most recent release, 2011-04-13, approximately when R-2.13 became the current release version. CRAN is building packages with the current release, R-2.13, for which biocLite and install.packages both (correctly) return graph 1.30. Are there ways to make dependencies on Bioconductor less complicated? Use the current version of R. FWIW, part of the motivation for hosting graph only on Bioconductor (previously it was dual-hosted) is to simplify version problems -- prior to the change, the CRAN version was several releases out of date! Martin Thanks and best regards, Kornelius __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Computational Biology Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: M1-B861 Telephone: 206 667-2793 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
On 11-06-10 7:04 PM, Kornelius Rohmeyer wrote: I'm sorry for sending a wrongly formated mail before. This is the missing text: Dear all, for a CRAN-package that depends on another Bioconductor-package I find two things annoying and would like to know whether there are some workarounds: 1) Is there some inevitable problem that install.packages does not install uninstalled packages (on which the specified package depends) also from Bioconductor (in the correct version)? 2) In my understanding (please correct me if I'm wrong!) CRAN uses bioconductor packages in another version than biocLite would install. For example: Our package gMCP depends on the package graph that has recently switched to the bioconductor repositories. But even the following commands will fail (i.e. install incompatible versions) for R 2.12 under Windows (and most likely MacOS): source(http://www.bioconductor.org/biocLite.R;) biocLite(graph) install.packages(gMCP) This results in errors like the following: BonferroniHolmGraph(2) Error in validObject(.Object) : invalid class graphMCP object: superclass graphBase not defined in the environment of the object's class The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. Are there ways to make dependencies on Bioconductor less complicated? Users of your package are likely to have issues; make sure you document that they need to include the Bioconductor repository as well as CRAN. You can specify a version in a dependency (or a version range). I don't know if BioC will make old versions available in binary formats, but they will probably make source versions available. Duncan Murdoch __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
Dear Martin, thanks for your response. The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. biocLite is returning the correct package -- graph 1.28.0. graph 1.30 did not come in to existence until the most recent release, 2011-04-13, approximately when R-2.13 became the current release version. CRAN is building packages with the current release, R-2.13, for which biocLite and install.packages both (correctly) return graph 1.30. I doubt this, i.e. CRAN is also still building packages for R 2.12 - and is using graph 1.30 for this as far as I understand it (instead of 1.28). Are there ways to make dependencies on Bioconductor less complicated? Use the current version of R. So you agree that it is impossible to give a reasonable instruction to install such binary packages for older versions of R like the four month old R 2.12? (Reasonable means without manual installation of packages in the correct versions - where the correct versions have to be found out by the maintainer.) Best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
On 06/10/2011 05:46 PM, Kornelius Rohmeyer wrote: Dear Martin, thanks for your response. The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. biocLite is returning the correct package -- graph 1.28.0. graph 1.30 did not come in to existence until the most recent release, 2011-04-13, approximately when R-2.13 became the current release version. CRAN is building packages with the current release, R-2.13, for which biocLite and install.packages both (correctly) return graph 1.30. I doubt this, i.e. CRAN is also still building packages for R 2.12 - and is using graph 1.30 for this as far as I understand it (instead of 1.28). I'm not intimately familiar with CRAN's build system, so perhaps I mis-spoke; Bioconductor packages are versioned in synchrony with R releases. If your package requires graph = 1.30, specify that in the DESCRIPTION. If your users want features introduced when your package requires graph = 1.30, direct them to use R = 2.13. Martin Are there ways to make dependencies on Bioconductor less complicated? Use the current version of R. So you agree that it is impossible to give a reasonable instruction install such binary packages for older versions of R like the four month old R 2.12? (Reasonable means without manual installation of packages in the correct versions - where the correct versions have to be found out by the maintainer.) Best regards, Kornelius. -- Computational Biology Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: M1-B861 Telephone: 206 667-2793 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
2011/6/11 Martin Morgan mtmor...@fhcrc.org: On 06/10/2011 05:46 PM, Kornelius Rohmeyer wrote: Dear Martin, thanks for your response. The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. biocLite is returning the correct package -- graph 1.28.0. graph 1.30 did not come in to existence until the most recent release, 2011-04-13, approximately when R-2.13 became the current release version. CRAN is building packages with the current release, R-2.13, for which biocLite and install.packages both (correctly) return graph 1.30. I doubt this, i.e. CRAN is also still building packages for R 2.12 - and is using graph 1.30 for this as far as I understand it (instead of 1.28). I'm not intimately familiar with CRAN's build system, so perhaps I mis-spoke; Bioconductor packages are versioned in synchrony with R releases. If your package requires graph = 1.30, specify that in the DESCRIPTION. If your users want features introduced when your package requires graph = 1.30, direct them to use R = 2.13. I understand this. But my package does not require graph = 1.30. (And if I install the source packages everything is always fine.) The problem is again that R 2.12 installs graph 1.28 but the CRAN packages for R 2.12 are build for graph 1.30. So the default binary packages are incompatible for R 2.12. Best regards, Kornelius. Martin Are there ways to make dependencies on Bioconductor less complicated? Use the current version of R. So you agree that it is impossible to give a reasonable instruction install such binary packages for older versions of R like the four month old R 2.12? (Reasonable means without manual installation of packages in the correct versions - where the correct versions have to be found out by the maintainer.) Best regards, Kornelius. -- Computational Biology Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: M1-B861 Telephone: 206 667-2793 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] CRAN package with dependencies on Bioconductor
2011/6/11 Duncan Murdoch murdoch.dun...@gmail.com: On 11-06-10 7:04 PM, Kornelius Rohmeyer wrote: Dear all, for a CRAN-package that depends on another Bioconductor-package I find two things annoying and would like to know whether there are some workarounds: 1) Is there some inevitable problem that install.packages does not install uninstalled packages (on which the specified package depends) also from Bioconductor (in the correct version)? 2) In my understanding (please correct me if I'm wrong!) CRAN uses bioconductor packages in another version than biocLite would install. For example: Our package gMCP depends on the package graph that has recently switched to the bioconductor repositories. But even the following commands will fail (i.e. install incompatible versions) for R 2.12 under Windows (and most likely MacOS): source(http://www.bioconductor.org/biocLite.R;) biocLite(graph) install.packages(gMCP) This results in errors like the following: BonferroniHolmGraph(2) Error in validObject(.Object) : invalid class graphMCP object: superclass graphBase not defined in the environment of the object's class The superclass graphBase is introduced in graph 1.30. In my understanding the problem is that our package gMCP is build on CRAN for R 2.12 with the package graph in version 1.30. Unfortunately biocLite installs graph_1.28.0.zip for R 2.12. Are there ways to make dependencies on Bioconductor less complicated? Users of your package are likely to have issues; make sure you document that they need to include the Bioconductor repository as well as CRAN. You can specify a version in a dependency (or a version range). I don't know if BioC will make old versions available in binary formats, but they will probably make source versions available. Duncan Murdoch Dear Duncan, the main problem is not addressed by specifying a certain version (or at least I do not see how), since it's not the case that the package requires certain versions. The problem is that the default binary packages of the CRAN package and the Bioconductor package it depends on are incompatible for R 2.12, since CRAN uses a different version of the Bioconductor package for building. (For the source packages of course no problem exists.) Btw. is there a way to find out which versions of the dependent packages were used for building a certain binary package? (I guess in the moment, that CRAN uses always the newest available source packages.) These kind of incompatibilities are extremely hard to track for the package developer. So if there is not a way to install the correct corresponding compatible binary packages from CRAN and Bioconductor, may I suggest that CRAN uses the same versions of dependent Bioconductor packages for the build of binary packages as Bioconductor is providing in binary form by default for the respective R versions? Or am totally on the wrong track? Thank you very much and best regards, Kornelius. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel