conda-forge / geopandas-feedstock

A conda-smithy repository for geopandas.
BSD 3-Clause "New" or "Revised" License
16 stars 14 forks source link

libncurses.so.6: cannot open shared object file #818 #44

Closed aborruso closed 6 years ago

aborruso commented 6 years ago

Issue: Hi, I have a mybinder project with these settings and the docker machine is created without problems.

When I import geopandas I have:

ImportError: libncurses.so.6: cannot open shared object file: No such file or directory

I do not how to solve and it's possible that someone of you knows how to do it.

Thank you


Environment (conda list):

``` # packages in environment at /srv/conda: # # Name Version Build Channel affine 2.2.1 py_0 conda-forge agate 1.6.0 py_3 conda-forge agate-dbf 0.2.0 py36_0 conda-forge agate-excel 0.2.2 py_0 conda-forge agate-sql 0.5.3 py_0 conda-forge altair 2.2.2 py_0 conda-forge appdirs 1.4.3 asn1crypto 0.24.0 py36_0 defaults attrs 18.1.0 py_1 conda-forge automat 0.7.0 py36_0 conda-forge babel 2.6.0 py_1 conda-forge backcall 0.1.0 py_0 conda-forge bash_kernel 0.7.1 beautifulsoup4 4.6.3 py36_0 conda-forge bleach 2.1.3 py_0 conda-forge boost-cpp 1.67.0 h3a22d5f_0 conda-forge boto3 1.8.6 py_0 conda-forge botocore 1.11.7 py_0 conda-forge bs4 0.0.1 bzip2 1.0.6 h470a237_2 conda-forge ca-certificates 2018.8.24 ha4d7672_0 conda-forge cairo 1.14.12 he6fea26_5 conda-forge cartopy 0.16.0 py36h81b52dc_2 conda-forge cchardet 1.1.3 certifi 2018.8.24 py36_1 conda-forge cffi 1.11.5 py36h9745a5d_0 defaults chardet 3.0.4 py36_3 conda-forge click 6.7 py_1 conda-forge click-default-group 1.2 click-plugins 1.0.3 py_1 conda-forge cligj 0.4.0 py_1 conda-forge conda 4.5.8 py36_1 conda-forge conda-env 2.6.0 h36134e3_1 defaults constantly 15.1.0 py_0 conda-forge contextily 1.0rc1 py_0 conda-forge cryptography 2.2.2 py36h14c3975_0 defaults cssselect 1.0.3 csvkit 1.0.3 py_1 conda-forge csvs-to-sqlite 0.8.1 curl 7.61.0 h93b3f91_2 conda-forge cycler 0.10.0 py_1 conda-forge cython 0.28.5 py36hfc679d8_0 conda-forge daff 1.3.33 datapackage 1.3.4 dateparser 0.7.0 dbfread 2.0.7 py_0 conda-forge dbus 1.13.0 h3a4f0e9_0 conda-forge decorator 4.3.0 py_0 conda-forge descartes 1.1.0 py_2 conda-forge docutils 0.14 py36_1 conda-forge entrypoints 0.2.3 py36_1 conda-forge et_xmlfile 1.0.1 py36_0 conda-forge expat 2.2.5 hfc679d8_2 conda-forge fake-useragent 0.1.10 fiona 1.7.13 py36hb00a9d7_3 conda-forge fontconfig 2.13.0 h65d0f4c_6 conda-forge freetype 2.9.1 h6debe1e_2 conda-forge freexl 1.0.5 h470a237_2 conda-forge gdal 2.2.4 py36hb00a9d7_1 conda-forge geographiclib 1.49 py_0 conda-forge geopandas 0.4.0 py_1 conda-forge geopy 1.16.0 py_0 conda-forge geos 3.6.2 hfc679d8_3 conda-forge geotiff 1.4.2 hb54a4aa_4 conda-forge gettext 0.19.8.1 h5e8e0c9_1 conda-forge giflib 5.1.4 h470a237_1 conda-forge glib 2.55.0 h464dc38_2 conda-forge gmp 6.1.2 hfc679d8_0 conda-forge goodtables 2.0.2 gst-plugins-base 1.12.5 hde13a9d_0 conda-forge gstreamer 1.12.5 h61a6719_0 conda-forge hdf4 4.2.13 h951d187_2 conda-forge hdf5 1.10.2 hc401514_2 conda-forge html5lib 1.0.1 py_0 conda-forge httpie 0.9.9 py36_1 conda-forge hyperlink 17.3.1 py_0 conda-forge icu 58.2 hfc679d8_0 conda-forge idna 2.6 py36h82fb2a8_1 defaults ijson 2.3 incremental 17.5.0 py_0 conda-forge intel-openmp 2018.0.3 0 defaults ipykernel 4.8.2 py36_0 conda-forge ipython 6.4.0 py36_0 conda-forge ipython-sql 0.3.9 py36_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.4.1 py_0 conda-forge isodate 0.6.0 py_1 conda-forge jdcal 1.4 py_1 conda-forge jedi 0.12.1 py36_0 conda-forge jinja2 2.10 py_1 conda-forge jmespath 0.9.3 py_1 conda-forge jpeg 9c h470a237_1 conda-forge json-c 0.12.1 h470a237_1 conda-forge jsonlines 1.2.0 jsonpointer 1.14 jsonschema 2.6.0 py36_1 conda-forge jupyter 1.0.0 py_1 conda-forge jupyter_client 5.2.3 py_1 conda-forge jupyter_console 5.2.0 py36_1 conda-forge jupyter_core 4.4.0 py_0 conda-forge jupyterlab 0.34.0 py36_0 conda-forge jupyterlab_launcher 0.13.1 py36_0 defaults kealib 1.4.9 h0bee7d0_2 conda-forge kiwisolver 1.0.1 py36h2d50403_2 conda-forge krb5 1.14.6 0 conda-forge leather 0.3.3 py_0 conda-forge libdap4 3.19.1 h8fe5423_1 conda-forge libedit 3.1.20170329 0 conda-forge libffi 3.2.1 hd88cf55_4 defaults libgcc-ng 7.2.0 hdf63c60_3 conda-forge libgdal 2.2.4 he036fc0_8 conda-forge libgfortran 3.0.0 1 conda-forge libgfortran-ng 7.2.0 hdf63c60_3 conda-forge libiconv 1.15 h470a237_3 conda-forge libkml 1.3.0 hccc92b1_8 conda-forge libnetcdf 4.6.1 he6cff42_8 conda-forge libopenblas 0.2.20 h9ac9557_7 defaults libpng 1.6.35 ha92aebf_1 conda-forge libpq 9.6.3 0 conda-forge libsodium 1.0.16 0 conda-forge libspatialindex 1.8.5 hfc679d8_3 conda-forge libspatialite 4.3.0a hdfcc80b_23 conda-forge libssh2 1.8.0 h5b517e9_2 conda-forge libstdcxx-ng 7.2.0 hdf63c60_3 conda-forge libtiff 4.0.9 he6b73bb_2 conda-forge libuuid 2.32.1 h470a237_2 conda-forge libxcb 1.13 h470a237_2 conda-forge libxml2 2.9.8 h422b904_3 conda-forge libxslt 1.1.32 h88dbc4e_2 conda-forge linear-tsv 1.1.0 lml 0.0.4 lxml 4.2.4 py36hc9114bc_0 conda-forge markupsafe 1.0 py36_0 conda-forge matplotlib 2.2.3 py36h8e2386c_0 conda-forge mercantile 1.0.4 py_0 conda-forge mistune 0.8.3 py36_1 conda-forge mkl 2018.0.3 1 defaults munch 2.3.2 py_0 conda-forge nbconvert 5.3.1 py_1 conda-forge nbformat 4.4.0 py36_0 conda-forge ncurses 5.9 10 conda-forge notebook 5.6.0 py36_1 conda-forge nteract-on-jupyter 1.8.1 numpy 1.14.3 py36h28100ab_1 defaults numpy-base 1.14.3 py36h0ea5e3f_1 defaults olefile 0.45.1 py_1 conda-forge openjpeg 2.3.0 h0e734dc_3 conda-forge openpyxl 2.5.6 py_0 conda-forge openpyxl 2.4.11 openssl 1.0.2p h470a237_0 conda-forge owslib 0.16.0 py_1 conda-forge pandas 0.20.3 pandas 0.23.4 py36hf8a1672_0 conda-forge pandoc 2.2.2 0 conda-forge pandocfilters 1.4.2 py_1 conda-forge parse 1.8.4 parsedatetime 2.4 py_1 conda-forge parso 0.3.0 py_0 conda-forge pcre 8.41 hfc679d8_3 conda-forge pexpect 4.6.0 py36_0 conda-forge pickleshare 0.7.4 py36_0 conda-forge pillow 5.2.0 py36hc736899_1 conda-forge pip 18.0 py36_1 conda-forge pixman 0.34.0 h470a237_3 conda-forge poppler 0.67.0 h4d7e492_3 conda-forge poppler-data 0.4.9 0 conda-forge prettytable 0.7.2 py_2 conda-forge proj4 4.9.3 h470a237_8 conda-forge prometheus_client 0.2.0 py36_0 conda-forge prompt_toolkit 1.0.15 py36_0 conda-forge psycopg2 2.7.5 py36hdffb7b8_1 conda-forge pthread-stubs 0.4 h470a237_1 conda-forge ptyprocess 0.6.0 py36_0 conda-forge py-lru-cache 0.1.4 pycosat 0.6.3 py36h0a5515d_0 defaults pycparser 2.18 py36hf9f622e_1 defaults pyee 5.0.0 pyepsg 0.3.2 py_1 conda-forge pyexcel 0.5.9.1 pyexcel-cli 0.0.3 pyexcel-io 0.5.9.1 pygments 2.2.0 py_1 conda-forge pyopenssl 18.0.0 py36_0 defaults pyparsing 2.2.0 py_1 conda-forge pyppeteer 0.0.21 pyproj 1.9.5.1 py36h508ed2a_3 conda-forge pyqt 5.6.0 py36h8210e8a_7 conda-forge pyquery 1.4.0 pysal 1.14.4.post2 py36_0 conda-forge pyshp 1.2.12 py_0 conda-forge pysocks 1.6.8 py36_0 defaults python 3.6.3 h1284df2_4 defaults python-dateutil 2.7.3 py_0 conda-forge python-slugify 1.2.6 py_0 conda-forge pytimeparse 1.1.8 py_0 conda-forge pytz 2018.5 py_0 conda-forge PyYAML 3.13 pyzmq 17.1.0 py36hae99301_0 conda-forge qt 5.6.2 hf70d934_9 conda-forge qtconsole 4.4.1 py36_1 conda-forge rasterio 1.0.3 py36h1b5fcde_0 conda-forge readline 7.0 0 conda-forge regex 2018.8.29 requests 2.18.4 py36he2e5f8d_1 defaults requests-html 0.9.0 rfc3986 1.1.0 rtree 0.8.3 py36_0 conda-forge ruamel_yaml 0.15.37 py36h14c3975_2 defaults s3transfer 0.1.13 py36_0 conda-forge scipy 0.19.1 py36h9976243_3 defaults send2trash 1.5.0 py_0 conda-forge setuptools 40.0.0 py36_0 conda-forge shapely 1.6.4 py36h164cb2d_1 conda-forge simpleeval 0.9.6 simplegeneric 0.8.1 py_1 conda-forge sip 4.18.1 py36hfc679d8_0 conda-forge six 1.11.0 py36_1 conda-forge snuggs 1.4.1 py_1 conda-forge sqlalchemy 1.2.11 py36h470a237_0 conda-forge sqlite 3.24.0 h84994c4_0 defaults sqlparse 0.2.4 py_0 conda-forge statistics 1.0.3.5 tableschema 1.2.0 tabulator 1.14.2 terminado 0.8.1 py36_0 conda-forge testpath 0.3.1 py36_0 conda-forge texttable 1.4.0 tk 8.6.8 0 conda-forge toml 0.9.4 toolz 0.9.0 py_0 conda-forge tornado 4.5.3 py36_0 conda-forge tqdm 4.25.0 traitlets 4.3.2 py36_0 conda-forge twisted 17.5.0 py36_0 defaults typing 3.6.4 py36_0 conda-forge tzlocal 1.5.1 unicodecsv 0.14.1 unidecode 1.0.22 py_1 conda-forge urllib3 1.22 py36hbe7ace6_0 defaults vega3 0.13.0 py_1 conda-forge vega_datasets 0.5.0 py_0 conda-forge w3lib 1.19.0 wcwidth 0.1.7 py_1 conda-forge webencodings 0.5 py36_0 conda-forge websockets 6.0 wheel 0.31.1 py36_0 conda-forge widgetsnbextension 3.4.1 py36_0 conda-forge xerces-c 3.2.0 h5d6a6da_2 conda-forge xlrd 1.1.0 py_2 conda-forge xmltodict 0.11.0 xorg-kbproto 1.0.7 h470a237_2 conda-forge xorg-libice 1.0.9 h470a237_4 conda-forge xorg-libsm 1.2.2 h8c8a85c_6 conda-forge xorg-libx11 1.6.6 h470a237_0 conda-forge xorg-libxau 1.0.8 h470a237_6 conda-forge xorg-libxdmcp 1.1.2 h470a237_7 conda-forge xorg-libxext 1.3.3 h470a237_4 conda-forge xorg-libxrender 0.9.10 h470a237_2 conda-forge xorg-renderproto 0.11.1 h470a237_2 conda-forge xorg-xextproto 7.3.0 h470a237_2 conda-forge xorg-xproto 7.0.31 h470a237_7 conda-forge xz 5.2.4 h470a237_1 conda-forge yaml 0.1.7 had09818_2 defaults yq 2.7.0 zeromq 4.2.5 hfc679d8_3 conda-forge zlib 1.2.11 h470a237_3 conda-forge zope.interface 4.5.0 py36h470a237_0 conda-forge ```


