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

Solve unresolved dependency on jaxlib #27

Closed
flferretti opened this issue Apr 14, 2023 · 4 comments · Fixed by #38
Closed

Solve unresolved dependency on jaxlib #27

flferretti opened this issue Apr 14, 2023 · 4 comments · Fixed by #38
Assignees

Comments

@flferretti
Copy link
Collaborator

In releases 0.1.dev117 and 0.1.dev118 there is a strict dependency on jaxlib==0.3.15 which is not currently available, making it impossible to install via PyPI

@diegoferigo
Copy link
Member

diegoferigo commented Apr 14, 2023

This is one of the longstanding issues of jaxsim (#12). I did most of the development in late 2021 / early 2022 when jax.experimental.loops was available. Recent jax versions removed it. As long as I don't find enough time to switch to jax.lax.scan, we cannot update jax.

Here you can find the occurrences that have to be migrated (it's no so straightforward unfortunately): https://github.com/search?q=repo%3Aami-iit%2Fjaxsim+jax.experimental.loops&type=code.

Until the migration, we need to use jax and jaxlib 0.3.15. Why do you say that it is not available in PyPI? What Python version are you using?

See all the PyPI wheels at https://pypi.org/project/jaxlib/0.3.15/#files.


In general, always tag me in issues PRs, otherwise I don't receive any notification and I might not reply. I was passing here by chance now.

@flferretti
Copy link
Collaborator Author

Thanks for your answer, I will have a look at it. I'm using Python 3.10

@diegoferigo
Copy link
Member

diegoferigo commented Apr 18, 2023

For those interested in the current status of the repository, the Docker image at the following link provides a working setting where JaxSim can run.

https://gist.github.com/diegoferigo/d8c75132a3193b402514d33f6e6240b1

At the time of writing, the corresponding conda environment is the one below.
Edit 2023/05/12: Updated the gist and environment file after numerous conda-forge updates in cuda support.

environment.yml
name: base
channels:
  - nvidia
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1
  - _openmp_mutex=4.5
  - abseil-cpp=20211102.0
  - absl-py=1.4.0
  - aiohttp=3.7.4.post0
  - alsa-lib=1.2.8
  - anyio=3.6.2
  - argon2-cffi=21.3.0
  - argon2-cffi-bindings=21.2.0
  - asttokens=2.2.1
  - astunparse=1.6.3
  - async-timeout=3.0.1
  - attr=2.5.1
  - attrs=23.1.0
  - backcall=0.2.0
  - backports=1.0
  - backports.functools_lru_cache=1.6.4
  - beautifulsoup4=4.12.2
  - binutils=2.39
  - binutils_impl_linux-64=2.39
  - binutils_linux-64=2.39
  - bleach=6.0.0
  - blinker=1.6.2
  - boltons=23.0.0
  - brotli=1.0.9
  - brotli-bin=1.0.9
  - brotlipy=0.7.0
  - bzip2=1.0.8
  - c-ares=1.18.1
  - c-compiler=1.5.2
  - ca-certificates=2023.5.7
  - cached-property=1.5.2
  - cached_property=1.5.2
  - cachetools=5.3.0
  - cairo=1.16.0
  - certifi=2023.5.7
  - cffi=1.15.1
  - chardet=4.0.0
  - charset-normalizer=3.1.0
  - click=8.1.3
  - cloudpickle=2.2.1
  - colorama=0.4.6
  - coloredlogs=15.0.1
  - comm=0.1.3
  - commonmark=0.9.1
  - compilers=1.5.2
  - conda=23.3.1
  - conda-package-handling=2.0.2
  - conda-package-streaming=0.7.0
  - contourpy=1.0.7
  - cryptography=39.0.0
  - cuda-nvcc=12.0.140
  - cuda-version=11.2
  - cudatoolkit=11.2.2
  - cudnn=8.8.0.121
  - cxx-compiler=1.5.2
  - cycler=0.11.0
  - dataclasses=0.8
  - dbus=1.13.6
  - debugpy=1.6.7
  - decorator=5.1.1
  - defusedxml=0.7.1
  - dm-tree=0.1.7
  - entrypoints=0.4
  - etils=1.2.0
  - executing=1.2.0
  - expat=2.5.0
  - fftw=3.3.10
  - flax=0.5.2
  - flit-core=3.8.0
  - fmt=9.1.0
  - font-ttf-dejavu-sans-mono=2.37
  - font-ttf-inconsolata=3.000
  - font-ttf-source-code-pro=2.038
  - font-ttf-ubuntu=0.83
  - fontconfig=2.14.2
  - fonts-conda-ecosystem=1
  - fonts-conda-forge=1
  - fonttools=4.39.4
  - fortran-compiler=1.5.2
  - freetype=2.12.1
  - future=0.18.3
  - gast=0.4.0
  - gcc=11.3.0
  - gcc_impl_linux-64=11.3.0
  - gcc_linux-64=11.3.0
  - gettext=0.21.1
  - gfortran=11.3.0
  - gfortran_impl_linux-64=11.3.0
  - gfortran_linux-64=11.3.0
  - giflib=5.2.1
  - glib=2.76.2
  - glib-tools=2.76.2
  - google-auth=2.18.0
  - google-auth-oauthlib=0.4.6
  - google-pasta=0.2.0
  - graphite2=1.3.13
  - grpc-cpp=1.46.4
  - grpcio=1.46.4
  - gst-plugins-base=1.21.3
  - gstreamer=1.21.3
  - gstreamer-orc=0.4.33
  - gxx=11.3.0
  - gxx_impl_linux-64=11.3.0
  - gxx_linux-64=11.3.0
  - h5py=3.8.0
  - harfbuzz=6.0.0
  - hdf5=1.14.0
  - humanfriendly=10.0
  - icu=70.1
  - idna=3.4
  - importlib-metadata=6.6.0
  - importlib_metadata=6.6.0
  - importlib_resources=5.12.0
  - ipykernel=6.23.0
  - ipython=8.13.2
  - ipython_genutils=0.2.0
  - ipywidgets=8.0.6
  - jack=1.9.22
  - jax=0.3.15
  - jaxlib=0.3.15
  - jedi=0.18.2
  - jinja2=3.1.2
  - jpeg=9e
  - jsonpatch=1.32
  - jsonpointer=2.0
  - jsonschema=4.17.3
  - jupyter=1.0.0
  - jupyter_client=8.2.0
  - jupyter_console=6.6.3
  - jupyter_core=5.3.0
  - jupyter_events=0.6.3
  - jupyter_server=2.5.0
  - jupyter_server_terminals=0.4.4
  - jupyterlab_pygments=0.2.2
  - jupyterlab_widgets=3.0.7
  - keras=2.9.0
  - keras-preprocessing=1.1.2
  - kernel-headers_linux-64=2.6.32
  - keyutils=1.6.1
  - kiwisolver=1.4.4
  - krb5=1.20.1
  - lame=3.100
  - lcms2=2.15
  - ld_impl_linux-64=2.39
  - lerc=4.0.0
  - libabseil=20211102.0
  - libaec=1.0.6
  - libarchive=3.6.2
  - libblas=3.9.0
  - libbrotlicommon=1.0.9
  - libbrotlidec=1.0.9
  - libbrotlienc=1.0.9
  - libcap=2.66
  - libcblas=3.9.0
  - libclang=15.0.7
  - libclang13=15.0.7
  - libcups=2.3.3
  - libcurl=7.87.0
  - libdb=6.2.32
  - libdeflate=1.17
  - libedit=3.1.20191231
  - libev=4.33
  - libevent=2.1.10
  - libexpat=2.5.0
  - libffi=3.4.2
  - libflac=1.4.2
  - libgcc-devel_linux-64=11.3.0
  - libgcc-ng=12.2.0
  - libgcrypt=1.10.1
  - libgfortran-ng=12.2.0
  - libgfortran5=12.2.0
  - libglib=2.76.2
  - libgomp=12.2.0
  - libgpg-error=1.46
  - libiconv=1.17
  - liblapack=3.9.0
  - libllvm15=15.0.7
  - libmamba=1.2.0
  - libmambapy=1.2.0
  - libnghttp2=1.51.0
  - libnsl=2.0.0
  - libogg=1.3.4
  - libopenblas=0.3.21
  - libopus=1.3.1
  - libpng=1.6.39
  - libpq=15.1
  - libprotobuf=3.20.3
  - libsanitizer=11.3.0
  - libsndfile=1.2.0
  - libsodium=1.0.18
  - libsolv=0.7.23
  - libsqlite=3.40.0
  - libssh2=1.10.0
  - libstdcxx-devel_linux-64=11.3.0
  - libstdcxx-ng=12.2.0
  - libsystemd0=252
  - libtiff=4.5.0
  - libtool=2.4.7
  - libudev1=253
  - libuuid=2.38.1
  - libvorbis=1.3.7
  - libwebp-base=1.3.0
  - libxcb=1.13
  - libxkbcommon=1.5.0
  - libxml2=2.10.3
  - libzlib=1.2.13
  - lz4-c=1.9.4
  - lzo=2.10
  - mamba=1.2.0
  - markdown=3.4.3
  - markupsafe=2.1.2
  - mashumaro=3.7
  - matplotlib=3.7.1
  - matplotlib-base=3.7.1
  - matplotlib-inline=0.1.6
  - mistune=2.0.5
  - mpg123=1.31.3
  - msgpack-python=1.0.5
  - multidict=6.0.4
  - munkres=1.1.4
  - mysql-common=8.0.32
  - mysql-libs=8.0.32
  - nbclassic=1.0.0
  - nbclient=0.7.4
  - nbconvert=7.4.0
  - nbconvert-core=7.4.0
  - nbconvert-pandoc=7.4.0
  - nbformat=5.8.0
  - nccl=2.15.5.1
  - ncurses=6.3
  - nest-asyncio=1.5.6
  - notebook=6.5.4
  - notebook-shim=0.2.3
  - nspr=4.35
  - nss=3.89
  - numpy=1.22.4
  - oauthlib=3.2.2
  - openjpeg=2.5.0
  - openssl=1.1.1t
  - opt_einsum=3.3.0
  - optax=0.1.5
  - packaging=23.1
  - pandoc=2.19.2
  - pandocfilters=1.5.0
  - parso=0.8.3
  - pcre2=10.40
  - pexpect=4.8.0
  - pickleshare=0.7.5
  - pillow=9.4.0
  - pip=23.1
  - pixman=0.40.0
  - pkgutil-resolve-name=1.3.10
  - platformdirs=3.5.1
  - pluggy=1.0.0
  - ply=3.11
  - pooch=1.7.0
  - pptree=3.1
  - prometheus_client=0.16.0
  - prompt-toolkit=3.0.38
  - prompt_toolkit=3.0.38
  - protobuf=3.20.3
  - psutil=5.9.5
  - pthread-stubs=0.4
  - ptyprocess=0.7.0
  - pulseaudio=16.1
  - pure_eval=0.2.2
  - pyasn1=0.4.8
  - pyasn1-modules=0.2.7
  - pybind11-abi=4
  - pycosat=0.6.4
  - pycparser=2.21
  - pygments=2.15.1
  - pyjwt=2.7.0
  - pyopenssl=23.1.1
  - pyparsing=3.0.9
  - pyqt=5.15.7
  - pyqt5-sip=12.11.0
  - pyrsistent=0.19.3
  - pysocks=1.7.1
  - python=3.10.8
  - python-dateutil=2.8.2
  - python-fastjsonschema=2.16.3
  - python-flatbuffers=1.12
  - python-json-logger=2.0.7
  - python_abi=3.10
  - pyu2f=0.1.5
  - pyyaml=6.0
  - pyzmq=25.0.2
  - qt-main=5.15.6
  - qtconsole=5.4.3
  - qtconsole-base=5.4.3
  - qtpy=2.3.1
  - re2=2022.06.01
  - readline=8.2
  - reproc=14.2.4
  - reproc-cpp=14.2.4
  - requests=2.28.2
  - requests-oauthlib=1.3.1
  - rfc3339-validator=0.1.4
  - rfc3986-validator=0.1.1
  - rich=11.1.0
  - rsa=4.9
  - ruamel.yaml=0.17.21
  - ruamel.yaml.clib=0.2.7
  - scipy=1.10.1
  - send2trash=1.8.2
  - setuptools=67.6.1
  - sip=6.7.9
  - six=1.16.0
  - snappy=1.1.10
  - sniffio=1.3.0
  - soupsieve=2.3.2.post1
  - sqlite=3.40.0
  - stack_data=0.6.2
  - sysroot_linux-64=2.12
  - tensorboard=2.9.0
  - tensorboard-data-server=0.6.1
  - tensorboard-plugin-wit=1.8.1
  - tensorflow-base=2.9.1
  - tensorflow-probability=0.17.0
  - termcolor=2.3.0
  - terminado=0.17.1
  - tinycss2=1.2.1
  - tk=8.6.12
  - toml=0.10.2
  - tomli=2.0.1
  - toolz=0.12.0
  - tornado=6.3
  - tqdm=4.65.0
  - traitlets=5.9.0
  - typing-extensions=4.5.0
  - typing_extensions=4.5.0
  - tzdata=2023c
  - unicodedata2=15.0.0
  - urllib3=1.26.15
  - wcwidth=0.2.6
  - webencodings=0.5.1
  - websocket-client=1.5.1
  - werkzeug=2.3.4
  - wheel=0.40.0
  - widgetsnbextension=4.0.7
  - wrapt=1.15.0
  - xcb-util=0.4.0
  - xcb-util-image=0.4.0
  - xcb-util-keysyms=0.4.0
  - xcb-util-renderutil=0.3.9
  - xcb-util-wm=0.4.1
  - xkeyboard-config=2.38
  - xorg-kbproto=1.0.7
  - xorg-libice=1.0.10
  - xorg-libsm=1.2.3
  - xorg-libx11=1.8.4
  - xorg-libxau=1.0.9
  - xorg-libxdmcp=1.1.3
  - xorg-libxext=1.3.4
  - xorg-libxrender=0.9.10
  - xorg-renderproto=0.11.1
  - xorg-xextproto=7.3.0
  - xorg-xproto=7.0.31
  - xz=5.2.6
  - yaml=0.2.5
  - yaml-cpp=0.7.0
  - yarl=1.9.1
  - zeromq=4.3.4
  - zipp=3.15.0
  - zlib=1.2.13
  - zstandard=0.19.0
  - zstd=1.5.2
  - pip:
      - chex==0.1.6
      - distrax==0.1.3
      - jax-dataclasses==1.3.0
      - jaxlie==1.2.10
      - meshcat==0.3.2
      - meshcat-viz==0.1.dev50
      - overrides==7.3.1
      - pyngrok==6.0.0
      - rod==0.1.dev83
      - u-msgpack-python==2.7.2
      - xmltodict==0.13.0

@diegoferigo diegoferigo self-assigned this Apr 18, 2023
@flferretti
Copy link
Collaborator Author

This will be solved by #35

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 a pull request may close this issue.

2 participants