Closed Spphire closed 1 month ago
Please provide more information, condense down your outputs and ask a proper question :)
Please provide more information, condense down your outputs and ask a proper question :) I was doing the second step when error occured, and full information is at above. It prevent me from installing environment.
As said: please condense down your outputs and ask a proper question. Also describe what you have already done and what machine you are running on.
Running steps 1 and 2 works for me just fine (on kultiple machines) so i cannot reproduce nor debug your error without proper information from your side :)
As said: please condense down your outputs and ask a proper question. Also describe what you have already done and what machine you are running on.
Running steps 1 and 2 works for me just fine (on kultiple machines) so i cannot reproduce nor debug your error without proper information from your side :)
I‘m running on Ubuntu2004 with python3.8, cmake3.20, gcc-11 and g++-11
I successfully created the environment (which is the content of Step 1), but when I executed Step 2 to install sm-3dcouple, I encountered errors related to pybind11.
It seems to be an issue with duplicate naming, as the errors are almost all of the same type: "add_library cannot create imported target XXX because another target with the same name already exists".
I searched for the issue and tried modifying the names in 'project(smm_dijkstra)' and 'pybind11_add_module(smm_dijkstra pythonbinding/shapeMatchModelPB.cpp)', but it doesn't seem to have fixed the problem. I hope you can help me look into this issue.
Hi @paul0noah ,
I reproduced the same error on a fresh-installed Ubuntu 24.04. It looks like the pybind11 module is being included twice. After reviewing the code (CMakeLists.txt
s), I found external/BDD/CMakeLists.txt
L65-75 is using CPM to add pybind11. Commenting out these lines as the screenshot shows fixed the error.
BTW, it seems that libboost-all-dev
is also required when building sm-3dcouple. Otherwise, the following error will occur.
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Boost-1.83.0/BoostConfig.cmake:141 (find_package):
Could not find a package configuration file provided by
"boost_serialization" (requested version 1.83.0) with any of the following
names:
boost_serializationConfig.cmake
boost_serialization-config.cmake
Add the installation prefix of "boost_serialization" to CMAKE_PREFIX_PATH
or set "boost_serialization_DIR" to a directory containing one of the above
files. If "boost_serialization" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/Boost-1.83.0/BoostConfig.cmake:262 (boost_find_component)
/usr/share/cmake-3.28/Modules/FindBoost.cmake:594 (find_package)
build/_deps/cereal-src/CMakeLists.txt:116 (find_package)
I will make a pull request to help enrich the troubleshooting section.
@ElectronicElephant thank you so much for taking a look and posting your findings. @Spphire does this solve your issues?
@Spphire please checkout the newest version of sm-3dcouple. It should work now!
@Spphire please checkout the newest version of sm-3dcouple. It should work now!
yes it's fixed! thank you guys so much!
My system is Ubuntu2004 I tried it with gcc/g++-11 and cmake3.20
I successfully created the environment (which is the content of Step 1), but when I executed Step 2 to install sm-3dcouple, I encountered errors related to pybind11.
It seems to be an issue with duplicate naming, as the errors are almost all of the same type: "add_library cannot create imported target XXX because another target with the same name already exists".
Full bash output is below: