Satellite Application Facility for Numerical Weather Prediction › Forums › RTTOV › Older Versions › RTTOV v12 › RTTOV v12 General Discussion › wxPython for the rttov gui
Tagged: installation gui wxpython
- This topic has 27 replies, 3 voices, and was last updated 4 years ago by Amirhossein Nikfal.
-
AuthorPosts
-
March 20, 2020 at 7:51 pm #13254Amirhossein NikfalParticipant
Hi James,
I’m not sure. After activating the virtual environment by conda, I installed the required packages by the following command:
conda install package_name
Amir
March 23, 2020 at 8:31 am #13255James HockingKeymasterHi Amir,
Which website did you download conda from? Anaconda is the full distribution:
https://www.anaconda.com/distribution/While miniconda is a minimal distribution:
https://docs.conda.io/en/latest/miniconda.htmlPascale is recommending the second one, miniconda.
Best wishes,
JamesApril 23, 2020 at 7:23 am #13283Amirhossein NikfalParticipantDear James and Pascale,
I reinstalled the rttov model with a python environment created by miniconda. However, the previous problem during launching rttov-gui persists with the same error messages:
[ah@localhost gui]$ source rttov_gui.env [ah@localhost gui]$ ./rttovgui
File “rcontroller/controller.py”, line 15, in <module>
import rmodel
File “/home/ah/rttov/gui/rmodel/__init__.py”, line 1, in <module>
from . import project
File “/home/ah/rttov/gui/rmodel/project.py”, line 29, in <module>
import rttov
File “/home/ah/rttov/gui/rttov/__init__.py”, line 22, in <module>
from . import getcoefval
File “/home/ah/rttov/gui/rttov/getcoefval.py”, line 7, in <module>
from rttov_gui_f2py import rttov_gui_get_coef_val_i0, \
ImportError: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1bI have set the
RTTOV_GUI_PREFIX
variable in therttov_gui.env
file correctly, and have installed all the required python packages, such as wxpython, matplotlib, …Anyway, if the problem is not going to be solved, I hope I won’t have much trouble with the rttov model, without its GUI.
Many thanks for your kind support
AmirApril 23, 2020 at 8:46 am #13284James HockingKeymasterHi Amir,
Sorry to hear you’re still having problems running the GUI. Googling for the phrase:
“undefined symbol evp_kdf_ctrl version openssl_1_1_1b”
taken from the error message you are getting, gives a several results where people see similar errors when installing different bits of software under Fedora. This suggests it is some sort of library version mismatch on your system rather than a problem with the RTTOV GUI.
If I run ldd on my build of rttov_gui_f2py.so, I cannot see any dependency on libssh:
$ ldd lib/rttov_gui_f2py.soIf you do this, do you see libssh appearing in the list? If so, my guess is that your RTTOV build is linking against the conda version of libssh at compile-time, but is dynamically linking to the system version at run-time (or vice versa) and they are different versions, hence the error. But then it isn’t obvious to me why there is a dependency on libssh.
Please note though that you do not need to run the GUI to use RTTOV: you can call RTTOV directly from Fortran (the usual method). It is also possible to use the RTTOV Python wrapper if you prefer which gives access to much RTTOV functionality in Python: however, it’s not clear to me whether or not the same problem you are encountering with the GUI will cause problems with the Python wrapper. Finally, there is also a C++ wrapper, similar to the Python one, if you prefer C++.
Best wishes,
JamesApril 24, 2020 at 9:04 am #13285Amirhossein NikfalParticipantHi James,
Thank you for the guidance. I am OK with FORTRAN, since many atmospheric models, particularly WRF, are based on FORTRAN codes.
Once again, I tried to compile the model. In the previous compilations, I did not have installed the f2py package (python2-numpy-f2py) in the Linux environment, rather by activating the conda environment,
build/rttov_compile.sh
could find f2py installed.This time I compiled it manually by installing
python2-numpy-f2py
, without usingbuild/rttov_compile.sh
and without activating conda environment; but the same errors (… libssh.so.4: undefined symbol …) kept appearing.I also compiled the model in another Fedora OS (29, scientific) instead of Fedora-31. It showed similar errors, but this time, the libssh issue was replaced by libcurl:
Traceback (most recent call last):
File “rcontroller/controller.py”, line 15, in <module>
import rmodel
File “/home/ah/rttov/gui/rmodel/__init__.py”, line 1, in <module>
from . import project
File “/home/ah/rttov/gui/rmodel/project.py”, line 29, in <module>
import rttov
File “/home/ah/rttov/gui/rttov/__init__.py”, line 22, in <module>
from . import getcoefval
File “/home/ah/rttov/gui/rttov/getcoefval.py”, line 7, in <module>
from rttov_gui_f2py import rttov_gui_get_coef_val_i0, \
ImportError: /lib64/libcurl.so.4: symbol SSLv3_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time referenceFor this case, rather than libssh or libcurl, it seems that OPENSSL is something which must be handled to get a flawless installation of RTTOV-GUI. Furthermore, libssh appears in the output of
ldd lib/rttov_gui_f2py.so
for all the installations.Best,
AmirApril 27, 2020 at 8:33 am #13287James HockingKeymasterHi Amir,
Assuming I’m right in thinking that it is a conflict between the miniconda and system library versions, you could try updating your LD_LIBRARY_PATH before running RTTOV.
Assuming that RTTOV is linking against the miniconda versions of the library, you can do the following:
$ export LD_LIBRARY_PATH=/your/path/to/miniconda/lib:$LD_LIBRARY_PATH
where obviously you need to use the path of your miniconda lib/ directory.
Then if you run RTTOV in the same terminal it should pick up the miniconda libraries rather than the system ones.
Best wishes,
JamesApril 27, 2020 at 5:46 pm #13288Amirhossein NikfalParticipantHi James,
After setting LD_LIBRARY_PATH to the miniconda libraries, the compilation of RTTOV is not successful, with almost the same error about libssh.
Best wishes,
AmirApril 29, 2020 at 9:36 am #13290James HockingKeymasterHi Amir,
If you can work with Fortran then I would suggest doing that. If you have more questions do let us know. The GUI only provides access to a subset of RTTOV functionality, and if you are simulating many profiles you would not want to use the GUI anyway.
I’m not sure what to suggest to get the GUI working: we haven’t seen this problem before, and it would seem that usually the RTTOV libraries do not end up with any dependency on OpenSSL/libssl etc so I don’t know where that is coming from in your case. I am pretty convinced the errors are due to version mismatches between the conda libraries and your system libraries, but I’m not sure how to resolve them. If it is not possible to compile and run RTTOV against either the conda or system libraries, then maybe it’s possible to revert the versions of the conda libraries to the same as your system ones (I assume the conda ones are the more recent), but this is probably not simple, and may not work as it will affect dependencies among the other conda packages/libraries.
Best wishes,
JamesApril 29, 2020 at 5:22 pm #13291Amirhossein NikfalParticipantHi James,
Thank you for all the guidance and support. I prefer to focus on RTTOV, but in the future if I get the GUI working, I will report it here.
Best wishes,
AmirNovember 18, 2020 at 10:02 am #13262Amirhossein NikfalParticipantJames,
I installed
conda
via the Linux package manager (dnf). The repository channels ofconda
are:
– https://repo.anaconda.com/pkgs/main/linux-64
– https://repo.anaconda.com/pkgs/main/noarch
– https://repo.anaconda.com/pkgs/r/linux-64
– https://repo.anaconda.com/pkgs/r/noarchAmir
November 18, 2020 at 10:02 am #13268Amirhossein NikfalParticipantJames,
I installed conda via the Linux package manager (dnf). The conda repository channels are:
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarchAmir
November 18, 2020 at 10:03 am #13264Amirhossein NikfalParticipantJames,
I installed conda with the Linux package manager (dnf). The repository channels of this installation of conda are:
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarchAmir
November 18, 2020 at 10:03 am #13263Amirhossein NikfalParticipantHi James,
I installed conda via the Linux package manager (dnf). The repository channels of the conda are:
– https://repo.anaconda.com/pkgs/main/linux-64
– https://repo.anaconda.com/pkgs/main/noarch
– https://repo.anaconda.com/pkgs/r/linux-64
– https://repo.anaconda.com/pkgs/r/noarchAmir
-
AuthorPosts
- You must be logged in to reply to this topic.