robotology / idyntree

Multibody Dynamics Library designed for Free Floating Robots
BSD 3-Clause "New" or "Revised" License
155 stars 65 forks source link

Failed to compile in clean environment on Windows #1159

Closed S-Dafarra closed 3 months ago

S-Dafarra commented 3 months ago

I am facing some compilation issue when try to compile from a clean environment.

In particular, if I do

mamba install swig=4.1.0 cmake libxml2 eigen numpy
cmake .. -G"Visual Studio 17 2022" -DIDYNTREE_COMPILES_OPTIMALCONTROL=OFF -DIDYNTREE_COMPILES_TOOLS=OFF -DIDYNTREE_USES_PYTHON=ON
cmake --build . --config Release

I have the following error

C:\Software\mambaforge\envs\idyntree\Library\include\libxml2\libxml\encoding.h(28,10): error C1083: Cannot open include file: 'iconv.h': No such file or directory [C:\Software\robotology-superbuild\src\iDynTree\build\src\model_io\
xml\idyntree-modelio-xml.vcxproj]
  (compiling source file '../../../../src/model_io/xml/src/XMLParser.cpp')
Full output ``` MSBuild version 17.8.5+b5265ef37 for .NET Framework 1>Checking Build System Building Custom Rule C:/Software/robotology-superbuild/src/iDynTree/extern/CMakeLists.txt Building Custom Rule C:/Software/robotology-superbuild/src/iDynTree/src/core/CMakeLists.txt fpconv.c Axis.cpp idyntree-private-fpconv.vcxproj -> C:\Software\robotology-superbuild\src\iDynTree\build\extern\idyntree-private-fpconv.dir\Release\idyntree-private-fpconv.lib ArticulatedBodyInertia.cpp ClassicalAcc.cpp Direction.cpp InertiaNonLinearParametrization.cpp MatrixDynSize.cpp GeomVector3.cpp Position.cpp Rotation.cpp RotationalInertia.cpp SpatialAcc.cpp SpatialForceVector.cpp SpatialMomentum.cpp SpatialMotionVector.cpp SpatialInertia.cpp TestUtils.cpp Transform.cpp TransformDerivative.cpp Twist.cpp Utils.cpp Generating Code... Compiling... VectorDynSize.cpp Wrench.cpp PrivateUtils.cpp SparseMatrix.cpp Triplets.cpp CubicSpline.cpp SO3Utils.cpp Generating Code... Auto build dll exports Creating library C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-core.lib and object C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-core.exp idyntree-core.vcxproj -> C:\Software\robotology-superbuild\src\iDynTree\build\bin\Release\idyntree-core.dll Building Custom Rule C:/Software/robotology-superbuild/src/iDynTree/src/model_io/xml/CMakeLists.txt Building Custom Rule C:/Software/robotology-superbuild/src/iDynTree/src/model/CMakeLists.txt XMLParser.cpp ContactWrench.cpp C:\Software\mambaforge\envs\idyntree\Library\include\libxml2\libxml\encoding.h(28,10): error C1083: Cannot open include file: 'iconv.h': No such file or directory [C:\Software\robotology-superbuild\src\iDynTree\build\src\model_io\ xml\idyntree-modelio-xml.vcxproj] (compiling source file '../../../../src/model_io/xml/src/XMLParser.cpp') XMLElement.cpp DenavitHartenberg.cpp XMLAttribute.cpp XMLDocument.cpp Generating Code... FixedJoint.cpp ForwardKinematics.cpp FreeFloatingState.cpp FreeFloatingMatrices.cpp Indices.cpp Dynamics.cpp DynamicsLinearization.cpp C:\Software\robotology-superbuild\src\iDynTree\src\model\src\DynamicsLinearization.cpp(311,109): warning C4552: '*': result of expression not used [C:\Software\robotology-superbuild\src\iDynTree\build\src\model\idyntree-model.vcxp roj] DynamicsLinearizationHelpers.cpp Link.cpp LinkState.cpp LinkTraversalsCache.cpp Jacobians.cpp JointState.cpp Model.cpp ModelTransformers.cpp ModelInterfaceDestructors.cpp RevoluteJoint.cpp PrismaticJoint.cpp Generating Code... Compiling... SolidShapes.cpp SubModel.cpp Traversal.cpp Sensors.cpp SixAxisForceTorqueSensor.cpp AccelerometerSensor.cpp GyroscopeSensor.cpp ThreeAxisAngularAccelerometerSensor.cpp ThreeAxisForceTorqueContactSensor.cpp PredictSensorsMeasurements.cpp ModelSensorsTransformers.cpp Generating Code... Auto build dll exports Creating library C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-model.lib and object C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-model.exp idyntree-model.vcxproj -> C:\Software\robotology-superbuild\src\iDynTree\build\bin\Release\idyntree-model.dll Building Custom Rule C:/Software/robotology-superbuild/src/iDynTree/src/visualization/CMakeLists.txt Building Custom Rule C:/Software/robotology-superbuild/src/iDynTree/src/solid-shapes/CMakeLists.txt Visualizer.cpp InertialParametersSolidShapesHelpers.cpp Auto build dll exports Creating library C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-visualization.lib and object C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-visualization.exp idyntree-visualization.vcxproj -> C:\Software\robotology-superbuild\src\iDynTree\build\bin\Release\idyntree-visualization.dll ModelTransformersSolidShapes.cpp Generating Code... Auto build dll exports Creating library C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-solid-shapes.lib and object C:/Software/robotology-superbuild/src/iDynTree/build/lib/Release/idyntree-solid-shapes.exp idyntree-solid-shapes.vcxproj -> C:\Software\robotology-superbuild\src\iDynTree\build\bin\Release\idyntree-solid-shapes.dll ```
mamba list ``` (idyntree) C:\Software\robotology-superbuild\src\iDynTree\build>mamba list # packages in environment at C:\Software\mambaforge\envs\idyntree: # # Name Version Build Channel bzip2 1.0.8 hcfcfb64_5 conda-forge ca-certificates 2024.2.2 h56e8100_0 conda-forge cmake 3.28.3 hf0feee3_0 conda-forge eigen 3.4.0 h91493d7_0 conda-forge intel-openmp 2024.0.0 h57928b3_49841 conda-forge krb5 1.21.2 heb0366b_0 conda-forge libblas 3.9.0 21_win64_mkl conda-forge libcblas 3.9.0 21_win64_mkl conda-forge libcurl 8.5.0 hd5e4a3a_0 conda-forge libexpat 2.6.1 h63175ca_0 conda-forge libffi 3.4.2 h8ffe710_5 conda-forge libhwloc 2.9.3 default_haede6df_1009 conda-forge libiconv 1.17 hcfcfb64_2 conda-forge liblapack 3.9.0 21_win64_mkl conda-forge libsqlite 3.45.1 hcfcfb64_0 conda-forge libssh2 1.11.0 h7dfc565_0 conda-forge libuv 1.47.0 hcfcfb64_0 conda-forge libxml2 2.12.5 hc3477c8_0 conda-forge libzlib 1.2.13 hcfcfb64_5 conda-forge mkl 2024.0.0 h66d3029_49657 conda-forge numpy 1.26.4 py311h0b4df5a_0 conda-forge openssl 3.2.1 hcfcfb64_0 conda-forge pcre2 10.40 h17e33f8_0 conda-forge pip 24.0 pyhd8ed1ab_0 conda-forge pthreads-win32 2.9.1 hfa6e2cd_3 conda-forge python 3.11.8 h2628c8c_0_cpython conda-forge python_abi 3.11 4_cp311 conda-forge setuptools 69.1.1 pyhd8ed1ab_0 conda-forge swig 4.1.0 h9eeddcc_4 conda-forge tbb 2021.11.0 h91493d7_1 conda-forge tk 8.6.13 h5226925_1 conda-forge tzdata 2024a h0c530f3_0 conda-forge ucrt 10.0.22621.0 h57928b3_0 conda-forge vc 14.3 hcf57466_18 conda-forge vc14_runtime 14.38.33130 h82b7239_18 conda-forge vs2015_runtime 14.38.33130 hcb4865c_18 conda-forge wheel 0.42.0 pyhd8ed1ab_0 conda-forge xz 5.2.6 h8d14728_0 conda-forge zstd 1.5.5 h12be248_0 conda-forge ```

