Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue on installing ISCE3 conda package #7

Open
seongsujeong opened this issue Nov 2, 2021 · 3 comments
Open

Issue on installing ISCE3 conda package #7

seongsujeong opened this issue Nov 2, 2021 · 3 comments

Comments

@seongsujeong
Copy link

Hi @vbrancat @rtburns-jpl @gmgunter,

Thanks for the opportunity to try out ISCE3 by releasing it on public github.
Here I would like to report the issues that I have experienced from ISCE3 conda package (ver. 0.4.0).
It looks like ISCE3 conda package is sensitive to certain dependent packages. I think it might cause some confusion for users who are installing ISCE3 on clean system (e.g. docker or AWS).
Below is what I tried and how I have come up the conclusion like that.

The installation went through the end with no error messages, but importing isce3 in python did not work with the error message below (on docker container running ubuntu 20.04).

Python 3.9.7 | packaged by conda-forge | (default, Sep 29 2021, 19:20:46) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import isce3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/python/miniconda3/lib/python3.9/site-packages/isce3/__init__.py", line 2, in <module>
    import pybind_isce3 as _pybind_isce3
ImportError: libhdf5_cpp.so.103: cannot open shared object file: No such file or directory
>>> 

  • I tried installing ISCE3 0.2.0 first (using conda), and attempted to update it to 0.4.0
    That did make the isce3 module to be importable into python.

  • I noticed the version difference of hdf5 library between the first and second attempts explained above:
    The first attempt (straight to 0.4.0, isce3 module not working) installed HDF5 1.12.1
    The second attempt (0.2.0 -> 0.4.0, isce3 module working) installed 1.10.6.

Hope it helps the other users who wants to install ISCE3 conda package.

@gmgunter
Copy link
Member

gmgunter commented Nov 3, 2021

Hi @seongsujeong, thanks for the detailed report.

I'm guessing that this might be the underlying cause of the issue: HDF5 made a breaking change to their API in v1.12 that is incompatible with all of isce3's current releases. We have this patched in our internal develop branch, and it'll be fixed in our next release, but for now you'll need to pin against an older version of hdf5. I was able to get a working installation of isce3 v0.4.0 on a clean environment by doing this:

$ conda install --channel conda-forge isce3 hdf5=1.10 pyre=1.9

@rtburns-jpl maybe we could update the conda recipe to enforce this upper bound on the supported version of hdf5 for the time being?

Still, it's weird that it's trying to link against a shared library that doesn't exist. I would've expected to see something like an "unresolved symbol" error instead.

$ conda activate isce3-v0.2

$ conda list | grep hdf5
hdf5                      1.10.6          nompi_h6a2412b_1114    conda-forge

