bcgsc / orca

:whale: Genomics Research Container Architecture
http://www.bcgsc.ca/services/orca
GNU General Public License v3.0
48 stars 13 forks source link

Failed Tests #48

Closed suujia closed 6 years ago

suujia commented 6 years ago
sjackman commented 6 years ago

The Docker Hub build log is at https://hub.docker.com/r/bcgsc/orca/builds/bdtzdechs9zvtybx4lwbvry/

sjackman commented 6 years ago

Missing libraries: libboost_iostreams.so.1.66.0

These precompiled binary packages (called bottles in Brew) need to be rebuilt with the new version of boost.

ImportError: No module named Bio

It's not finding its dependency Biopython. I believe this ORCA image installs Biopython only for Python 3. It's possible that this tool uses Python 2, and so is not finding its Biopython dependency. The two options would be to update the formula to use Python 3 instead of Python 2 if possible (preferred), or install Biopython for both Python 2 and Python 3.

CRITICAL ERROR: The python version found (version 3.6) does not match the version required (version 2.7+)

This formula needs to be modified to use Python 2 rather than Python 3.

undefined methodinstalled?' for OS::Mac::Xcode:Module`

This formula needs a fix to eliminate this error.

execution expired

This error means that a particular command (usually brew test) took longer than five minutes to execute. You can try testing the failed command locally and see how long it takes. I've seen a few commands that seem to take longer when run by Docker Hub than what I've seen locally. I've been disabling and ignoring these failed tests so far. I'd like to find a better solution.

pkg_resources.DistributionNotFound: The 'poretools==0.6.0' distribution was not found and is required by the application

Looks like a missing Python dependency. Best to migrate this formula from Brewsci/science to Brewsci/bio.

Error: python: failed

That's odd.

The selected compiler doesn't support C++11: c_compiler

Weird. The default compiler is GCC 5, which does support C++11. Best to migrate this formula from Brewsci/science to Brewsci/bio.

Error: brewsci/science/simulate-pcr: failed <255> expected but was <2>. Error: brewsci/bio/squeakr: failed <0> expected but was <127>.

Can you reproduce these errors locally?

/home/linuxbrew/.linuxbrew/bin/ld: cannot find -lruby-static

Likely needs depends_on "ruby" => :test.

ImportError: No module named igraph

There's an open PR to migrate Trans-ABySS https://github.com/brewsci/homebrew-bio/pull/232

sjackman commented 6 years ago

@suujia Can you please install poretools locally, replicate this error, and attempt to fix it? I suspect the issue is that this formula was using Python 2 previously, and ought to be using Python 3 now, if possible. If Python 3 is not possible, use Python 2. Change this line

  depends_on "python" if MacOS.version <= :snow_leopard

to either for Python 3 (if possible)

  depends_on "python"

or if that doesn't work for Python 2

  depends_on "python@2"

and remove if MacOS.version <= :snow_leopard

Once you have brew install poretools and brew test poretools working on your local machine, you can use brew migrate-formula to open a PR for Brewsci/bio.

sjackman commented 6 years ago

@suujia The augustus bottle needs to be rebuilt, but only on Linux. It works on macOS.

$ brew linkage augustus
…
Missing libraries:
  libboost_iostreams.so.1.66.0

To do that, open a PR against Linuxbrew/homebrew-core (not Homebrew/homebrew-core) and make the following change…

diff --git a/Formula/augustus.rb b/Formula/augustus.rb
index 5130156142..4182a17ffb 100644
--- a/Formula/augustus.rb
+++ b/Formula/augustus.rb
@@ -3,13 +3,12 @@ class Augustus < Formula
   homepage "http://bioinf.uni-greifswald.de/augustus/"
   url "http://bioinf.uni-greifswald.de/augustus/binaries/augustus-3.3.tar.gz"
   sha256 "b5eb811a4c33a2cc3bbd16355e19d530eeac6d1ac923e59f48d7a79f396234ee"
-  revision OS.mac? ? 1 : 2
+  revision OS.mac? ? 1 : 3

   bottle do
     sha256 "6ffeac4edd4805321ea0957959f85da8cc1f5978cdc8a98903a78c407d5d183e" => :high_sierra
     sha256 "b87f6e5824186aaa1a02cc6665dde1328a4255aed653de85edd3e4bd40f65c60" => :sierra
     sha256 "19a761ef4afa0cd5e9699b59b11eaac2e7e1d3dbfa14e2c8ced1b27eb57c2c1e" => :el_capitan
-    sha256 "30cd29d89268db39060cd33e0cc87f108884b09d4fd5921dd451fc3f38ba3823" => :x86_64_linux
   end

   depends_on "bamtools"

