conda-forge / bipedal-locomotion-framework-feedstock

A conda-smithy repository for bipedal-locomotion-framework.
BSD 3-Clause "New" or "Revised" License
0 stars 5 forks source link

find_package(BipedalLocomotionFramework) is extremely slow #93

Open traversaro opened 1 month ago

traversaro commented 1 month ago

Solution to issue cannot be found in the documentation.

Issue

find_package(BipedalLocomotionFramework) after one installs bipedal-locomotion-framework conda package is extremely slow, the reason for that is the BLF --> PCL --> VTK --> Qt6 dependency, that then fails as OpenGL can't be found. All the "error OpengL not found" are also confusing for new users. I wonder if it could make sense to do a bipedal-locomotion-framework-devel package that depends on libgz-devel to avoid this problem.

Installed packages

# packages in environment at /home/traversaro/miniforge3/envs/testbaf:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
_x86_64-microarch-level   3                     2_skylake    conda-forge
ace                       8.0.1                he02047a_0    conda-forge
aiohappyeyeballs          2.4.3              pyhd8ed1ab_0    conda-forge
aiohttp                   3.10.8          py312h66e93f0_0    conda-forge
aiosignal                 1.3.1              pyhd8ed1ab_0    conda-forge
alsa-lib                  1.2.12               h4ab18f5_0    conda-forge
ampl-mp                   3.1.0             h2cc385e_1006    conda-forge
aom                       3.9.1                hac33072_0    conda-forge
assimp                    5.4.3                h8943939_0    conda-forge
attr                      2.5.1                h166bdaf_1    conda-forge
attrs                     24.2.0             pyh71513ae_0    conda-forge
binutils                  2.43                 h4852527_1    conda-forge
binutils_impl_linux-64    2.43                 h4bf12b8_1    conda-forge
binutils_linux-64         2.43                 h4852527_1    conda-forge
bipedal-locomotion-framework 0.19.0               ha770c72_5    conda-forge
bipedal-locomotion-framework-python 0.19.0          py312h76bf4cb_5    conda-forge
blosc                     1.21.6               hef167b5_0    conda-forge
bzip2                     1.0.8                h4bc722e_7    conda-forge
c-ares                    1.33.1               heb4867d_0    conda-forge
c-compiler                1.8.0                h2b85faf_0    conda-forge
ca-certificates           2024.8.30            hbcca054_0    conda-forge
cairo                     1.18.0               hebfffa5_3    conda-forge
casadi                    3.6.7           py312h0385bb2_0    conda-forge
cmake                     3.30.4               hf9cb763_0    conda-forge
compilers                 1.8.0                ha770c72_0    conda-forge
cppad                     20240000.7           h5888daf_1    conda-forge
cudatoolkit               11.8.0              h4ba93d1_13    conda-forge
cxx-compiler              1.8.0                h1a2810e_0    conda-forge
dav1d                     1.2.1                hd590300_0    conda-forge
dbus                      1.13.6               h5008d03_3    conda-forge
double-conversion         3.3.0                h59595ed_0    conda-forge
eigen                     3.4.0                h00ab1b0_0    conda-forge
expat                     2.6.3                h5888daf_0    conda-forge
ffmpeg                    7.1.0           gpl_hcdaf251_500    conda-forge
flann                     1.9.2                h54ed35b_1    conda-forge
fmt                       11.0.2               h434a139_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 h77eed37_3    conda-forge
fontconfig                2.14.2               h14ed4e7_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fortran-compiler          1.8.0                h36df796_0    conda-forge
freeglut                  3.2.2                ha6d2627_3    conda-forge
freetype                  2.12.1               h267a509_2    conda-forge
fribidi                   1.0.10               h36c2ea0_0    conda-forge
frozenlist                1.4.1           py312h66e93f0_1    conda-forge
gcc                       13.3.0               h9576a4e_1    conda-forge
gcc_impl_linux-64         13.3.0               hfea6d02_1    conda-forge
gcc_linux-64              13.3.0               hc28eda2_4    conda-forge
gettext                   0.22.5               he02047a_3    conda-forge
gettext-tools             0.22.5               he02047a_3    conda-forge
gfortran                  13.3.0               h9576a4e_1    conda-forge
gfortran_impl_linux-64    13.3.0               h10434e7_1    conda-forge
gfortran_linux-64         13.3.0               hb919d3a_4    conda-forge
gl2ps                     1.4.2                hae5d5c5_1    conda-forge
glew                      2.1.0                h9c3ff4c_2    conda-forge
glfw                      3.4                  hd590300_0    conda-forge
glib                      2.82.1               h2ff4ddf_0    conda-forge
glib-tools                2.82.1               h4833e2c_0    conda-forge
gmp                       6.3.0                hac33072_2    conda-forge
graphite2                 1.3.13            h59595ed_1003    conda-forge
gst-plugins-base          1.24.7               h0a52356_0    conda-forge
gstreamer                 1.24.7               hf3bb09a_0    conda-forge
gxx                       13.3.0               h9576a4e_1    conda-forge
gxx_impl_linux-64         13.3.0               hdbfa832_1    conda-forge
gxx_linux-64              13.3.0               h6834431_4    conda-forge
harfbuzz                  9.0.0                hda332d3_1    conda-forge
hdf4                      4.2.15               h2a13503_7    conda-forge
hdf5                      1.14.3          nompi_hdf9ad27_105    conda-forge
icu                       75.1                 he02047a_0    conda-forge
idna                      3.10               pyhd8ed1ab_0    conda-forge
idyntree                  13.0.0          py312h4ad8b1d_1    conda-forge
imath                     3.1.12               h7955e40_0    conda-forge
ipopt                     3.14.16             h122424a_10    conda-forge
irrlicht                  1.8.5                hcce6d95_5    conda-forge
jasper                    4.2.4                h536e39c_0    conda-forge
jsoncpp                   1.9.6                h84d6215_0    conda-forge
kernel-headers_linux-64   3.10.0              he073ed8_17    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.21.3               h659f571_0    conda-forge
lame                      3.100             h166bdaf_1003    conda-forge
ld_impl_linux-64          2.43                 h712a8e2_1    conda-forge
lerc                      4.0.0                h27087fc_0    conda-forge
libabseil                 20240722.0      cxx17_h5888daf_1    conda-forge
libaec                    1.1.3                h59595ed_0    conda-forge
libasprintf               0.22.5               he8f35ee_3    conda-forge
libasprintf-devel         0.22.5               he8f35ee_3    conda-forge
libass                    0.17.3               h1dc1e6a_0    conda-forge
libbipedal-locomotion-framework 0.19.0               h153e8a6_5    conda-forge
libblas                   3.9.0           24_linux64_openblas    conda-forge
libblasfeo                0.1.3              had105d5_303    conda-forge
libboost                  1.86.0               hb8260a3_2    conda-forge
libboost-headers          1.86.0               ha770c72_2    conda-forge
libcap                    2.69                 h0f662aa_0    conda-forge
libcblas                  3.9.0           24_linux64_openblas    conda-forge
libclang-cpp15            15.0.7          default_h127d8a8_5    conda-forge
libclang-cpp19.1          19.1.0          default_hb5137d0_0    conda-forge
libclang13                19.1.0          default_h9c6a7e4_0    conda-forge
libcups                   2.3.3                h4637d8d_4    conda-forge
libcurl                   8.10.1               hbbe4b11_0    conda-forge
libdeflate                1.21                 h4bc722e_0    conda-forge
libdrm                    2.4.123              hb9d3cd8_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libegl                    1.7.0                ha4b6fd6_0    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libevent                  2.1.12               hf998b51_1    conda-forge
libexpat                  2.6.3                h5888daf_0    conda-forge
libfatrop                 0.0.4                h5888daf_0    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libflac                   1.4.3                h59595ed_0    conda-forge
libgcc                    14.1.0               h77fa898_1    conda-forge
libgcc-devel_linux-64     13.3.0             h84ea5a7_101    conda-forge
libgcc-ng                 14.1.0               h69a702a_1    conda-forge
libgcrypt                 1.11.0               h4ab18f5_1    conda-forge
libgettextpo              0.22.5               he02047a_3    conda-forge
libgettextpo-devel        0.22.5               he02047a_3    conda-forge
libgfortran               14.1.0               h69a702a_1    conda-forge
libgfortran-ng            14.1.0               h69a702a_1    conda-forge
libgfortran5              14.1.0               hc5f4f2c_1    conda-forge
libgl                     1.7.0                ha4b6fd6_0    conda-forge
libglib                   2.82.1               h2ff4ddf_0    conda-forge
libglu                    9.0.0             ha6d2627_1004    conda-forge
libglvnd                  1.7.0                ha4b6fd6_0    conda-forge
libglx                    1.7.0                ha4b6fd6_0    conda-forge
libgomp                   14.1.0               h77fa898_1    conda-forge
libgpg-error              1.50                 h4f305b6_0    conda-forge
libhwloc                  2.11.1          default_hecaa2ac_1000    conda-forge
libi2c                    4.3                  hcb278e6_2    conda-forge
libiconv                  1.17                 hd590300_2    conda-forge
libjpeg-turbo             3.0.0                hd590300_1    conda-forge
liblapack                 3.9.0           24_linux64_openblas    conda-forge
liblapacke                3.9.0           24_linux64_openblas    conda-forge
liblie-group-controllers  0.2.0                hcb278e6_0    conda-forge
libllvm15                 15.0.7               hb3ce162_4    conda-forge
libllvm19                 19.1.1               ha7bfdaf_0    conda-forge
libmatio                  1.5.27               hd8a4993_0    conda-forge
libmatio-cpp              0.2.5                h78af97e_1    conda-forge
libnetcdf                 4.9.2           nompi_h135f659_114    conda-forge
libnghttp2                1.58.0               h47da74e_1    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libogg                    1.3.5                h4ab18f5_0    conda-forge
libopenblas               0.3.27          pthreads_hac2b453_1    conda-forge
libopencv                 4.10.0          qt6_py312h3b5f05a_607    conda-forge
libopenvino               2024.4.0             hac27bb2_1    conda-forge
libopenvino-auto-batch-plugin 2024.4.0             h4d9b6c2_1    conda-forge
libopenvino-auto-plugin   2024.4.0             h4d9b6c2_1    conda-forge
libopenvino-hetero-plugin 2024.4.0             h3f63f65_1    conda-forge
libopenvino-intel-cpu-plugin 2024.4.0             hac27bb2_1    conda-forge
libopenvino-intel-gpu-plugin 2024.4.0             hac27bb2_1    conda-forge
libopenvino-intel-npu-plugin 2024.4.0             hac27bb2_1    conda-forge
libopenvino-ir-frontend   2024.4.0             h3f63f65_1    conda-forge
libopenvino-onnx-frontend 2024.4.0             he882d9a_1    conda-forge
libopenvino-paddle-frontend 2024.4.0             he882d9a_1    conda-forge
libopenvino-pytorch-frontend 2024.4.0             h5888daf_1    conda-forge
libopenvino-tensorflow-frontend 2024.4.0             h9718a47_1    conda-forge
libopenvino-tensorflow-lite-frontend 2024.4.0             h5888daf_1    conda-forge
libopus                   1.3.1                h7f98852_1    conda-forge
libosqp                   0.6.3                h59595ed_0    conda-forge
libpciaccess              0.18                 hd590300_0    conda-forge
libpng                    1.6.44               hadc24fc_0    conda-forge
libpq                     16.4                 h2d7952a_2    conda-forge
libprotobuf               5.27.5               h5b01275_2    conda-forge
libqdldl                  0.1.5                h27087fc_1    conda-forge
librealsense              2.54.2          py310h2ab81a5_1_cuda    conda-forge
librobometry              1.2.4                hf1989b1_1    conda-forge
libsanitizer              13.3.0               heb74ff8_1    conda-forge
libscotch                 7.0.4                h2fe6a88_5    conda-forge
libsndfile                1.2.2                hc60ed4a_1    conda-forge
libspral                  2024.05.08           h831f25b_3    conda-forge
libsqlite                 3.46.1               hadc24fc_0    conda-forge
libssh2                   1.11.0               h0841786_0    conda-forge
libstdcxx                 14.1.0               hc0a3c3a_1    conda-forge
libstdcxx-devel_linux-64  13.3.0             h84ea5a7_101    conda-forge
libstdcxx-ng              14.1.0               h4852527_1    conda-forge
libsystemd0               256.6                h2774228_0    conda-forge
libtheora                 1.1.1             h4ab18f5_1006    conda-forge
libtiff                   4.7.0                h6565414_0    conda-forge
libudev1                  256.6                hb9d3cd8_0    conda-forge
libunicycle-footstep-planner 0.8.0                h3bbd76f_1    conda-forge
libusb                    1.0.27             h520f47e_100    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libuv                     1.49.0               hb9d3cd8_0    conda-forge
libva                     2.22.0               h8a09558_1    conda-forge
libvorbis                 1.3.7                h9c3ff4c_0    conda-forge
libvpx                    1.14.1               hac33072_0    conda-forge
libwebp-base              1.4.0                hd590300_0    conda-forge
libxcb                    1.16                 hb9d3cd8_1    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libxkbcommon              1.7.0                h2c5496b_1    conda-forge
libxml2                   2.12.7               he7c6b58_4    conda-forge
libyarp                   3.9.0                h564f6a6_6    conda-forge
libzip                    1.11.1               hf83b1b0_0    conda-forge
libzlib                   1.3.1                hb9d3cd8_2    conda-forge
loguru                    0.7.2           py312h7900ff3_2    conda-forge
lz4-c                     1.9.4                hcb278e6_0    conda-forge
make                      4.4.1                hb9d3cd8_2    conda-forge
manif                     0.0.5                h5888daf_2    conda-forge
manifpy                   0.0.5           py312h39a7861_2    conda-forge
metis                     5.1.0             h59595ed_1007    conda-forge
mpg123                    1.32.6               h59595ed_0    conda-forge
msgpack-python            1.1.0           py312h68727a3_0    conda-forge
multidict                 6.1.0           py312h66e93f0_0    conda-forge
mumps-include             5.7.3                ha770c72_5    conda-forge
mumps-seq                 5.7.3                h27a6a8b_0    conda-forge
mysql-common              9.0.1                h266115a_1    conda-forge
mysql-libs                9.0.1                he0572af_1    conda-forge
ncurses                   6.5                  he02047a_1    conda-forge
ninja                     1.12.1               h297d8ca_0    conda-forge
nlohmann_json             3.11.3               he02047a_1    conda-forge
nspr                      4.35                 h27087fc_0    conda-forge
nss                       3.105                hd34e28f_0    conda-forge
numpy                     1.26.4          py312heda63a1_0    conda-forge
ocl-icd                   2.3.2                hd590300_1    conda-forge
onnxruntime-cpp           1.18.1          h0d3cf91_201_cuda    conda-forge
openexr                   3.2.2                h04e0de5_2    conda-forge
openh264                  2.4.1                h59595ed_0    conda-forge
openssl                   3.3.2                hb9d3cd8_0    conda-forge
osqp-eigen                0.8.1                hdd734ac_1    conda-forge
packaging                 24.1               pyhd8ed1ab_0    conda-forge
pcl                       1.14.1               hd932182_6    conda-forge
pcre2                     10.44                hba22ea6_2    conda-forge
pip                       24.2               pyh8b19718_1    conda-forge
pixman                    0.43.2               h59595ed_0    conda-forge
pkg-config                0.29.2            h4bc722e_1009    conda-forge
portaudio                 19.6.0               h7c63dc7_9    conda-forge
proj                      9.5.0                h12925eb_0    conda-forge
proxsuite                 0.6.7           py312h68727a3_1    conda-forge
pthread-stubs             0.4               hb9d3cd8_1002    conda-forge
pugixml                   1.14                 h59595ed_0    conda-forge
pulseaudio-client         17.0                 hb77b528_0    conda-forge
pybind11                  2.13.6          py312h68727a3_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pybind11-global           2.13.6          py312h68727a3_0    conda-forge
python                    3.12.6          hc5c86c4_2_cpython    conda-forge
python_abi                3.12                    5_cp312    conda-forge
qhull                     2020.2               h434a139_5    conda-forge
qt-main                   5.15.8              h3155989_26    conda-forge
qt6-main                  6.7.2                hadfd74e_5    conda-forge
readline                  8.2                  h8228510_1    conda-forge
rhash                     1.4.4                hd590300_0    conda-forge
robot-testing-framework   2.0.1                hcb278e6_1    conda-forge
scipy                     1.14.1          py312h7d485d2_0    conda-forge
sdl                       1.2.68               h293081c_0    conda-forge
sdl2                      2.30.7               h3ed165c_0    conda-forge
setuptools                75.1.0             pyhd8ed1ab_0    conda-forge
simde                     0.8.2                h84d6215_0    conda-forge
snappy                    1.2.1                ha2e4443_0    conda-forge
soxr                      0.1.3                h0b41bf4_3    conda-forge
spdlog                    1.14.1               hed91bc2_1    conda-forge
sqlite                    3.46.1               h9eae976_0    conda-forge
svt-av1                   2.2.1                h5888daf_0    conda-forge
sysroot_linux-64          2.17                h4a8ded7_17    conda-forge
tbb                       2021.13.0            h84d6215_0    conda-forge
tbb-devel                 2021.13.0            h94b29a5_0    conda-forge
tiny-process-library      2.0.4                h5888daf_2    conda-forge
tinyxml                   2.6.2                h4bd325d_2    conda-forge
tinyxml2                  10.0.0               h59595ed_0    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
tl-optional               1.1.0                hf52228f_1    conda-forge
tomlplusplus              3.3.0                hcb278e6_0    conda-forge
tzdata                    2024b                hc8b5060_0    conda-forge
unixodbc                  2.3.12               h661eb56_0    conda-forge
utfcpp                    4.0.5                ha770c72_0    conda-forge
visit_struct              1.1.0                hcb278e6_0    conda-forge
vtk                       9.3.1           qt_py312h3d4e8c9_208    conda-forge
vtk-base                  9.3.1           qt_py312ha1f9736_208    conda-forge
vtk-io-ffmpeg             9.3.1           qt_py312he1e5eab_208    conda-forge
wayland                   1.23.1               h3e06ad9_0    conda-forge
wayland-protocols         1.37                 hd8ed1ab_0    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
wslink                    2.2.1              pyhd8ed1ab_0    conda-forge
x264                      1!164.3095           h166bdaf_2    conda-forge
x265                      3.5                  h924138e_3    conda-forge
xcb-util                  0.4.1                hb711507_2    conda-forge
xcb-util-cursor           0.1.5                hb9d3cd8_0    conda-forge
xcb-util-image            0.4.0                hb711507_2    conda-forge
xcb-util-keysyms          0.4.1                hb711507_0    conda-forge
xcb-util-renderutil       0.3.10               hb711507_0    conda-forge
xcb-util-wm               0.4.2                hb711507_0    conda-forge
xkeyboard-config          2.42                 h4ab18f5_0    conda-forge
xorg-fixesproto           5.0               hb9d3cd8_1003    conda-forge
xorg-inputproto           2.3.2             hb9d3cd8_1003    conda-forge
xorg-kbproto              1.0.7             hb9d3cd8_1003    conda-forge
xorg-libice               1.1.1                hb9d3cd8_1    conda-forge
xorg-libsm                1.2.4                he73a12e_1    conda-forge
xorg-libx11               1.8.9                hb711507_1    conda-forge
xorg-libxau               1.0.11               hb9d3cd8_1    conda-forge
xorg-libxdmcp             1.1.5                hb9d3cd8_0    conda-forge
xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
xorg-libxfixes            5.0.3             h7f98852_1004    conda-forge
xorg-libxi                1.7.10               h4bc722e_1    conda-forge
xorg-libxinerama          1.1.5                h27087fc_0    conda-forge
xorg-libxrender           0.9.11               hd590300_0    conda-forge
xorg-libxt                1.3.0                hd590300_1    conda-forge
xorg-libxtst              1.2.5                h4bc722e_0    conda-forge
xorg-libxxf86vm           1.1.5                hb9d3cd8_2    conda-forge
xorg-recordproto          1.14.2            hb9d3cd8_1003    conda-forge
xorg-renderproto          0.11.1            hb9d3cd8_1003    conda-forge
xorg-xextproto            7.3.0             hb9d3cd8_1004    conda-forge
xorg-xf86vidmodeproto     2.3.1             hb9d3cd8_1003    conda-forge
xorg-xproto               7.0.31            hb9d3cd8_1008    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yarl                      1.13.1          py312h66e93f0_0    conda-forge
ycm-cmake-modules         0.16.9               h5888daf_0    conda-forge
zlib                      1.3.1                hb9d3cd8_2    conda-forge
zstd                      1.5.6                ha6fb4c9_0    conda-forge