$ ls $CONDA_PREFIX/lib/*hdf5_cpp*
/home/ggunter/Tools/miniconda3/envs/isce3-v0.2/lib/libhdf5_cpp.so
/home/ggunter/Tools/miniconda3/envs/isce3-v0.2/lib/libhdf5_cpp.so.103
/home/ggunter/Tools/miniconda3/envs/isce3-v0.2/lib/libhdf5_cpp.so.103.2.0

$ ldd $CONDA_PREFIX/lib/libisce3.so | grep hdf5
	libhdf5_cpp.so.103 => /home/ggunter/Tools/miniconda3/envs/isce3-v0.2/lib/./libhdf5_cpp.so.103 (0x00007f36b5a53000)
	libhdf5.so.103 => /home/ggunter/Tools/miniconda3/envs/isce3-v0.2/lib/./libhdf5.so.103 (0x00007f36b56ca000)
	libhdf5_hl.so.100 => /home/ggunter/Tools/miniconda3/envs/isce3-v0.2/lib/./././libhdf5_hl.so.100 (0x00007f36af754000)
$ conda activate isce3-v0.4

$ conda list | grep hdf5
hdf5                      1.12.1          nompi_h2750804_101    conda-forge

$ ls $CONDA_PREFIX/lib/*hdf5_cpp*
/home/ggunter/Tools/miniconda3/envs/isce3-v0.4/lib/libhdf5_cpp.so
/home/ggunter/Tools/miniconda3/envs/isce3-v0.4/lib/libhdf5_cpp.so.200
/home/ggunter/Tools/miniconda3/envs/isce3-v0.4/lib/libhdf5_cpp.so.200.1.0

$ ldd $CONDA_PREFIX/lib/libisce3.so | grep hdf5
	libhdf5_cpp.so.103 => not found
	libhdf5.so.103 => not found
	libhdf5_cpp.so.200 => /home/ggunter/Tools/miniconda3/envs/isce3-v0.4/lib/././libhdf5_cpp.so.200 (0x00007fb6a7df3000)
	libhdf5.so.200 => /home/ggunter/Tools/miniconda3/envs/isce3-v0.4/lib/././libhdf5.so.200 (0x00007fb6a79ee000)
	libhdf5_hl.so.200 => /home/ggunter/Tools/miniconda3/envs/isce3-v0.4/lib/./././libhdf5_hl.so.200 (0x00007fb6a73b8000)

Notice that the v0.4 libisce3 is trying to link against both libhdf5_cpp.so.103 and libhdf5_cpp.so.200. Seems like something weird is going on on the conda-forge build host.

@rtburns-jpl
Copy link
Member

We have this patched in our internal develop branch, and it'll be fixed in our next release, but for now you'll need to pin against an older version of hdf5. I was able to get a working installation of isce3 v0.4.0 on a clean environment by doing this:

$ conda install --channel conda-forge isce3 hdf5=1.10 pyre=1.9

@rtburns-jpl maybe we could update the conda recipe to enforce this upper bound on the supported version of hdf5 for the time being?

I'm thinking in the other direction - the patch for this is very small, so I think I'll just backport it to our current conda package so that it will support HDF5 v1.12.

Notice that the v0.4 libisce3 is trying to link against both libhdf5_cpp.so.103 and libhdf5_cpp.so.200. Seems like something weird is going on on the conda-forge build host.

This may be an issue with our recipe - there is a pin_compatible mechanism which I may need to be using here. I'll try to take a look at this.

@mdenbina
Copy link

mdenbina commented Nov 3, 2021

$ conda install --channel conda-forge isce3 hdf5=1.10 pyre=1.9

Just wanted to chime in to say that I ran into a similar issue yesterday as @seongsujeong, and this fixed it for me. Thanks @gmgunter!

LiangJYu pushed a commit to LiangJYu/isce3 that referenced this issue Apr 16, 2022
persistence now accounts for runconfig split spectrum warnings
gmgunter pushed a commit that referenced this issue Oct 2, 2023
* add GUNW

* refactor and reformat

* change the h5dataset

* formate with black and refactor

* add GOFF

* fix typos

* condense the code

* add RUNW

* add ROFF RIFG RUNW

* reformat with black

* reformat

* rename the io to insar

* test the codes and add a test.py

* address VB comments

* add the georeference to the GUNW and GOFF products

* fix some parameters of pixelOffsets

* change the geolocation_grid

* fix the iono disable error

* fix the mixed mode

* revise the pixelOffsets dimension

* address VB 2rd review

* make insar new spec package

* fix the insar package issue

* test the insar workflow

* change the RUNW az and rg looks and fix VB comments

* change H5Dataset

* add the RIFG test

* refactor

* refactor the h5_prep

* fix product bug

* correlation surface peak

* fix h5_prep.run for insar

* run isort

* fix the geocode_insar bugs

* fix the unit tests

* fix the crossmul unit test

* attempt to fix the unit tests but failed

* change the productspec version from 1.0.0 to 0.9

* change the product.h5

* remove the odd looks checking

* remove prep_ds_insar

* some formats

* reformat the unwrap

* fix errors in unit test (#6)

* fix errors in unit test

* delete old files

Co-authored-by: Jungkyo Jung <[email protected]>

* address the crossmul unit test failure

* fix the crossmul and rubbersheet unit tests

* fix the hydrostatic

* fix minors

* product specification version

* minor change

* change 0.9 to 0.9.0

* change the prep_insar to prepare_insar_hdf5

* fix LY comments

* address LY comments

* reduce file size (#7)

Co-authored-by: Jungkyo Jung <[email protected]>

* fix geocode_insar bugs

* add the scenecenter parameters

* fix typos

* uploaded compressed files (#8)

Co-authored-by: Jungkyo Jung <[email protected]>

Co-authored-by: Xiaodong Huang <[email protected]>
Co-authored-by: Jungkyo Jung <[email protected]>
Co-authored-by: Jungkyo Jung <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants