Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Fix for bx-python build issue and potential fix for bottle.py import error #145

Merged
merged 1 commit into from

2 participants

@chapmanb
Collaborator

Aaron;
This provides an explicit bx-python build which should fix issue #143.

For issue #144, it removes the extra bottle.py(c) in the bin directory to avoid the double import. I'm not sure if this is causing the segfault, but it will at least remove the warning. For gemini we don't need to run bottle from the commandline, so only need the version in site-packages.

@chapmanb chapmanb Fixes for build issues: install bx-python via a separate command (fixes
arq5x/gemini#143) and remove extra bottle.py in bin directory which gets double imported (speculative fix for arq5x/gemini#144)
6e90c82
@arq5x
Owner

Thanks Brad, I will test the bx-python change on my problematic machine. As to #144, I suspect this will remove the error, but based on my comments in #143, I think we will still see a segfault.

@arq5x arq5x merged commit 83fe05c into from
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Jun 4, 2013
  1. @chapmanb

    Fixes for build issues: install bx-python via a separate command (fixes

    chapmanb authored
    arq5x/gemini#143) and remove extra bottle.py in bin directory which gets double imported (speculative fix for arq5x/gemini#144)
This page is out of date. Refresh to see the latest.
Showing with 13 additions and 0 deletions.
  1. +12 −0 gemini/scripts/gemini_install.py
  2. +1 −0  requirements.txt
View
12 gemini/scripts/gemini_install.py
@@ -72,7 +72,10 @@ def install_gemini(remotes, datadir, tooldir, use_sudo):
subprocess.check_call([pip_cmd, "install", "--upgrade", "distribute"])
subprocess.check_call([pip_cmd, "install", "--upgrade", "cython"])
subprocess.check_call([pip_cmd, "install", "--upgrade", "pyyaml"])
+ # Install problem dependencies separately: numpy and bx-python
subprocess.check_call([pip_cmd, "install", "numpy==1.7.1"])
+ subprocess.check_call([pip_cmd, "install", "--upgrade",
+ "https://bitbucket.org/james_taylor/bx-python/get/tip.tar.bz2"])
subprocess.check_call([pip_cmd, "install", "-r", remotes["requirements"]])
for script in ["gemini"]:
final_script = os.path.join(tooldir, "bin", script)
@@ -82,6 +85,7 @@ def install_gemini(remotes, datadir, tooldir, use_sudo):
subprocess.check_call(sudo_cmd + ["mkdir", "-p", os.path.dirname(final_script)])
cmd = ["ln", "-s", ve_script, final_script]
subprocess.check_call(sudo_cmd + cmd)
+ _cleanup_problem_files(virtualenv_dir)
python_bin = os.path.join(virtualenv_dir, "bin", "python")
library_loc = subprocess.check_output("%s -c 'import gemini; print gemini.__file__'" % python_bin,
shell=True)
@@ -89,6 +93,14 @@ def install_gemini(remotes, datadir, tooldir, use_sudo):
"data_script": os.path.join(os.path.dirname(library_loc.strip()), "install-data.py"),
"python": python_bin}
+def _cleanup_problem_files(virtualenv_dir):
+ """Remove problem bottle items in PATH which conflict with site-packages
+ """
+ for cmd in ["bottle.py", "bottle.pyc"]:
+ bin_cmd = os.path.join(virtualenv_dir, "bin", cmd)
+ if os.path.exists(bin_cmd):
+ os.remove(bin_cmd)
+
def install_tools(fab_cmd, fabfile, fabricrc):
"""Install 3rd party tools used by Gemini using a custom CloudBioLinux flavor.
"""
View
1  requirements.txt
@@ -8,4 +8,5 @@ python-graph-core==1.8.2
python-graph-dot==1.8.2
bottle==0.11.6
ipython-cluster-helper==0.1.5
+bx-python>=0.7.1
git+https://github.com/arq5x/gemini.git@5cf3db1944#egg=gemini
Something went wrong with that request. Please try again.