GenericMappingTools / try-gmt

Try GMT, PyGMT, and GMT.jl online! All in one place!
https://mybinder.org/v2/gh/GenericMappingTools/try-gmt/main?urlpath=lab/tree/landing-page.ipynb
BSD 3-Clause "New" or "Revised" License
45 stars 12 forks source link

GMT.jl is broken on Binder #15

Closed joa-quim closed 2 years ago

joa-quim commented 3 years ago

image

I've seen this error when building GMT on Ubuntu latest for CI. I'm guessing the usual dependencies shit between glib and GDAL. My solution wast to use a Ubuntu 2018

seisman commented 3 years ago

But we can't control the Ubuntu version we're using on Binder...

joa-quim commented 3 years ago

There is nothing Julia specific in this error. It should be a problem for PyGMT and GMT Binder sets. Don't you see it?

seisman commented 3 years ago

Yes, the same problem. Something wrong with conda-forge's packages.

weiji14 commented 3 years ago

Seems to be still a problem, is this related to https://forum.generic-mapping-tools.org/t/conda-gmt-build-is-unusable-in-julia-windows or separate? Will bumping to Julia v1.6 help (xref https://github.com/JuliaLang/julia/issues/34276#issuecomment-784811868)?

┌ Info: Precompiling GMT [5752ebe1-31b9-557e-87aa-f909b540aa54]
└ @ Base loading.jl:1278
ERROR: LoadError: LoadError: could not load library "/srv/conda/envs/notebook/lib/libgmt.so"
/srv/julia/bin/../lib/julia/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /srv/conda/envs/notebook/lib/././libtiledb.so.2.2)
Stacktrace:
 [1] GMT_Create_Session at /srv/julia/pkg/packages/GMT/wprG1/src/libgmt.jl:26 [inlined] (repeats 2 times)
 [2] top-level scope at /srv/julia/pkg/packages/GMT/wprG1/src/get_enums.jl:7
 [3] include(::Function, ::Module, ::String) at ./Base.jl:380
 [4] include at ./Base.jl:368 [inlined]
 [5] include(::String) at /srv/julia/pkg/packages/GMT/wprG1/src/GMT.jl:1
 [6] top-level scope at /srv/julia/pkg/packages/GMT/wprG1/src/GMT.jl:193
 [7] include(::Function, ::Module, ::String) at ./Base.jl:380
 [8] include(::Module, ::String) at ./Base.jl:368
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:331 [inlined]
 [11] eval(::Expr) at ./client.jl:467
 [12] top-level scope at ./none:3
in expression starting at /srv/julia/pkg/packages/GMT/wprG1/src/get_enums.jl:7
in expression starting at /srv/julia/pkg/packages/GMT/wprG1/src/GMT.jl:192

Failed to precompile GMT [5752ebe1-31b9-557e-87aa-f909b540aa54] to /srv/julia/pkg/compiled/v1.5/GMT/EoU0j_qQLi1.ji.

Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1305
 [3] _require(::Base.PkgId) at ./loading.jl:1030
 [4] require(::Base.PkgId) at ./loading.jl:928
 [5] require(::Module, ::Symbol) at ./loading.jl:923
 [6] include_string(::Function, ::Module, ::String, ::String) at ./loading.jl:1091

This is the output from conda list. Perhaps we can pin some dependency to a lower version so that GMT.jl will work?