cc @traversaro

S-Dafarra commented 3 months ago

Using the following environment instead, following the instructions of https://github.com/robotology/robotology-superbuild/blob/b99570885247016c29808f70161996f3982e1c71/doc/conda-forge.md#source-installation, it works:

mamba list ``` (idyntree_robsub) C:\Software\robotology-superbuild\src\iDynTree\build2>mamba list # packages in environment at C:\Software\mambaforge\envs\idyntree_robsub: # # Name Version Build Channel ace 7.1.3 h63175ca_2 conda-forge aiohttp 3.9.3 py312he70551f_0 conda-forge aiosignal 1.3.1 pyhd8ed1ab_0 conda-forge aom 3.8.1 h63175ca_0 conda-forge asio 1.29.0 h63175ca_0 conda-forge assimp 5.3.1 h81f0834_2 conda-forge asttokens 2.4.1 pyhd8ed1ab_0 conda-forge attrs 23.2.0 pyh71513ae_0 conda-forge aws-c-auth 0.7.16 hec1de76_6 conda-forge aws-c-cal 0.6.10 hd481e46_1 conda-forge aws-c-common 0.9.13 hcfcfb64_0 conda-forge aws-c-compression 0.2.18 hd481e46_1 conda-forge aws-c-event-stream 0.4.2 h0f06f08_4 conda-forge aws-c-http 0.8.1 hdb5aac5_5 conda-forge aws-c-io 0.14.5 h08270f9_1 conda-forge aws-c-mqtt 0.10.2 hfea8755_4 conda-forge aws-c-s3 0.5.2 h4b2095a_0 conda-forge aws-c-sdkutils 0.1.15 hd481e46_1 conda-forge aws-checksums 0.1.18 hd481e46_1 conda-forge aws-crt-cpp 0.26.2 h8492d2a_7 conda-forge aws-sdk-cpp 1.11.267 h93f5800_1 conda-forge azure-core-cpp 1.11.1 h249a519_1 conda-forge azure-storage-blobs-cpp 12.10.0 h91493d7_1 conda-forge azure-storage-common-cpp 12.5.0 h91493d7_4 conda-forge blosc 1.21.5 hdccc3a2_0 conda-forge boost 1.82.0 hd42ba9a_6 conda-forge brotli 1.0.9 hcfcfb64_9 conda-forge brotli-bin 1.0.9 hcfcfb64_9 conda-forge bullet-cpp 3.25 h2ab9e98_2 conda-forge bzip2 1.0.8 hcfcfb64_5 conda-forge c-ares 1.27.0 hcfcfb64_0 conda-forge c-compiler 1.7.0 hcfcfb64_0 conda-forge ca-certificates 2024.2.2 h56e8100_0 conda-forge cached-property 1.5.2 hd8ed1ab_1 conda-forge cached_property 1.5.2 pyha770c72_1 conda-forge cairo 1.18.0 h1fef639_0 conda-forge certifi 2024.2.2 pyhd8ed1ab_0 conda-forge cfitsio 4.3.0 h9b0cee5_0 conda-forge clangdev 5.0.0 flang_3 conda-forge cmake 3.28.3 hf0feee3_0 conda-forge colorama 0.4.6 pyhd8ed1ab_0 conda-forge compilers 1.7.0 h57928b3_0 conda-forge console_bridge 1.0.2 h5362a0b_1 conda-forge contourpy 1.2.0 py312h0d7def4_0 conda-forge cppzmq 4.10.0 h42135b4_1 conda-forge cxx-compiler 1.7.0 h91493d7_0 conda-forge cycler 0.12.1 pyhd8ed1ab_0 conda-forge dartsim 6.13.1 haebf736_0 conda-forge dav1d 1.2.1 hcfcfb64_0 conda-forge decorator 5.1.1 pyhd8ed1ab_0 conda-forge dirent 1.21 0 conda-forge dlfcn-win32 1.4.1 h63175ca_0 conda-forge double-conversion 3.3.0 h63175ca_0 conda-forge eigen 3.4.0 h91493d7_0 conda-forge exceptiongroup 1.2.0 pyhd8ed1ab_2 conda-forge executing 2.0.1 pyhd8ed1ab_0 conda-forge expat 2.6.1 h63175ca_0 conda-forge fcl 0.7.0 he22821c_4 conda-forge ffmpeg 6.1.1 gpl_hb766fab_104 conda-forge flang 5.0.0 he025d50_20180525 conda-forge flang_win-64 5.0.0 h13ae965_20180526 conda-forge flann 1.9.2 h23e6bae_0 conda-forge fmt 10.2.1 h181d51b_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_1 conda-forge fontconfig 2.14.2 hbde0cde_0 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge fonttools 4.49.0 py312he70551f_0 conda-forge fortran-compiler 1.7.0 h9655429_0 conda-forge freeglut 3.2.2 h63175ca_2 conda-forge freeimage 3.18.0 h2b56e36_20 conda-forge freetype 2.12.1 hdaf720e_2 conda-forge freexl 2.0.0 h8276f4a_0 conda-forge fribidi 1.0.10 h8d14728_0 conda-forge frozenlist 1.4.1 py312he70551f_0 conda-forge gazebo 11.14.0 h12ecb57_4 conda-forge geos 3.12.0 h1537add_0 conda-forge geotiff 1.7.1 hcf4a93f_14 conda-forge getopt-win32 0.1 hcfcfb64_1 conda-forge gettext 0.21.1 h5728263_0 conda-forge gl2ps 1.4.2 h0597ee9_0 conda-forge glew 2.1.0 h39d44d4_2 conda-forge glfw 3.4 hcfcfb64_0 conda-forge glib 2.78.1 h12be248_0 conda-forge glib-networking 2.78.1 hb149071_0 conda-forge glib-tools 2.78.1 h12be248_0 conda-forge glm 0.9.9.8 h181d51b_0 conda-forge graphite2 1.3.13 1000 conda-forge graphviz 9.0.0 h51cb2cd_1 conda-forge gsl 2.7 hdfb1a43_0 conda-forge gst-plugins-bad 1.22.6 ha2afc39_0 conda-forge gst-plugins-base 1.22.7 h001b923_0 conda-forge gst-plugins-good 1.22.7 hdc28085_0 conda-forge gstreamer 1.22.7 hb4038d2_0 conda-forge gts 0.7.6 h6b5321d_4 conda-forge h5py 3.10.0 nompi_py312h1751c5b_101 conda-forge harfbuzz 8.3.0 h7ab893a_0 conda-forge hdf4 4.2.15 h5557f11_7 conda-forge hdf5 1.14.3 nompi_h73e8ff5_100 conda-forge icu 73.2 h63175ca_0 conda-forge idna 3.6 pyhd8ed1ab_0 conda-forge imath 3.1.11 h12be248_0 conda-forge intel-openmp 2024.0.0 h57928b3_49841 conda-forge ipopt 3.14.14 h1709daf_1 conda-forge ipython 8.22.2 pyh7428d3b_0 conda-forge irrlicht 1.8.5 h65f4d7e_4 conda-forge jasper 4.2.1 h28f2b1a_0 conda-forge jedi 0.19.1 pyhd8ed1ab_0 conda-forge jsoncpp 1.9.5 h2d74725_1 conda-forge jxrlib 1.1 hcfcfb64_3 conda-forge kealib 1.5.3 hd248416_0 conda-forge khronos-opencl-icd-loader 2023.04.17 h64bf75a_0 conda-forge kiwisolver 1.4.5 py312h0d7def4_1 conda-forge krb5 1.21.2 heb0366b_0 conda-forge lame 3.100 hcfcfb64_1003 conda-forge lcms2 2.16 h67d730c_0 conda-forge lerc 4.0.0 h63175ca_0 conda-forge libabseil 20230802.1 cxx17_h63175ca_0 conda-forge libaec 1.1.2 h63175ca_1 conda-forge libarchive 3.7.2 h313118b_1 conda-forge libblas 3.9.0 21_win64_mkl conda-forge libboost 1.82.0 h65993cd_6 conda-forge libboost-devel 1.82.0 h91493d7_6 conda-forge libboost-headers 1.82.0 h57928b3_6 conda-forge libboost-python 1.82.0 py312h4f1204c_6 conda-forge libboost-python-devel 1.82.0 py312hd42ba9a_6 conda-forge libbrotlicommon 1.0.9 hcfcfb64_9 conda-forge libbrotlidec 1.0.9 hcfcfb64_9 conda-forge libbrotlienc 1.0.9 hcfcfb64_9 conda-forge libcblas 3.9.0 21_win64_mkl conda-forge libccd-double 2.1 h63175ca_3 conda-forge libclang 15.0.7 default_hde6756a_4 conda-forge libclang13 15.0.7 default_h85b4d89_4 conda-forge libcrc32c 1.1.2 h0e60522_0 conda-forge libcurl 8.5.0 hd5e4a3a_0 conda-forge libdeflate 1.19 hcfcfb64_0 conda-forge libexpat 2.6.1 h63175ca_0 conda-forge libffi 3.4.2 h8ffe710_5 conda-forge libflac 1.4.3 h63175ca_0 conda-forge libflang 5.0.0 h6538335_20180525 conda-forge libgd 2.3.3 h312136b_9 conda-forge libgdal 3.8.0 h803bde4_2 conda-forge libglib 2.78.1 he8f3873_0 conda-forge libgoogle-cloud 2.17.0 hdeb3467_1 conda-forge libgoogle-cloud-storage 2.17.0 hb581fae_1 conda-forge libgrpc 1.59.3 h5bbd4a7_0 conda-forge libhwloc 2.9.3 default_haede6df_1009 conda-forge libiconv 1.17 hcfcfb64_2 conda-forge libignition-cmake2 2.16.0 h63175ca_1 conda-forge libignition-common3 3.15.1 hc1f3b3c_2 conda-forge libignition-fuel-tools4 4.6.0 hacc15eb_5 conda-forge libignition-math6 6.15.1 py312haf63811_1 conda-forge libignition-msgs5 5.11.0 hf2928cc_4 conda-forge libignition-tools1 1.5.0 hf5993cb_3 conda-forge libignition-transport8 8.4.0 hbed1618_7 conda-forge libjpeg-turbo 3.0.0 hcfcfb64_1 conda-forge libkml 1.3.0 haf3e7a6_1018 conda-forge liblapack 3.9.0 21_win64_mkl conda-forge liblapacke 3.9.0 21_win64_mkl conda-forge libmatio 1.5.26 h8f40fab_0 conda-forge libnetcdf 4.9.2 nompi_h07c049d_113 conda-forge libode 0.16.2 h53d5487_12 conda-forge libogg 1.3.4 h8ffe710_1 conda-forge libopenblas 0.3.26 pthreads_hc140b1d_0 conda-forge libopencv 4.9.0 py312hb707317_5 conda-forge libopenvino 2023.2.0 hc2557fa_4 conda-forge libopenvino-auto-batch-plugin 2023.2.0 h002f227_4 conda-forge libopenvino-auto-plugin 2023.2.0 h002f227_4 conda-forge libopenvino-hetero-plugin 2023.2.0 h7e3b17c_4 conda-forge libopenvino-intel-cpu-plugin 2023.2.0 hc2557fa_4 conda-forge libopenvino-intel-gpu-plugin 2023.2.0 hc2557fa_4 conda-forge libopenvino-ir-frontend 2023.2.0 h7e3b17c_4 conda-forge libopenvino-onnx-frontend 2023.2.0 h78eab7c_4 conda-forge libopenvino-paddle-frontend 2023.2.0 h78eab7c_4 conda-forge libopenvino-pytorch-frontend 2023.2.0 h63175ca_4 conda-forge libopenvino-tensorflow-frontend 2023.2.0 hc845459_4 conda-forge libopenvino-tensorflow-lite-frontend 2023.2.0 h63175ca_4 conda-forge libopus 1.3.1 h8ffe710_1 conda-forge libpng 1.6.43 h19919ed_0 conda-forge libpq 16.2 hdb24f17_0 conda-forge libprotobuf 4.24.4 hb8276f3_0 conda-forge libpsl 0.21.2 hdd9f3fb_2 conda-forge libraw 0.21.1 h5557f11_2 conda-forge libre2-11 2023.09.01 h8c5ae5e_1 conda-forge librttopo 1.1.0 h92c5fdb_14 conda-forge libsdformat 9.8.0 h5ba8b87_5 conda-forge libsndfile 1.2.2 h81429f1_1 conda-forge libsodium 1.0.18 h8d14728_1 conda-forge libsoup 2.74.3 hef79ac6_1 conda-forge libspatialite 5.1.0 hbf340bc_1 conda-forge libsqlite 3.45.1 hcfcfb64_0 conda-forge libssh2 1.11.0 h7dfc565_0 conda-forge libtheora 1.1.1 h8d14728_1005 conda-forge libtiff 4.6.0 h6e2ebb7_2 conda-forge libusb 1.0.27 hcfcfb64_100 conda-forge libuv 1.47.0 hcfcfb64_0 conda-forge libvorbis 1.3.7 h0e60522_0 conda-forge libwebp 1.3.2 hcfcfb64_1 conda-forge libwebp-base 1.3.2 hcfcfb64_0 conda-forge libxcb 1.15 hcd874cb_0 conda-forge libxml2 2.12.5 hc3477c8_0 conda-forge libzip 1.10.1 h1d365fa_3 conda-forge libzlib 1.2.13 hcfcfb64_5 conda-forge llvm-meta 5.0.0 0 conda-forge loguru 0.7.2 py312h2e8e312_1 conda-forge lua 5.4.6 h57928b3_0 conda-forge lz4-c 1.9.4 hcfcfb64_0 conda-forge lzo 2.10 he774522_1000 conda-forge m2w64-gcc-libgfortran 5.3.0 6 conda-forge m2w64-gcc-libs 5.3.0 7 conda-forge m2w64-gcc-libs-core 5.3.0 7 conda-forge m2w64-gmp 6.1.0 2 conda-forge m2w64-libwinpthread-git 5.0.0.4634.697f757 2 conda-forge make 4.3 h3d2af85_1 conda-forge matplotlib 3.8.3 py312h2e8e312_0 conda-forge matplotlib-base 3.8.3 py312h26ecaf7_0 conda-forge matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge metis 5.1.0 h63175ca_1007 conda-forge minizip 4.0.5 h5bed578_0 conda-forge mkl 2024.0.0 h66d3029_49657 conda-forge mpg123 1.32.4 h63175ca_0 conda-forge msys2-conda-epoch 20160418 1 conda-forge multidict 6.0.5 py312he70551f_0 conda-forge mumps-seq 5.6.2 h1f49738_4 conda-forge munkres 1.1.4 pyh9f0ad1d_0 conda-forge ninja 1.11.1 h91493d7_0 conda-forge nlohmann_json 3.11.2 h39d44d4_0 conda-forge numpy 1.26.4 py312h8753938_0 conda-forge octomap 1.9.8 h91493d7_0 conda-forge ogre 1.10.12 hc646683_16 conda-forge onnxruntime-cpp 1.17.1 hfc51e73_0_cpu conda-forge openal-soft 1.22.2 h91493d7_0 conda-forge openblas 0.3.26 pthreads_h3721920_0 conda-forge opencv 4.9.0 py312h63a316d_5 conda-forge openexr 3.2.2 h72640d8_1 conda-forge openh264 2.4.1 h63175ca_0 conda-forge openjpeg 2.5.2 h3d672ee_0 conda-forge openmp 5.0.0 vc14_1 conda-forge openssl 3.2.1 hcfcfb64_0 conda-forge packaging 23.2 pyhd8ed1ab_0 conda-forge pango 1.50.14 h07c897b_2 conda-forge parso 0.8.3 pyhd8ed1ab_0 conda-forge pcl 1.14.0 ha569048_0 conda-forge pcre2 10.40 h17e33f8_0 conda-forge pickleshare 0.7.5 py_1003 conda-forge pillow 10.2.0 py312he768995_0 conda-forge pip 24.0 pyhd8ed1ab_0 conda-forge pixman 0.43.4 h63175ca_0 conda-forge pkg-config 0.29.2 h2bf4dc2_1008 conda-forge ply 3.11 py_1 conda-forge poppler 23.11.0 hc2f3c52_0 conda-forge poppler-data 0.4.12 hd8ed1ab_0 conda-forge portaudio 19.6.0 h63175ca_9 conda-forge postgresql 16.2 h1beaf6b_0 conda-forge proj 9.3.0 he13c7e8_2 conda-forge prompt-toolkit 3.0.42 pyha770c72_0 conda-forge pthread-stubs 0.4 hcd874cb_1001 conda-forge pthreads-win32 2.9.1 hfa6e2cd_3 conda-forge pugixml 1.14 h63175ca_0 conda-forge pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge py-opencv 4.9.0 py312hc50e9f6_5 conda-forge pybind11 2.11.1 py312h0d7def4_2 conda-forge pybind11-abi 4 hd8ed1ab_3 conda-forge pybind11-global 2.11.1 py312h0d7def4_2 conda-forge pygments 2.17.2 pyhd8ed1ab_0 conda-forge pyparsing 3.1.2 pyhd8ed1ab_0 conda-forge pyqt 5.15.9 py312he09f080_5 conda-forge pyqt5-sip 12.12.2 py312h53d5487_5 conda-forge python 3.12.2 h2628c8c_0_cpython conda-forge python-dateutil 2.9.0 pyhd8ed1ab_0 conda-forge python_abi 3.12 4_cp312 conda-forge pyzmq 25.1.2 py312h1ac6f91_0 conda-forge qhull 2020.2 h70d2c02_2 conda-forge qt-main 5.15.8 h9e85ed6_17 conda-forge qwt 6.2.0 h07be427_6 conda-forge re2 2023.09.01 hd3b24a8_1 conda-forge ruby 3.2.2 h20ad4f3_1 conda-forge sdl 1.2.68 h21dd15a_0 conda-forge sdl2 2.28.5 h63175ca_1 conda-forge setuptools 69.1.1 pyhd8ed1ab_0 conda-forge simbody 3.7 hade3207_3 conda-forge sip 6.7.12 py312h53d5487_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge snappy 1.1.10 hfb803bf_0 conda-forge soxr 0.1.3 hcfcfb64_3 conda-forge spdlog 1.12.0 h64d2f7d_2 conda-forge sqlite 3.45.1 hcfcfb64_0 conda-forge stack_data 0.6.2 pyhd8ed1ab_0 conda-forge svt-av1 1.8.0 h63175ca_0 conda-forge swig 4.1.0 h9eeddcc_4 conda-forge tbb 2021.11.0 h91493d7_1 conda-forge tbb-devel 2021.11.0 h3ec46f0_1 conda-forge tiledb 2.16.3 h1ffc264_3 conda-forge tiny-process-library 2.0.4 h63175ca_1 conda-forge tinyxml 2.6.2 h2d74725_2 conda-forge tinyxml2 9.0.0 h0e60522_2 conda-forge tk 8.6.13 h5226925_1 conda-forge toml 0.10.2 pyhd8ed1ab_0 conda-forge tomli 2.0.1 pyhd8ed1ab_0 conda-forge tomlplusplus 3.3.0 h63175ca_0 conda-forge tornado 6.4 py312he70551f_0 conda-forge traitlets 5.14.1 pyhd8ed1ab_0 conda-forge typing_extensions 4.10.0 pyha770c72_0 conda-forge tzdata 2024a h0c530f3_0 conda-forge u-msgpack-python 2.8.0 pyhd8ed1ab_0 conda-forge ucrt 10.0.22621.0 h57928b3_0 conda-forge urdfdom 3.1.1 h33150cf_0 conda-forge urdfdom_headers 1.1.1 h91493d7_0 conda-forge uriparser 0.9.7 h1537add_1 conda-forge utfcpp 4.0.5 h57928b3_0 conda-forge vc 14.3 hcf57466_18 conda-forge vc14_runtime 14.38.33130 h82b7239_18 conda-forge vs2015_runtime 14.38.33130 hcb4865c_18 conda-forge vs2019_win-64 19.29.30139 he1865b1_18 conda-forge vswhere 3.1.4 h57928b3_0 conda-forge vtk 9.2.6 qt_py312h1234567_219 conda-forge vtk-base 9.2.6 qt_py312h1234567_219 conda-forge wcwidth 0.2.13 pyhd8ed1ab_0 conda-forge wheel 0.42.0 pyhd8ed1ab_0 conda-forge win32_setctime 1.1.0 pyhd8ed1ab_0 conda-forge wslink 1.12.4 pyhd8ed1ab_0 conda-forge x264 1!164.3095 h8ffe710_2 conda-forge x265 3.5 h2d74725_3 conda-forge xerces-c 3.2.5 h63175ca_0 conda-forge xorg-kbproto 1.0.7 hcd874cb_1002 conda-forge xorg-libice 1.1.1 hcd874cb_0 conda-forge xorg-libsm 1.2.4 hcd874cb_0 conda-forge xorg-libx11 1.8.7 hefa74cf_0 conda-forge xorg-libxau 1.0.11 hcd874cb_0 conda-forge xorg-libxdmcp 1.1.3 hcd874cb_0 conda-forge xorg-libxext 1.3.4 hcd874cb_2 conda-forge xorg-libxpm 3.5.17 hcd874cb_0 conda-forge xorg-libxt 1.3.0 hcd874cb_1 conda-forge xorg-xextproto 7.3.0 hcd874cb_1003 conda-forge xorg-xproto 7.0.31 hcd874cb_1007 conda-forge xz 5.2.6 h8d14728_0 conda-forge yaml 0.2.5 h8ffe710_2 conda-forge yarl 1.9.4 py312he70551f_0 conda-forge zeromq 4.3.5 h63175ca_1 conda-forge zlib 1.2.13 hcfcfb64_5 conda-forge zstd 1.5.5 h12be248_0 conda-forge zziplib 0.13.69 h1d00b33_1 conda-forge ```

