Misconfiguration

324 views
Skip to first unread message

lei wang

unread,
Nov 6, 2023, 6:19:02 AM11/6/23
to ProjectChrono
hello,
I had some problems building chrono again,
First, my environment is configured under windows11 and CMake3.27.4 versions
I expect all modules plus build to be successful, but now I have encountered the following problems

1. Parsers module: Package urdfdom NOT found. The Chrono URDF parser will NOT be built. (Here I have built with contrib\build-scripts, but this error is reported.)

2, Chrono VSG module: CMake Error at src/chrono_vsg/CMakeLists.txt:28 (find_package):
By not providing "Findvsg.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "vsg", but
CMake did not find one.
Could not find a package configuration file provided by "vsg" with any of
the following names:
​    vsgConfig.cmake
​    vsg-config.cmake
Add the installation prefix of "vsg" to CMAKE_PREFIX_PATH or set "vsg_DIR"
to a directory containing one of the above files.  If "vsg" provides a
separate development package or SDK, be sure it has been installed.
(Here, too, I built the library using the scripts in contrib\build-scripts.)

3, Chrono Distributed module:
CMake Warning at src/chrono_distributed/CMakeLists.txt:18 (message):
Chrono::Distributed requires MPI, but MPI not found;  disabling
Chrono::Distributed
(I've enabled the MULTICORE module here, and I've done this with the Multicore Module.)

4, Chrono Engine Mumps module
Searching for MUMPS...
CMake Warning (dev) at src/chrono_mumps/CMakeLists.txt:41 (find_package):
Policy CMP0144 is not set: find_package uses upper-case < PACKAGENAME> _ROOT
variables.  Run "cmake --help-policy CMP0144" for policy details.  Use the
cmake_policy command to set the policy and suppress this warning.
CMake variable MUMPS_ROOT is set to:
D: / Program Files/Chrono/library/MUMPS_5. 1.2
For compatibility, find_package is ignoring the variable, but code in a
.cmake module might still use it.
This warning is for project developers.  Use -Wno-dev to suppress it.
Mumps not found.
MUMPS_INCLUDE_DIRS:
MUMPS_LIBRARIES:
MUMPS_CXX_COMPILE_FLAGS:
MUMPS_CXX_LINK_FLAGS:
Searching for BLAS...
A library with BLAS API not found. Please specify library location.
BLAS not found. Disabling the Chrono::Mumps module.
(Here I have downloaded mumps5.1.2 and set the path in cmake Gui)

Regards

mycmake.txt

HUZAIFA MUSTAFA UNJHAWALA

unread,
Nov 6, 2023, 10:23:45 AM11/6/23
to ProjectChrono
Hello,

Have you added the path to external libraries in your cmake GUI?

For example, for vsg, see point 3 under "Building Instructions".
This is also the same for the parsers module

Dario Mangoni

unread,
Nov 6, 2023, 10:39:26 AM11/6/23
to ProjectChrono
Just a preliminar question: you said you enabled "all" the modules.
Given the amount of errors looks like you really enable many... but do you really need them?
You need URDF, VSG, MUMPS, MULTICORE, all enabled?

In general I would recommend to enable ONLY those modules that you really need. As Huzaifa pointed out, (almost) every module comes with one or more dependencies that you have to satisfy.
The buildScripts surely help in configurin the project but even with the build scripts some additional effort is required.



Radu Serban

unread,
Nov 6, 2023, 3:01:26 PM11/6/23
to ProjectChrono

Lei,

 

Assuming you successfully built and installed the necessary dependencies for URDF and VSG, you should be able to simply provide the locations of the corresponding CMake project configuration scripts by setting the CMake variables urdfdom_DIR, vsg_DIR, etc.  Do you do that? Could you please provide your CMakeCache.txt file?

 

The contrib/build-scipts/ directory also contains some sample scripts for full Chrono configuration with CMake.  Take a look at buildChrono.bat in that directory to see what CMake variables you would need to provide during Chron configuration in order to satisfy the various dependencies.

 

The message indicating that Chrono::Distributed will not be built is pretty self-explanatory: you need to install an MPI distribution (on Windows, I use Microsoft MPI, but others will work as well). Chrono::Multicore does *not* require MPI.

 

Mumps is a bit tricky to get working. I am not sure where you got that version 5.1.2 from, nor how you built and installed it. See the comments at https://api.projectchrono.org/module_mumps_installation.html.

 

Having said that, Dario is right: it is unlikely you want/need to enable all these modules. Chrono::Distributed offers relatively niche and limited functionality.  There are other alternatives to Mumps in Chrono, including the Pardiso solver through Intel MKL or else the direct sparse linear solvers SparseLU and SparseQR available through Eigen (meaning you don’t need an optional Chrono module at all to use those).  You may want to get Chrono::VSG working as this provides a runtime visualization system more modern than Irrlicht. Also, if you are interested in parsing URDF files, you will need to resolve the issues related to that; otherwise, you can safely ignore the warning about that support not being provided.

 