Details about conda and system ( conda info ):

``` active environment : None user config file : /home/jovyan/.condarc populated config files : /srv/conda/.condarc conda version : 4.5.8 conda-build version : not installed python version : 3.6.3.final.0 base environment : /srv/conda (writable) channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/linux-64 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/pro/linux-64 https://repo.anaconda.com/pkgs/pro/noarch package cache : /srv/conda/pkgs /home/jovyan/.conda/pkgs envs directories : /srv/conda/envs /home/jovyan/.conda/envs platform : linux-64 user-agent : conda/4.5.8 requests/2.18.4 CPython/3.6.3 Linux/4.14.22+ ubuntu/18.04 glibc/2.27 UID:GID : 1000:1000 netrc file : None offline mode : False ```
ocefpaf commented 6 years ago

There is a mix of package from defaults and conda-forge that won't work. You nedd to use one or the other.

I would try to add these commands before creating the env:

conda config --remove channels defaults
conda config --add channels conda-forge

and then modifying the env file to be:

channels:
  - conda-forge
dependencies:
  - matplotlib
  - pandas
  - geopandas
  - beautifulsoup4
  - altair
  - vega_datasets
  - notebook
  - vega3
  - cython
  - descartes
  - cartopy
  - contextily
  - lxml
  - csvkit
  - httpie
  - ipywidgets
  - ipython-sql
  - chardet
  - pip:
    - bash_kernel
    - yq
    - requests-html
    - csvs-to-sqlite
    - goodtables
    - pyexcel-cli
    - daff