The easiest way to do that may be to use the GitHub web interface to edit the formula. Browse to https://github.com/Linuxbrew/homebrew-core/blob/master/Formula/augustus.rb then select the pen icon Edit this file, make the changes, and open a pull request. Please tag me in the pull request and request me as a reviewer.

suujia commented 6 years ago

Notes:

sjackman commented 6 years ago
warning: gcc was built with different C++ standard library (libstdc++ from clang)

This warning can usually be ignored so long as the package is working. If it's not working, it may be worth looking into.

sjackman commented 6 years ago

poretools: migrating over to bio, changed to python3 and still doesn't work -- upgraded (numpy and hdf5 on docker02) (freetype on local) and got message <0> expected but was <1> for both.

When you run brew test poretools locally, do you get the same error message? Can you please open a PR to migrate poretools? It's okay if it doesn't yet work on your local machine. That we can troubleshoot in that new issue using the help of CI.

sjackman commented 6 years ago
simulate-pcr: migrating over to bio, <255> expected but was <2>. Will check this out again.

That number refers to the exit status of the command. Try running locally…

simulate_PCR
echo exit status: $?
sjackman commented 6 years ago

python: ModuleNotFoundError: No module named '_gdbm' google says to use sudo apt-get install python3.6-gdbm but I will look into it more

This line of the test is failing, which is likely a bug.

    system "#{bin}/python#{xy}", "-c", "import _gdbm"

It's odd though, because the formula already has…

  depends_on "gdbm"

Try…

brew linkage python
brew list python | grep gdbm
sjackman commented 6 years ago

nonpareil: works locally, but fails on docker02. I did brew upgrade r (R version 3.5.0) then audit -strict and test ran perfectly. (brew install r is located in orca-0), not sure what to change it to. also warning: gcc was built with different C++ standard library (libstdc++ from clang)

The error message execution expired means that the test took longer than five minutes. How long does it take locally on your machine? I've seen this a few times, and if I haven't been able to reproduce it, I disable the test on ORCA, ignoring the failure.

https://github.com/bcgsc/orca/blob/0f31665486c336fa073deaadd98e98d60943396d/docker.test.yml#L14

sjackman commented 6 years ago
 llvm
Error: llvm: failed
undefined method `installed?' for OS::Mac::Xcode:Module

Please submit the following PR to Linuxbrew/homebrew-core (not Homebrew/homebrew-core).

diff --git a/Formula/llvm.rb b/Formula/llvm.rb
index 8d48445af1..6a805aebd1 100644
--- a/Formula/llvm.rb
+++ b/Formula/llvm.rb
@@ -430,7 +430,7 @@ class Llvm < Formula
     end

     # Testing Xcode
-    if MacOS::Xcode.installed?
+    if OS.mac? && MacOS::Xcode.installed?
       libclangxc = Dir["#{MacOS::Xcode.toolchain_path}/usr/lib/clang/#{DevelopmentTools.clang_version}*"].last { |f| File.directory? f }

       system "#{bin}/clang++", "-v", "-nostdinc",
sjackman commented 6 years ago

GAEMR hasn't been updated since 2012. I'm thinking that we should refocus our ORCA efforts on actively maintained packages. Let's remove GAEMR from ORCA. See also PR https://github.com/brewsci/homebrew-bio/pull/261

sjackman commented 6 years ago

Let's remove Graphlan from ORCA. See also PR https://github.com/brewsci/homebrew-bio/pull/311

sjackman commented 6 years ago
$ time brew test nonpareil
Testing brewsci/bio/nonpareil
==> /home/linuxbrew/.linuxbrew/Cellar/nonpareil/3.3.1/bin/nonpareil -s /tmp/nonp
==> /home/linuxbrew/.linuxbrew/Cellar/nonpareil/3.3.1/bin/nonpareil -s /tmp/nonp

real    0m4.502s
user    0m4.808s
sys 0m1.276s

This test is successful and takes only ~5 s on docker02. I'm not sure why it's expiring on hub.docker.com.

I've opened PR https://github.com/bcgsc/orca/pull/53 to disable this test.

sjackman commented 6 years ago

I've opened PR https://github.com/Linuxbrew/homebrew-core/pull/8134 to fix the test failure of python.

sjackman commented 6 years ago

I've opened PR https://github.com/bcgsc/orca/pull/54 to fix trans-abyss by installing python-igraph.

sjackman commented 6 years ago

That hopefully addresses all the failed tests from this batch! I'm closing this issue.

sjackman commented 6 years ago

Thanks for your work on this issue, Susie! I'm trying a new build of ORCA on Docker Hub over at https://hub.docker.com/r/bcgsc/orca/builds/