Closed joansola closed 2 years ago
conda is the way to go.
conda install pinocchio -c conda-forge
thanks Olivier!
Maybe you want to update the doc :-)
May I ask this here: Does conda apply also to gepetto-viewer and croccoddyl?
The best doc is the readme.md the website is indeed a bit outdated.
For crocoddyl yes: https://anaconda.org/conda-forge/crocoddyl
As an exercice I let you find by yourself for gepetto-viewer 😀
Hahaha found it!!
thanks!!
Hahaha found it!!
thanks!!
Gepetto viewer is not yet available on the Apple chip.
I will try to update the recipes on Brew, but honestly, conda is much more flexible.
@joansola Happy to see you onboard.
Justin, conda is ok, don't bither to do this brew update!
I will migrate all my brew packages to conda, though, since they seem to conflict quite a lot. Any suggestion?
If you have conflicts, I would say just do brew unlink
to shadow them from the rest.
It is difficult to see what is going on. I will post here the number of conflicts I had when installing gepetto-viewer via conda, and also all the brew packages I have. Conflicts and packages do not match much... so maybe someone can shed some light to see what is the recommended course of action.
[first a super long list of conflicts...]
// then this:
Package eigenpy conflicts for:
hpp-fcl -> eigenpy
pinocchio -> eigenpy
Package nss conflicts for: qt -> qt-main=5.15.4 -> nss[version='>=3.74,<4.0a0|>=3.77,<4.0a0|>=3.78,<4.0a0'] qt -> nss[version='>=3.39,<4.0a0|>=3.47,<4.0a0|>=3.73,<4.0a0|>=3.46,<4.0a0|>=3.45,<4.0a0']
Package filelock conflicts for: conda-build -> filelock anaconda==2021.05 -> filelock==3.0.12=pyhd3eb1b0_1
Package charls conflicts for: tifffile -> imagecodecs[version='>=2021.11.20'] -> charls[version='>=2.1.0,<2.2.0a0|>=2.2.0,<2.3.0a0|>=2.3.4,<2.4.0a0'] anaconda==2021.05 -> charls==2.2.0=h23ab428_0 anaconda==2021.05 -> imagecodecs==2021.3.31=py39h2ea9c00_0 -> charls[version='>=2.2.0,<2.3.0a0']
Package wurlitzer conflicts for: spyder-kernels -> wurlitzer[version='>=1.0.3'] anaconda==2021.05 -> wurlitzer==2.1.0[build='py37hecd8cb5_0|py39hecd8cb5_0|py38hecd8cb5_0'] spyder -> spyder-kernels[version='>=2.3.1,<2.4.0'] -> wurlitzer[version='>=1.0.3'] anaconda==2021.05 -> spyder-kernels==1.10.2=py37hecd8cb5_0 -> wurlitzer[version='>=1.0.3']
Package jdcal conflicts for: anaconda==2021.05 -> openpyxl==3.0.7=pyhd3eb1b0_0 -> jdcal openpyxl -> jdcal anaconda==2021.05 -> jdcal==1.4.1=py_0
Package immutables conflicts for: sniffio -> contextvars[version='>=2.1'] -> immutables[version='0.5|0.6|>=0.9'] distributed -> contextvars -> immutables[version='0.5|0.6|>=0.9']
Package bkcharts conflicts for: dask -> bokeh -> bkcharts[version='>=0.2'] distributed -> bokeh[version='>=0.12.3'] -> bkcharts[version='>=0.2'] bokeh -> bkcharts[version='>=0.2'] anaconda==2021.05 -> bkcharts==0.2[build='py37_0|py39hecd8cb5_0|py38_0']
Package mock conflicts for: pytables -> mock anaconda==2021.05 -> mock==4.0.3=pyhd3eb1b0_0 anaconda==2021.05 -> pytables==3.6.1=py37h5bccee9_0 -> mock
Package pytoolconfig conflicts for: spyder -> rope[version='>=0.10.5'] -> pytoolconfig rope -> pytoolconfig python-language-server -> rope[version='>=0.10.5'] -> pytoolconfig
Package pyobjc-core conflicts for: watchdog -> pyobjc-framework-cocoa[version='>=4.2.2'] -> pyobjc-core[version='7.3.|8.0.|8.1.|8.2.|8.4.|8.4.1.|8.5.*|>=7.1|>=6.2.2|>=6.2.1|>=6.1|>=5.1'] applaunchservices -> pyobjc-framework-coreservices -> pyobjc-core[version='>=8.5']
Package pyls-spyder conflicts for: spyder -> pyls-spyder[version='>=0.1.1|>=0.3.0|>=0.3.2|>=0.3.2,<0.4.0|>=0.4.0'] anaconda==2021.05 -> pyls-spyder==0.3.2=pyhd3eb1b0_0 anaconda==2021.05 -> spyder==4.2.5=py37hecd8cb5_0 -> pyls-spyder[version='>=0.3.2']
Package ply conflicts for: anaconda==2021.05 -> ply==3.11[build='py37_0|py39hecd8cb5_0|py38_0'] sip -> ply
Package lazy-object-proxy conflicts for: anaconda==2021.05 -> astroid==2.5=py37hecd8cb5_1 -> lazy-object-proxy[version='>=1.4,<2'] anaconda==2021.05 -> lazy-object-proxy==1.6.0[build='py37h9ed2024_0|py39h9ed2024_0|py38h9ed2024_0'] astroid -> lazy-object-proxy[version='1.4.|>=1.4,<2|>=1.4.0'] pylint -> astroid[version='>=2.11.6,<2.12.0'] -> lazy-object-proxy[version='1.4.|>=1.4,<2|>=1.4.0']
Package assimp conflicts for: gepetto-viewer -> assimp[version='>=5.0.1,<5.1.0a0|>=5.2.3,<5.2.4.0a0|>=5.2.4,<5.2.5.0a0'] pinocchio -> hpp-fcl[version='>=2.0.1,<2.1.0a0'] -> assimp[version='>=4.1.0,<4.2.0a0|>=5.0.1,<5.1.0a0|>=5.2.0,<5.3.0a0|>=5.2.1,<5.3.0a0|>=5.2.3,<5.2.4.0a0|>=5.2.4,<5.2.5.0a0'] hpp-fcl -> assimp[version='>=4.1.0,<4.2.0a0|>=5.0.1,<5.1.0a0|>=5.2.0,<5.3.0a0|>=5.2.1,<5.3.0a0|>=5.2.3,<5.2.4.0a0|>=5.2.4,<5.2.5.0a0']
Package conda-content-trust conflicts for: conda-token -> conda-content-trust anaconda-navigator -> conda-token -> conda-content-trust
Package python-pathlib2 conflicts for: ipython -> pickleshare -> python-pathlib2 pickleshare -> python-pathlib2 spyder -> pickleshare[version='>=0.4'] -> python-pathlib2
Package imagecodecs-lite conflicts for: tifffile -> imagecodecs-lite[version='>=2019.4.20'] scikit-image -> tifffile[version='>=2019.7.26'] -> imagecodecs-lite[version='>=2019.4.20']
Package fastcache conflicts for: anaconda==2021.05 -> fastcache==1.1.0[build='py38h1de35cc_0|py37h1de35cc_0|py39h9ed2024_0'] sympy -> fastcache
Package qtconsole conflicts for: anaconda==2021.05 -> jupyter==1.0.0=py37_7 -> qtconsole[version='>=5.0.3'] spyder -> qtconsole[version='>=4.2|>=4.6.0|>=4.7.7|>=5.0.1|>=5.0.3|>=5.1.0|>=5.1.0,<5.2.0|>=5.2.1,<5.3.0|>=5.3.0,<5.4.0'] anaconda==2021.05 -> qtconsole==5.0.3=pyhd3eb1b0_0 jupyter -> qtconsole
Package pyqtwebengine conflicts for: spyder -> pyqtwebengine[version='<5.16'] spyder -> pyqt[version='>=5.6,<5.16'] -> pyqtwebengine==5.12.1[build='py38h721a93c_5|py39hef7122c_6|py38hb240fba_8|py39he44290a_8|py37hab5ec1f_8|py310hea9ccf3_8|py38h721a93c_7|py37h5ae2165_7|py39hef7122c_7|py36hb40023b_7|py36hb40023b_6|py38h721a93c_6|py37h5ae2165_6']
Package qtconsole-base conflicts for: spyder -> qtconsole[version='>=5.3.0,<5.4.0'] -> qtconsole-base[version='>=5.2.2,<5.2.3.0a0|>=5.3.0,<5.3.1.0a0|>=5.3.1,<5.3.2.0a0'] qtconsole -> qtconsole-base[version='>=5.2.2,<5.2.3.0a0|>=5.3.0,<5.3.1.0a0|>=5.3.1,<5.3.2.0a0'] jupyter -> qtconsole -> qtconsole-base[version='>=5.2.2,<5.2.3.0a0|>=5.3.0,<5.3.1.0a0|>=5.3.1,<5.3.2.0a0']
Package ripgrep conflicts for: anaconda==2021.05 -> ripgrep==12.1.1=0 conda-build -> ripgrep
Package pywavelets conflicts for: anaconda==2021.05 -> scikit-image==0.18.1=py37hb2f4e1b_0 -> pywavelets[version='>=0.4.0'] scikit-image -> pywavelets[version='>=0.4.0|>=1.1.1'] anaconda==2021.05 -> pywavelets==1.1.1[build='py37haf1e3a3_2|py39he3068b8_4|py38haf1e3a3_2']
Package mysql-libs conflicts for: qt -> mysql-libs[version='>=8.0.21,<8.1.0.0a0|>=8.0.22,<8.1.0.0a0|>=8.0.23,<8.1.0.0a0|>=8.0.27,<8.1.0a0'] qt -> qt-main=5.15.4 -> mysql-libs[version='>=8.0.28,<8.1.0a0|>=8.0.29,<8.1.0a0']The following specifications were found to be incompatible with your system:
Your installed version is: 10.16
(base) vermicelle:install jsola$ brew list
==> Formulae
adns ffmpeg gnutls libarchive libsamplerate meson poco srt
android-platform-tools ffmpeg@4 go libass libsndfile metis protobuf subversion
aom flac gobject-introspection libassuan libsodium mpdecimal pugixml suite-sparse
apr fltk gpgme libavif libsoxr mpfr pyqt@5 szip
apr-util fontconfig graphite2 libb2 libtasn1 mysql@5.7 python tbb
autoconf freetype graphviz libbluray libtiff netcdf python3 tbb@2020
automake frei0r gts libcerf libtool netpbm python@2 tcl-tk
bash-completion fribidi gtsam libconfig libunistring nettle python@3.10 telnet
bdw-gc gcc guile libde265 libusb nghttp2 python@3.8 tesseract
bibtex2html gd harfbuzz libev libvidstab ninja python@3.9 theora
boost gdb hdf5 libevent libvmaf npth qcachegrind tinyxml2
boost@1.57 gdbm hevea libffi libvorbis numpy qhull unbound
boost@1.60 gdk-pixbuf hugo libgcrypt libvpx ocaml qt utf8cpp
brotli gettext icu4c libgpg-error libx11 openblas qt5 utf8proc
c-ares gflags ilmbase libheif libxau opencore-amr qt@5 vtk
ca-certificates ghostscript imagemagick libidn libxcb opencv rav1e webp
cairo giflib imath libidn2 libxdmcp openexr readline wget
ceres-solver git isl libksba libxext openjpeg rtmpdump x264
cjson git-flow jasper liblqr libxrender openssl@1.1 rubberband x265
clang-format git-gui jbig2dec libmpc libyaml opus sdl2 xmlto
cmake gl2ps jemalloc libnghttp2 liquidprompt p11-kit shared-mime-info xorgproto
cmocka glew jpeg libogg little-cms2 pango sip xvid
dav1d glib jpeg-turbo libomp lua pcre six xz
docbook glog jpeg-xl libpng lz4 pcre2 snappy yaml-cpp
docbook-xsl gmp jsoncpp libpthread-stubs lzo picocom speex zeromq
double-conversion gnu-getopt lame libraw m4 pinentry sphinx zimg
doxygen gnupg leptonica librist mbedtls pixman sphinx-doc zstd
eigen gnuplot libaec librsvg mercurial pkg-config sqlite
==> Casks
qlmarkdown
This installation process took several hours.
Hi Joan. You cannot mix brew and conda ... This is not compatible. I would say that gepetto-viewer is not the right choice as it is no more maintained by Gepetto. On the other side, I would encourage you to use meshcat as main viewer: it simple and easy to use and install.
What are your needs?
I will update gepetto-viewer recipe from conda to account for latest release. You also should use mamba instead of conda (c++ version of conda with better conflict managers).
I need to install pinoccio, croccoddyl, and a viewer. Pep Marti, oru student, is using them in his PhD thesis. Also, he is using gepetto-viewer. But maybe we can change to this other viewer meshcat.
Thanks for all this. Since I barely started with conda, and I still have to get rid of brew packages, I will then switch directly to mamba if you say it's more convenient!
mamba is working beautifully with robostack.
robostack is kind of an improved robotpkg?
Sorry I'm super newbie on these things
robostack is ROS in conda. Nice port by the conda creators, which is pretty useful for computations over clusters, etc.
For me, brew is too restrictive and too monolithic. Conda is very flexible and very powerful.
Oh, having ROS in MacOS is allso something that I would like. So robostack offers this? cool!
Then between conda and mamba, what should I chose?
both. Install conda and mamba within your conda base environment.
Oh, having ROS in MacOS is allso something that I would like. So robostack offers this? cool!
Yes.
ah ok
OK I'll do all this and see how it works. Thanks!
An alternative is that with the robotstack you have use rviz (noetic) or rviz2 (galactic).
Cool! Should I use this (closed issue) communication channel with you guys until I have my system running?
Could you move to Gepetto's riot channel instead?
Sure. Can you put a link here?
@joansola I am preparing a large PR next week, which it will contain more support of meshcat in Crocoddyl. Currently, you can use it but without the display of contact forces (only robot motion)
The only thing you will need to compile Crocoddyl by source, as it might take a month to release this code.
OK I got you on Matrix, but for what concerns this thread I will just post updates here. Thanks Justin, Olivier and Carlos for your inputs!
So: I managed to get my Mac clean of Brew and reinstalled all from conda. It is indeed quite powerful and I could find all packages I needed --- with the exception of yaml-cpp
which I compiled from source. -- Actually apriltag
also because the only package I could find was on robostack.
Now on to croccoddyl and other geppetto packages :-D
So: I managed to get my Mac clean of Brew and reinstalled all from conda. It is indeed quite powerful and I could find all packages I needed --- with the exception of
yaml-cpp
which I compiled from source. -- Actuallyapriltag
also because the only package I could find was on robostack.
Hi @joansola ! In theory there is yaml-cpp in conda-forge (see https://github.com/conda-forge/yaml-cpp-feedstock). There is any feature missing there for which you had to compile it from source? Thanks!
Hi Silvio @traversaro ! Nice to meet you here
Let me recap a little bit and tell you what I found missing. It was a bit of a chaos and I am not sure of all the details.
I think it was only the apriltag
library. The only option through conda was via a robostack ros module and I did not like it. I tried however, but conda replied it was incompatible with my OS version (Monterey). So since I had the sources, I compiled from source, here
Regarding yaml-cpp, I did install from conda, so OK. I just wrote my last comment a little too quick I guess :-D
Perfect! Sorry for the direct question, I was just afraid something was wrong with the yaml-cpp package from conda-forge .
Trying to install on macOS Monterey, following the MacOS installation instructions:
Starting with
and then the first instruction line:
produces the following errors: