Closed suujia closed 6 years ago
The Docker Hub build log is at https://hub.docker.com/r/bcgsc/orca/builds/bdtzdechs9zvtybx4lwbvry/
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 method
installed?' 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
@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.
@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.
Notes:
[ ] 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)
[ ] 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.
[ ] simulate-pcr: migrating over to bio, <255> expected but was <2>. Will check this out again.
[ ] python: ModuleNotFoundError: No module named '_gdbm'
google says to use sudo apt-get install python3.6-gdbm
but I will look into it more
[ ] llvm: use :optional or :recommended instead of depends_on "python" if build.with?("python")
if MacOS.version <= :snow_leopard depends_on "python@2" else depends_on "python@2" => :optional end depends_on "cmake" => :build
[ ] swig
[ ] trans-abyss
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.
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.
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: $?
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
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
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",
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
Let's remove Graphlan from ORCA. See also PR https://github.com/brewsci/homebrew-bio/pull/311
$ 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.
I've opened PR https://github.com/Linuxbrew/homebrew-core/pull/8134 to fix the test failure of python
.
I've opened PR https://github.com/bcgsc/orca/pull/54 to fix trans-abyss
by installing python-igraph
.
That hopefully addresses all the failed tests from this batch! I'm closing this issue.
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/
[x] augustus Missing libraries: libboost_iostreams.so.1.66.0 Dependencies with no linkage: boost
[x] mothur Missing libraries: libboost_iostreams.so.1.66.0 Dependencies with no linkage: boost
[x] squeakr Missing libraries: libboost_system-mt.so.1.66.0, libboost_thread-mt.so.1.66.0 Dependencies with no linkage: boost
[x] augustus
Error: augustus: failed
[x] gaemr Error: brewsci/science/gaemr: failed ImportError: No module named Bio
[x] graphlan ImportError: No module named Bio Error: brewsci/science/graphlan: failed
[x] humann2 CRITICAL ERROR: The python version found (version 3.6) does not match the version required (version 2.7+) Error: brewsci/science/humann2: failed
[x] llvm Error: llvm: failed undefined method `installed?' for OS::Mac::Xcode:Module
[x] mothur /home/linuxbrew/.linuxbrew/Cellar/mothur/1.39.5_3/bin/mothur: error while loading shared libraries: libboost_iostreams.so.1.66.0: cannot open shared object file: No such file or directory Error: brewsci/bio/mothur: failed
[x] nonpareil Error: brewsci/bio/nonpareil: failed execution expired
[x] poretools pkg_resources.DistributionNotFound: The 'poretools==0.6.0' distribution was not found and is required by the application Error: brewsci/science/poretools: failed
[x] python Error: python: failed
[x] sdsl-lite Error: brewsci/science/sdsl-lite: failed The selected compiler doesn't support C++11: c_compiler
[x] simulate-pcr Error: brewsci/science/simulate-pcr: failed
<255> expected but was <2>.[x] squeakr Error: brewsci/bio/squeakr: failed
<0> expected but was <127>.[x] swig /home/linuxbrew/.linuxbrew/bin/ld: cannot find -lruby-static Error: swig: failed
[x] trans-abyss ImportError: No module named igraph Error: brewsci/science/trans-abyss: failed