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

Singularity testing #513

Closed
wants to merge 2 commits into from

Conversation

trontrytel
Copy link
Contributor

For some reason my pip3 cannot find the versions of numpy and scipy specified in the requirements. I tried upgrading pip3 but it did not solve the problem.

Would it be possible to downgrade those requirements?

@slayoo
Copy link
Member

slayoo commented May 13, 2021

The original problem seems to be caused by Python 3.6 for which newer versions of several packages are indeed not available (which was also one of the reasons why we dropped checks on Python 3.6 on CI). Python 3.6 has an end-of-support date officially scheduled to 2021-12-23.

Downgrading Numpy is tricky due to: numba/numba#6176
Basically, we would need to somehow ensure that user has either (new numba and new numpy) or (old numba and old numpy)... no idea how to do it?

@trontrytel
Copy link
Contributor Author

Hi @slayoo Thank you for taking a look. You are right. I was able to load Python3.8.5 and it solved all the version problems. Apologies, I did not know that Python3.6 is already too old! Things seem to work on CPU.

However now I have a package problem when I try to run on the GPU backend. I installed both PySDM and PySDM-examples with pip3 install -e . I got the following warning Defaulting to user installation because normal site-packages is not writeable and some more warnings like this WARNING: The scripts completion-ghapi, gh-create-workflow, ghapi, ghpath and ghraw are installed in '/home/ajaruga/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Looked fine otherwise. But after trying to run the example I get the following:

$ python3 example.py 
/home/ajaruga/.local/lib/python3.8/site-packages/numba/np/ufunc/parallel.py:365: NumbaWarning: The TBB threading layer requires TBB version 2019.5 or later i.e., TBB_INTERFACE_VERSION >= 11005. Found TBB_INTERFACE_VERSION = 6103. The TBB threading layer is disabled.
  warnings.warn(problem)
Traceback (most recent call last):
  File "example.py", line 7, in <module>
    from PySDM.backends import CPU, GPU
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/__init__.py", line 8, in <module>
    from .builder import Builder
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/builder.py", line 8, in <module>
    from PySDM.initialisation.multiplicities import discretise_n  # TODO #324
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/initialisation/__init__.py", line 5, in <module>
    from .r_wet_init import r_wet_init
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/initialisation/r_wet_init.py", line 5, in <module>
    from ..backends.numba.toms748 import toms748_solve
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/backends/__init__.py", line 40, in <module>
    from .thrustRTC.thrustRTC import ThrustRTC
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/backends/thrustRTC/thrustRTC.py", line 7, in <module>
    from PySDM.backends.thrustRTC.impl._algorithmic_methods import AlgorithmicMethods
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/backends/thrustRTC/impl/__init__.py", line 1, in <module>
    from .nice_thrust import nice_thrust
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/backends/thrustRTC/impl/nice_thrust.py", line 5, in <module>
    from PySDM.backends.thrustRTC.conf import trtc
  File "/home/ajaruga/.local/lib/python3.8/site-packages/PySDM/backends/thrustRTC/conf.py", line 9, in <module>
    import ThrustRTC as trtc
  File "/home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/__init__.py", line 1, in <module>
    from .Native import native, check_i
  File "/home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/Native.py", line 12, in <module>
    native = ffi.dlopen(path_thrustrtc)
OSError: cannot load library '/home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/libPyThrustRTC.so': /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/libPyThrustRTC.so)

When I try

$ pip3 install ThrustRTC
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: ThrustRTC in /central/home/ajaruga/.local/lib/python3.8/site-packages (0.3.10)
Requirement already satisfied: cffi in /central/home/ajaruga/.local/lib/python3.8/site-packages (from ThrustRTC) (1.14.5)
Requirement already satisfied: numpy in /central/home/ajaruga/.local/lib/python3.8/site-packages (from ThrustRTC) (1.20.3)
Requirement already satisfied: pycparser in /central/home/ajaruga/.local/lib/python3.8/site-packages (from cffi->ThrustRTC) (2.20)
WARNING: You are using pip version 20.3.1; however, version 21.1.1 is available.
You should consider upgrading via the '/central/software/python/3.8.5/bin/python3.8 -m pip install --upgrade pip' command.

Is that also a version problem? Looks to me like he is looking in the right place to find ThrustRTC?

@slayoo
Copy link
Member

slayoo commented May 13, 2021

@trontrytel Looks like it is a ThrustRTC packaging issue unrelated to PySDM.
Does the same thing happens when you just try to import ThrustRTC:

$ python3 -c "import ThrustRTC as trtc"

?

If so, let's continue digging, but at the same time let's perhaps report at https://github.com/fynv/ThrustRTC/issues as folks there might know the answer...

@trontrytel
Copy link
Contributor Author

This is what happens.

python3 -c "import ThrustRTC as trtc"

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/__init__.py", line 1, in <module>
    from .Native import native, check_i
  File "/home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/Native.py", line 12, in <module>
    native = ffi.dlopen(path_thrustrtc)
OSError: cannot load library '/home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/libPyThrustRTC.so': /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/ajaruga/.local/lib/python3.8/site-packages/ThrustRTC/libPyThrustRTC.so)

@trontrytel
Copy link
Contributor Author

I don't understand what is the problem, so I'm not sure how to report it up to the ThrustRTC people. Is it because whatever this CXXABI_1.3.9 is, is missing?

@slayoo
Copy link
Member

slayoo commented May 13, 2021

reported there: fynv/ThrustRTC#11
closing here
Thanks!

@slayoo slayoo closed this May 13, 2021
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

Successfully merging this pull request may close these issues.

None yet

2 participants