Environment info

     active environment : testbaf
    active env location : /home/traversaro/miniforge3/envs/testbaf
            shell level : 1
       user config file : /home/traversaro/.condarc
 populated config files : /home/traversaro/miniforge3/.condarc
                          /home/traversaro/.condarc
          conda version : 24.7.1
    conda-build version : not installed
         python version : 3.10.14.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=24.7.1=0
                          __cuda=12.3=0
                          __glibc=2.39=0
                          __linux=5.15.153.1=0
                          __unix=0=0
       base environment : /home/traversaro/miniforge3  (writable)
      conda av data dir : /home/traversaro/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/robostack-staging/linux-64
                          https://conda.anaconda.org/robostack-staging/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/traversaro/miniforge3/pkgs
                          /home/traversaro/.conda/pkgs
       envs directories : /home/traversaro/miniforge3/envs
                          /home/traversaro/.conda/envs
               platform : linux-64
             user-agent : conda/24.7.1 requests/2.31.0 CPython/3.10.14 Linux/5.15.153.1-microsoft-standard-WSL2 ubuntu/24.04.1 glibc/2.39 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.10
                UID:GID : 1002:1002
             netrc file : None
           offline mode : False
traversaro commented 1 month ago

Actually even by adding libgl-devel this is still slow, mainly as find_package(PCL) is still slow. I wonder if it make sense to just split that in a different BLF CMake component, so we isolate it.