I wonder which package makes it working

S-Dafarra commented 3 months ago

Apparently it was enough to add pkg-config to the list of dependencies to install with mamba to make it working.

I wonder whether this should be handled otherwise. In any case, I doubt this is an iDynTree issue.

traversaro commented 3 months ago

What I do typically is to install all of these when I compile a C/C++ project: cmake make ninja pkg-config compilers, exactly as some find_package modules of CMake depend on pkg-config to be available. I think it could make sense to have a build-essential conda-forge metapackage that installs all of it easily, but I never actually went on and open an issue/PR to suggest this.

At the iDynTree-specific level, all the packages necessary for compiling idyntree are documented in https://github.com/robotology/idyntree/blob/master/doc/build-from-source.md#install-dependencies-with-conda-forge, and that includes pkg-config (actually the problem there is that swig is not pinned, but that is another story and should be fixed now that https://github.com/conda-forge/glib-feedstock/pull/164 is merged). So I guess on the iDynTree side we are good to close the issue, even if indeed the implicit dependency of cmake on pkg-config remains confusing?

S-Dafarra commented 3 months ago

At the iDynTree-specific level, all the packages necessary for compiling idyntree are documented in https://github.com/robotology/idyntree/blob/master/doc/build-from-source.md#install-dependencies-with-conda-forge,

Ah thanks, I did not see this

So I guess on the iDynTree side we are good to close the issue, even if indeed the implicit dependency of cmake on pkg-config remains confusing?

Yes, sure, thanks!