jorisvandenbossche commented 6 years ago

I would try to add these commands before creating the env:

How do you do that with binder?

ocefpaf commented 6 years ago

How do you do that with binder?

Sorry I just assumed the user was providing a dockerfile. If not. just try the env without defaults. In my experience some versions of conda still pull things from defaults even when it is not listed, but I guess the latest version won't.

PS: the last time I tried it worked.

aborruso commented 6 years ago

@ocefpaf please do not close the issue.

Now I will try with without defaults, thank you

jorisvandenbossche commented 6 years ago

PS: the last time I tried it worked.

Yep, for me it is also working (with some mixture of conda-forge and defaults, which should not necessarily be a problem), so therefore I was thinking there is something else here causing the trouble (but then probably not related to geopandas).

@aborruso one way to go would be to start with a very minimal environment.yaml file with only basics (like the one @ocefpaf linked above), see if that works, and then start adding your other deps, and see where it goes wrong (then you might be able to pin a specific package that causes problems).

aborruso commented 6 years ago

@ocefpaf if I try to import geopandas in your https://github.com/ocefpaf/GCOOS_meeting/blob/master/environment.yml I have no geopandas module.

I feel myself stupid :(

Thank you

ocefpaf commented 6 years ago

@ocefpaf please do not close the issue.

I closed b/c it is not an issue with the feedstock, not an actionable issue, nothing to fix here.

It is an issue with how conda deals with multiple channels and conda useage.

For more info see:

https://conda-forge.org/docs/conda-forge_gotchas.html#using-multiple-channels

https://github.com/conda/conda/issues/7656

and

https://github.com/geopandas/geopandas/issues/237#issuecomment-418449906

ocefpaf commented 6 years ago

@ocefpaf if I try to import geopandas in your https://github.com/ocefpaf/GCOOS_meeting/blob/master/environment.yml I have no geopandas module. I feel myself stupid :(

That was an example that by removing defaults from your env things will work even without the commands that you cannot execute on binder. You should use your env without defaults like I posted in https://github.com/conda-forge/geopandas-feedstock/issues/44#issuecomment-418706141

aborruso commented 6 years ago

I read your notes @ocefpaf and I think that with binder the only way is to start with a very minimal environment.yaml (thank you @jorisvandenbossche )

aborruso commented 6 years ago

@ocefpaf it's the same removing defaults

I must do a very slow try and error

ocefpaf commented 6 years ago

I read your notes @ocefpaf and I think that with binder the only way is to start with a very minimal environment.yaml

Not sure what you mean by that but minimal or not you'll have to list only 1 channel. Either defaults or conda-forge, not both.

If defaults packages are still being pulled even when removing it from the env it is a conda bug or binder is giving you a cached imaged. You can check that by using conda list after the creation and checking if all the packages are from conda-forge or not.

aborruso commented 6 years ago

@ocefpaf I have tried with only conda-forge and I have also packages from defaults.

I write an issue in binder, thank you

ocefpaf commented 6 years ago

I write an issue in binder, thank you

I'm not sure they can help you. Please take some time to read the link I sent. It ultimately an issue with conda and is being fixed, meanwhile we need to workaround it.

I'll try the workaround I suggested and I'll report back here. Hold on.

aborruso commented 6 years ago

@ocefpaf thank you for your patience.

I'm using mybinder, now I can use only it.

I have read your links and I do not find a workaround that I can apply in binder. The only workaround seems to me to try and error adding one by one packages.

I'm sorry if I'm writing stupid things and thank you again

ocefpaf commented 6 years ago

@aborruso this works for me:

https://github.com/ocefpaf/test_binder_env

It turns out you did not specify the Python version and AnacondaInc just released the latest miniconda with Python 3.7 even thought it is still labeled as Python 3.6.

aborruso commented 6 years ago

@ocefpaf you and python=3.6 have done magic. Thank you very much, it works

nishadhka commented 6 years ago

The lib ncurses gets installed as version 5.9-10. Making the installation with conda install -c conda-forge geopandas python=3.6 updates the ncurses to 6.1, so the error goes away

shaunstoltz commented 6 years ago

ImportError: libncurses.so.6: cannot open shared object file: No such file or directory