jeffdaily / parasail-python

Python bindings for the parasail C library.
Other
87 stars 17 forks source link

installation with conda #32

Open ksahlin opened 5 years ago

ksahlin commented 5 years ago

Hi Jeff,

I'm posting this issue for a collaborator. We run into the error pasted below

Command "/anaconda3/bin/python -u -c "import setuptools, 
tokenize;__file__='/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-
p6zwae25/parasail/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', 
'\n');f.close();exec(compile(code, _file_, 'exec'))" install --record 
/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-record-wt5qzzyn/install-
record.txt --single-version-externally-managed --compile" failed with error code 1 in 
/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-p6zwae25/parasail/

We follow the installation instructions of my program as given here: https://github.com/ksahlin/IsoCon#Using-conda , where pip and python are the following:

$ which python
/anaconda3/bin/python
$ python --version
Python 3.7.1
$ which pip
/anaconda3/bin/pip

Best, Kristoffer

jeffdaily commented 5 years ago

Which platform is this? Windows? OSX? Ubuntu?

ksahlin commented 5 years ago

This is on OSX

jeffdaily commented 5 years ago

I was afraid of that. I no longer have access to an OSX development machine. I'm not sure how to debug this further without.

jeffdaily commented 5 years ago

Unless you could somehow produce more verbose logging from the command?

ksahlin commented 5 years ago

Just got the complete log. Here it is:

$ pip install IsoCon
Collecting IsoCon
  Using cached https://files.pythonhosted.org/packages/c4/9d/8068d6c56d58f1bfdcb496fb74b7c3eae1c20e40c0ba643e5005321614d3/IsoCon-0.3.2-py2.py3-none-any.whl
Requirement already satisfied: edlib>=1.1.2 in /anaconda3/lib/python3.7/site-packages (from IsoCon) (1.2.4)
Requirement already satisfied: pysam>=0.11 in /anaconda3/lib/python3.7/site-packages (from IsoCon) (0.15.2)
Requirement already satisfied: networkx>=1.10 in /anaconda3/lib/python3.7/site-packages (from IsoCon) (2.2)
Collecting parasail>=1.1.11 (from IsoCon)
  Using cached https://files.pythonhosted.org/packages/64/e5/b7b0ab11296923be15dbdbcfb4dd79dc427b5b52a7de9716aa64548afdf7/parasail-1.1.12.tar.gz
Requirement already satisfied: decorator>=4.3.0 in /anaconda3/lib/python3.7/site-packages (from networkx>=1.10->IsoCon) (4.3.0)
Requirement already satisfied: numpy in /anaconda3/lib/python3.7/site-packages (from parasail>=1.1.11->IsoCon) (1.15.4)
Building wheels for collected packages: parasail
  Building wheel for parasail (setup.py) ... error
  Complete output from command /anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, _file_, 'exec'))" bdist_wheel -d /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-wheel-d6yg1c81 --python-tag cp37:
  running bdist_wheel
  parasail/libparasail.dylib not found, attempting to build
  Downloading latest parasail master
  Unzipping parasail master archive
  fixing executable bits after unzipping
  Unable to find parasail configure script
  Prepending /usr/bin to PATH
  PATH=/usr/bin:/anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
  Running autoreconf -fi from ./parasail-master
  b'This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level'
  b'GNU M4 1.4.6'
  autoconf not found
  automake not found
  libtool --version failed
  autoreconf not found
  Prepending /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin to PATH
  PATH=/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin:/usr/bin:/anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
  Building autotools
  Downloading http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz
  Expanding m4-1.4.17.tar.gz
  configuring m4
  making and installing m4
  Downloading http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
  Expanding autoconf-2.69.tar.gz
  configuring autoconf
  making and installing autoconf
  Downloading http://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz
  Expanding automake-1.15.1.tar.gz
  configuring automake
  making and installing automake
  Downloading http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz
  Expanding libtool-2.4.6.tar.gz
  configuring libtool
  making and installing libtool
  Running autoreconf -fi from ./parasail-master
  b'This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level'
  m4 --version failed
  b'autoconf (GNU Autoconf) 2.69'
  b'automake (GNU automake) 1.15.1'
  b'libtool (GNU libtool) 2.4.6'
  b'autoreconf (GNU Autoconf) 2.69'
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 453, in <module>
      install_requires=INSTALL_REQUIRES,
    File "/anaconda3/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "/anaconda3/lib/python3.7/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/anaconda3/lib/python3.7/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 415, in run
      prepare_shared_lib()
    File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 409, in prepare_shared_lib
      build_parasail(libname)
    File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 301, in build_parasail
      raise RuntimeError("autoreconf -fi failed")
  RuntimeError: autoreconf -fi failed

  ----------------------------------------
  Failed building wheel for parasail
  Running setup.py clean for parasail