--Radu

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/0fdbe6ca-3bee-414c-a367-81d96be43e86n%40googlegroups.com.

lei wang

unread,
Nov 7, 2023, 4:27:18 AM11/7/23
to ProjectChrono
Thank you all for your responses,
I did have problems building the vsg module and the Parsers module

The first thing I want to know is whether these two modules are in order during the construction process, and whether there are any requirements for the order in all modules included in chrono?

Second, the Parsers module got an error mainly because urdfom could not be found, and when built using the script under contrib/build-scripts, the error was

CMake Error at D: / Program Files/CMake/share/CMake - 3.27 / Modules/FindPackageHandleStandardArgs. CMake: 230 (the message) :

Could NOT find TinyXML (missing: TinyXML_LIBRARY TinyXML_INCLUDE_DIR)

I have opened the build_tinyxml2.sln file to install successfully, but attaching a successful path will still appear the same error

Third, the error reported in the vsg module is also vsg_DIR-NOTFOUND,

, VSG module through the script to build my success, but failed to set the directory (C: / Packages / / lib/cmake VSG)

I attached my entire CMakeCache file and cmakegui
Regards,cmakegui-1.jpgcmakegui-2.jpg

CMakeCache.txt

Dario Mangoni

unread,
Nov 7, 2023, 8:17:58 AM11/7/23
to ProjectChrono
Hi,
looks like there is a big confusion here.

Please answer this very big question first before anything else: are you really sure to need ALL these modules? That's hugely unlikely.

Even if so, you need to make one step at a time: so please follow this procedure to compile the core library and Irrlicht: https://api.projectchrono.org/development/tutorial_install_chrono.html
If you succeed in this then we can add more modules later on.

If you want to use some build script I would recommend to try with something easier for now. But I don't want to make you any confusion: please stick with the installation guid for now if you don't feel confident.

set SOURCE_DIR="C:/Source/chrono"
set BUILD_DIR="C:/Build/chrono"
set INSTALL_DIR="C:/Install/chrono"

@rem -------------------------------------------

set EIGEN3_INSTALL_DIR="C:/Packages/eigen"
set IRRLICHT_INSTALL_DIR="C:/Packages/irrlicht"

@rem -------------------------------------------

set BUILDSYSTEM="Visual Studio 17 2022"

rem ------------------------------------------------------------------------

cmake -G %BUILDSYSTEM% -B %BUILD_DIR% -S %SOURCE_DIR% ^
      -DCMAKE_INSTALL_PREFIX:PATH=%INSTALL_DIR% ^
      -DENABLE_MODULE_PARSERS:BOOL=OFF ^
      -DENABLE_MODULE_IRRLICHT:BOOL=ON ^
      -DENABLE_MODULE_VSG:BOOL=OFF ^
      -DENABLE_MODULE_OPENGL:BOOL=OFF ^
      -DENABLE_MODULE_VEHICLE:BOOL=OFF ^
      -DENABLE_MODULE_POSTPROCESS:BOOL=OFF ^
      -DENABLE_MODULE_MULTICORE:BOOL=OFF ^
      -DENABLE_MODULE_FSI:BOOL=OFF ^
      -DENABLE_MODULE_GPU:BOOL=OFF ^
      -DENABLE_MODULE_DISTRIBUTED:BOOL=OFF ^
      -DENABLE_MODULE_PARDISO_MKL:BOOL=OFF ^
      -DENABLE_MODULE_CASCADE:BOOL=OFF ^
      -DENABLE_MODULE_COSIMULATION:BOOL=OFF ^
      -DENABLE_MODULE_SENSOR:BOOL=OFF ^
      -DENABLE_MODULE_MODAL:BOOL=OFF ^
      -DENABLE_MODULE_MATLAB:BOOL=OFF ^
      -DENABLE_MODULE_CSHARP:BOOL=OFF ^
      -DENABLE_MODULE_PYTHON:BOOL=OFF ^
      -DENABLE_MODULE_SYNCHRONO:BOOL=OFF ^
      -DBUILD_BENCHMARKING:BOOL=OFF ^
      -DBUILD_TESTING:BOOL=OFF ^
      -DENABLE_OPENCRG:BOOL=OFF ^
      -DUSE_CUDA_NVRTC:BOOL=OFF ^
      -DUSE_FAST_DDS:BOOL=OFF ^
      -DEIGEN3_INCLUDE_DIR:PATH=%EIGEN3_INSTALL_DIR% ^
      -DIRRLICHT_INSTALL_DIR:PATH=%IRRLICHT_INSTALL_DIR%


Reply all
Reply to author
Forward
0 new messages