``` # packages in environment at /srv/conda/envs/notebook: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 0_gnu conda-forge alembic 1.4.2 pyh9f0ad1d_0 conda-forge alsa-lib 1.2.3 h516909a_0 conda-forge anyio 3.1.0 py39hf3d152e_0 conda-forge argon2-cffi 20.1.0 py39hbd71b63_2 conda-forge async_generator 1.10 py_0 conda-forge atk-1.0 2.36.0 h3371d22_4 conda-forge attrs 19.3.0 py_0 conda-forge babel 2.9.1 pyh44b312d_0 conda-forge backcall 0.2.0 pyh9f0ad1d_0 conda-forge bleach 3.1.5 pyh9f0ad1d_0 conda-forge blinker 1.4 py_1 conda-forge boost-cpp 1.74.0 hc6e9bd1_3 conda-forge brotlipy 0.7.0 py39h3811e60_1001 conda-forge bzip2 1.0.8 h7f98852_4 conda-forge c-ares 1.17.1 h7f98852_1 conda-forge ca-certificates 2020.6.20 hecda079_0 conda-forge cairo 1.16.0 h6cf1ce9_1008 conda-forge certifi 2021.5.30 py39hf3d152e_0 conda-forge certipy 0.1.3 py_0 conda-forge cffi 1.14.5 py39he32792d_0 conda-forge cfitsio 3.470 hb418390_7 conda-forge cftime 1.5.0 py39hce5d2b2_0 conda-forge chardet 4.0.0 py39hf3d152e_1 conda-forge chrpath 0.16 h7f98852_1002 conda-forge cryptography 3.4.7 py39hbca0aa6_0 conda-forge curl 7.77.0 hea6ffbf_0 conda-forge dbus 1.13.6 h48d8840_2 conda-forge dcw-gmt 1.1.4 1001 conda-forge decorator 4.4.2 py_0 conda-forge defusedxml 0.6.0 py_0 conda-forge entrypoints 0.3 py39hde42818_1002 conda-forge expat 2.4.1 h9c3ff4c_0 conda-forge ffmpeg 4.3.1 hca11adc_2 conda-forge fftw 3.3.9 nompi_hcdd671c_101 conda-forge font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge font-ttf-inconsolata 3.000 h77eed37_0 conda-forge font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge font-ttf-ubuntu 0.83 hab24e00_0 conda-forge fontconfig 2.13.1 hba837de_1005 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge freetype 2.10.4 h0708190_1 conda-forge freexl 1.0.6 h7f98852_0 conda-forge fribidi 1.0.10 h516909a_0 conda-forge gdal 3.3.0 py39h409cc32_1 conda-forge gdk-pixbuf 2.42.6 h04a7f16_0 conda-forge geos 3.9.1 h9c3ff4c_2 conda-forge geotiff 1.6.0 hcf90da6_5 conda-forge gettext 0.19.8.1 h0b5b191_1005 conda-forge ghostscript 9.54.0 h9c3ff4c_1 conda-forge giflib 5.2.1 h516909a_2 conda-forge glib 2.68.2 h9c3ff4c_2 conda-forge glib-tools 2.68.2 h9c3ff4c_2 conda-forge gmp 6.2.1 h58526e2_0 conda-forge gmt 6.2.0 h88440e8_0 conda-forge gnuplot 5.4.1 hec6539f_2 conda-forge gnutls 3.6.13 h85f3911_1 conda-forge graphicsmagick 1.3.35 h2852e03_2 conda-forge graphite2 1.3.13 he1b5a44_1001 conda-forge greenlet 1.1.0 py39he80948d_0 conda-forge gshhg-gmt 2.3.7 ha770c72_1003 conda-forge gst-plugins-base 1.18.4 hf529b03_2 conda-forge gstreamer 1.18.4 h76c114f_2 conda-forge gtk2 2.24.33 h539f30e_1 conda-forge harfbuzz 2.8.1 h83ec7ef_0 conda-forge hdf4 4.2.15 h10796ff_3 conda-forge hdf5 1.10.6 nompi_h6a2412b_1114 conda-forge icu 68.1 h58526e2_0 conda-forge idna 2.10 pyh9f0ad1d_0 conda-forge importlib-metadata 4.5.0 py39hf3d152e_0 conda-forge importlib_metadata 4.5.0 hd8ed1ab_0 conda-forge ipykernel 5.5.5 py39hef51801_0 conda-forge ipython 7.24.1 py39hef51801_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.6.3 pyhd3deb0d_0 conda-forge jedi 0.18.0 py39hf3d152e_2 conda-forge jinja2 2.11.2 pyh9f0ad1d_0 conda-forge jpeg 9d h516909a_0 conda-forge json-c 0.15 h98cffda_0 conda-forge json5 0.9.4 pyh9f0ad1d_0 conda-forge jsonschema 3.2.0 pyhd8ed1ab_3 conda-forge jupyter-offlinenotebook 0.2.1 pyhd8ed1ab_0 conda-forge jupyter_client 6.1.6 py_0 conda-forge jupyter_core 4.7.1 py39hf3d152e_0 conda-forge jupyter_server 1.8.0 pyhd8ed1ab_0 conda-forge jupyter_telemetry 0.0.5 py_0 conda-forge jupyterhub-base 1.2.1 py39hf3d152e_0 conda-forge jupyterhub-singleuser 1.2.1 py39hf3d152e_0 conda-forge jupyterlab 3.0.7 pyhd8ed1ab_0 conda-forge jupyterlab_pygments 0.1.2 pyh9f0ad1d_0 conda-forge jupyterlab_server 2.6.0 pyhd8ed1ab_0 conda-forge jupyterlab_widgets 1.0.0 pyhd8ed1ab_1 conda-forge kealib 1.4.14 hcc255d8_2 conda-forge krb5 1.19.1 hcc1bbae_0 conda-forge lame 3.100 h14c3975_1001 conda-forge ld_impl_linux-64 2.34 h53a641e_7 conda-forge libblas 3.9.0 9_openblas conda-forge libcblas 3.9.0 9_openblas conda-forge libclang 11.1.0 default_ha53f305_1 conda-forge libcurl 7.77.0 h2574ce0_0 conda-forge libdap4 3.20.6 hd7c4107_2 conda-forge libedit 3.1.20191231 h46ee950_1 conda-forge libev 4.33 h516909a_1 conda-forge libevent 2.1.10 hcdb4288_3 conda-forge libffi 3.3 h58526e2_2 conda-forge libgcc-ng 9.3.0 h2828fa1_19 conda-forge libgd 2.3.2 h78a0170_0 conda-forge libgdal 3.3.0 h679344c_1 conda-forge libgfortran-ng 9.3.0 hff62375_19 conda-forge libgfortran5 9.3.0 hff62375_19 conda-forge libglib 2.68.2 h3e27bee_2 conda-forge libgomp 9.3.0 h2828fa1_19 conda-forge libiconv 1.16 h516909a_0 conda-forge libkml 1.3.0 h238a007_1013 conda-forge liblapack 3.9.0 9_openblas conda-forge libllvm11 11.1.0 hf817b99_2 conda-forge libnetcdf 4.8.0 nompi_hcd642e3_103 conda-forge libnghttp2 1.43.0 h812cca2_0 conda-forge libogg 1.3.4 h7f98852_1 conda-forge libopenblas 0.3.15 pthreads_h8fe5266_1 conda-forge libopus 1.3.1 h7f98852_1 conda-forge libpng 1.6.37 hed695b0_2 conda-forge libpq 13.3 hd57d9b9_0 conda-forge librttopo 1.1.0 h1185371_6 conda-forge libsodium 1.0.18 h516909a_1 conda-forge libspatialite 5.0.1 h20cb978_4 conda-forge libssh2 1.9.0 hab1572f_4 conda-forge libstdcxx-ng 9.3.0 h6de172a_19 conda-forge libtiff 4.2.0 hbd63e13_2 conda-forge libuuid 2.32.1 h14c3975_1000 conda-forge libvorbis 1.3.7 he1b5a44_0 conda-forge libwebp 1.2.0 h3452ae3_0 conda-forge libwebp-base 1.2.0 h7f98852_2 conda-forge libxcb 1.13 h7f98852_1003 conda-forge libxkbcommon 1.0.3 he3ba5ed_0 conda-forge libxml2 2.9.12 h72842e0_0 conda-forge libzip 1.7.3 he9f05b3_0 conda-forge lz4-c 1.9.3 h9c3ff4c_0 conda-forge mako 1.1.0 py_0 conda-forge markupsafe 2.0.1 py39h3811e60_0 conda-forge matplotlib-inline 0.1.2 pyhd8ed1ab_2 conda-forge mistune 0.8.4 py39h3811e60_1003 conda-forge mysql-common 8.0.23 ha770c72_2 conda-forge mysql-libs 8.0.23 h935591d_2 conda-forge nbclassic 0.2.8 pyhd8ed1ab_0 conda-forge nbclient 0.5.3 pyhd8ed1ab_0 conda-forge nbconvert 6.0.7 py39hf3d152e_3 conda-forge nbformat 5.0.7 py_0 conda-forge nbresuse 0.3.3 py_0 conda-forge ncurses 6.2 he1b5a44_1 conda-forge nest-asyncio 1.5.1 pyhd8ed1ab_0 conda-forge netcdf4 1.5.6 nompi_py39hc6dca20_103 conda-forge nettle 3.6 he412f7d_0 conda-forge notebook 6.4.0 pyha770c72_0 conda-forge nspr 4.30 h9c3ff4c_0 conda-forge nss 3.66 hb5efdd6_0 conda-forge nteract_on_jupyter 2.1.3 py_0 conda-forge numpy 1.20.3 py39hdbf815f_1 conda-forge oauthlib 3.0.1 py_0 conda-forge openh264 2.1.1 h780b84a_0 conda-forge openjpeg 2.4.0 hb52868f_1 conda-forge openssl 1.1.1k h7f98852_0 conda-forge packaging 20.4 pyh9f0ad1d_0 conda-forge pamela 1.0.0 py_0 conda-forge pandas 1.2.4 py39hde0f152_0 conda-forge pandoc 2.10.1 h516909a_0 conda-forge pandocfilters 1.4.2 py_1 conda-forge pango 1.48.5 hb8ff022_0 conda-forge parso 0.8.2 pyhd8ed1ab_0 conda-forge pcre 8.44 he1b5a44_0 conda-forge pexpect 4.8.0 pyh9f0ad1d_2 conda-forge pickleshare 0.7.5 py39hde42818_1002 conda-forge pip 20.1.1 py_1 conda-forge pixman 0.40.0 h36c2ea0_0 conda-forge poppler 21.03.0 h93df280_0 conda-forge poppler-data 0.4.10 0 conda-forge postgresql 13.3 h2510834_0 conda-forge proj 8.0.0 h277dcde_0 conda-forge prometheus_client 0.8.0 pyh9f0ad1d_0 conda-forge prompt-toolkit 3.0.5 py_1 conda-forge psutil 5.8.0 py39h3811e60_1 conda-forge pthread-stubs 0.4 h36c2ea0_1001 conda-forge ptyprocess 0.6.0 py_1001 conda-forge pycparser 2.20 pyh9f0ad1d_2 conda-forge pycurl 7.43.0.6 py39h72e3413_1 conda-forge pygments 2.6.1 py_0 conda-forge pygmt 0.3.1 pyhd8ed1ab_0 conda-forge pyjwt 1.7.1 py_0 conda-forge pyopenssl 19.1.0 py_1 conda-forge pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge pyrsistent 0.17.3 py39h3811e60_2 conda-forge pysocks 1.7.1 py39hf3d152e_3 conda-forge python 3.9.4 hffdb5ce_0_cpython conda-forge python-dateutil 2.8.1 py_0 conda-forge python-editor 1.0.4 py_0 conda-forge python-json-logger 0.1.11 py_0 conda-forge python_abi 3.9 1_cp39 conda-forge pytz 2021.1 pyhd8ed1ab_0 conda-forge pyzmq 22.1.0 py39h37b5a0c_0 conda-forge qt 5.12.9 hda022c4_4 conda-forge readline 8.1 h46c0cb4_0 conda-forge requests 2.25.1 pyhd3deb0d_0 conda-forge ruamel.yaml 0.17.7 py39h3811e60_0 conda-forge ruamel.yaml.clib 0.2.2 py39h3811e60_2 conda-forge send2trash 1.5.0 py_0 conda-forge setuptools 49.6.0 py39hf3d152e_3 conda-forge six 1.15.0 pyh9f0ad1d_0 conda-forge sniffio 1.2.0 py39hf3d152e_1 conda-forge sqlalchemy 1.4.17 py39h3811e60_0 conda-forge sqlite 3.35.5 h74cdb3f_0 conda-forge terminado 0.10.0 py39hf3d152e_0 conda-forge testpath 0.4.4 py_0 conda-forge tiledb 2.2.9 h91fcb0e_0 conda-forge tk 8.6.10 hed695b0_0 conda-forge tornado 6.1 py39h3811e60_1 conda-forge traitlets 5.0.5 py_0 conda-forge tzcode 2021a h7f98852_1 conda-forge tzdata 2021a he74cb21_0 conda-forge urllib3 1.25.10 py_0 conda-forge wcwidth 0.2.5 pyh9f0ad1d_0 conda-forge webencodings 0.5.1 py_1 conda-forge websocket-client 0.57.0 py39hf3d152e_4 conda-forge wheel 0.34.2 py_1 conda-forge widgetsnbextension 3.5.1 py39hf3d152e_4 conda-forge x264 1!161.3030 h7f98852_0 conda-forge xarray 0.18.2 pyhd8ed1ab_0 conda-forge xerces-c 3.2.3 h9d8b166_2 conda-forge xorg-kbproto 1.0.7 h14c3975_1002 conda-forge xorg-libice 1.0.10 h516909a_0 conda-forge xorg-libsm 1.2.3 hd9c2040_1000 conda-forge xorg-libx11 1.7.1 h7f98852_0 conda-forge xorg-libxau 1.0.9 h14c3975_0 conda-forge xorg-libxdmcp 1.1.3 h516909a_0 conda-forge xorg-libxext 1.3.4 h7f98852_1 conda-forge xorg-libxrender 0.9.10 h7f98852_1003 conda-forge xorg-libxt 1.2.1 h7f98852_2 conda-forge xorg-renderproto 0.11.1 h14c3975_1002 conda-forge xorg-xextproto 7.3.0 h14c3975_1002 conda-forge xorg-xproto 7.0.31 h14c3975_1007 conda-forge xz 5.2.5 h516909a_1 conda-forge zeromq 4.3.4 h9c3ff4c_0 conda-forge zipp 3.1.0 py_0 conda-forge zlib 1.2.11 h516909a_1006 conda-forge zstd 1.4.9 ha95c52a_0 conda-forge ```
joa-quim commented 3 years ago

Bumping to Julia 1.6 (even 1.5) should have fixed this. It did fix in the CI machine when I updated it to Ubuntu 2020

seisman commented 2 years ago

GMT.jl now works well on Binder. Closing.