Failed to build parasail
Installing collected packages: parasail, IsoCon
  Running setup.py install for parasail ... error
    Complete output from command /anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, _file_, 'exec'))" install --record /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-record-we2mkd40/install-record.txt --single-version-externally-managed --compile:
    running install
    parasail/libparasail.dylib not found, attempting to build
    Archive 'parasail-master.zip' already downloaded
    Archive 'parasail-master.zip' already unzipped to /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail
    parasail archive executable permissions ok
    Unable to find parasail configure script
    Prepending /usr/bin to PATH
    PATH=/usr/bin:/anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
    Running autoreconf -fi from ./parasail-master
    b'This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level'
    b'GNU M4 1.4.6'
    autoconf not found
    automake not found
    libtool --version failed
    autoreconf not found
    Prepending /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin to PATH
    PATH=/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin:/usr/bin:/anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
    Building autotools
    m4-1.4.17.tar.gz already exists! Using existing copy.
    m4-1.4.17 already exists! Using existing sources.
    /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin/m4 already exists! Skipping build.
    autoconf-2.69.tar.gz already exists! Using existing copy.
    autoconf-2.69 already exists! Using existing sources.
    /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin/autoconf already exists! Skipping build.
    automake-1.15.1.tar.gz already exists! Using existing copy.
    automake-1.15.1 already exists! Using existing sources.
    /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin/automake already exists! Skipping build.
    libtool-2.4.6.tar.gz already exists! Using existing copy.
    libtool-2.4.6 already exists! Using existing sources.
    /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/autotools/bin/libtool already exists! Skipping build.
    Running autoreconf -fi from ./parasail-master
    b'This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level'
    m4 --version failed
    b'autoconf (GNU Autoconf) 2.69'
    b'automake (GNU automake) 1.15.1'
    b'libtool (GNU libtool) 2.4.6'
    b'autoreconf (GNU Autoconf) 2.69'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 453, in <module>
        install_requires=INSTALL_REQUIRES,
      File "/anaconda3/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "/anaconda3/lib/python3.7/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/anaconda3/lib/python3.7/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 426, in run
        prepare_shared_lib()
      File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 409, in prepare_shared_lib
        build_parasail(libname)
      File "/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py", line 301, in build_parasail
        raise RuntimeError("autoreconf -fi failed")
    RuntimeError: autoreconf -fi failed

    ----------------------------------------
Command "/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, _file_, 'exec'))" install --record /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-record-we2mkd40/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/x3/5tv3wm3n48q4ry3tct3mg3bw0000gn/T/pip-install-dwkg3615/parasail/
ksahlin commented 5 years ago

..and sorry for giving you the incomplete log before :)

jeffdaily commented 5 years ago

Thank you for the complete log. This might take some back-and-forth until we get it right.

I noticed today that I have the setup.py script look for libtool, but I think it is more correct to look for libtoolize or on a mac glibtoolize. That change went into the master branch today if you can try it. I'm hoping we get better results by using system-installed autotools instead of the downloaded ones, and it was failing before to find libtool. So hopefully the system-installed autoreconf succeeds.

jeffdaily commented 5 years ago

Ah, well, that might not be it. I see from the detailed log now that autoconf and automake were not found, so the download was required. There seems to be, in general, install problems on OSX. See https://github.com/jeffdaily/parasail-python/issues/24 for a possible fix, by installing the autotools beforehand.

ksahlin commented 5 years ago

I can confirm that running brew install autoconf automake libtool and then installing parasail through pip/conda worked in this case!

Thank you!

firmamentqj commented 3 years ago

I can confirm that running brew install autoconf automake libtool and then installing parasail through pip/conda worked in this case!

Thank you!

This also worked for me in this case. Thanks!