Closed merdan-9 closed 1 year ago
Hi,
This sounds like a problem generally related to CasADi rather than specifically to L4CasADi. E.g. how to integrate exported C CasADi functions in C++? If so, I think the CasADi GitHub would be better suited for this question as I am not an expert here.
However, there are some caveats specific to L4CasADi: libl4casadi must be dynamically linked during compilation and findable by the linker during runtime.
Let me know if the question is actually specific to L4CasADi.
Best Tim
Hi Tim, I have encountered an issue while using the acados_model_solver exported by python.
It reports "segmentation fault" when run the SQP solving code "{model_name}_acados_solve(acados_ocp_capsule);". Have you encountered similar problems and can you provide some solutions of the above issue?
Thanks!
Hi,
I do not think this is directly related to the original question in the issue. Please open a new issue to keep things traceable.
Thanks Tim
@merdan-9 is your original question still an open issue regarding L4CasADi? Otherwise, I would ask you to close the issue for now.
No, the original question regarding L4CasADi is no longer an open issue. Thank you for your prompt response and assistance. Just a gentle reminder for others: when launching the executable in C++, it needs to be started from one directory above the c_generated_code. Thanks again!
Hi @merdan-9 Actually, I still have some issues related to compiling L4CasADi with CMake. I have formulated CMakeLists.txt and added libraries of L4CasADi as following:
include_directories(
${PROJECT_SOURCE_DIR}/src/_l4c_generated
/home/vladislav/l4casadiv2/l4casadi/libl4casadi/include
/home/vladislav/l4casadiv2/l4casadi/libl4casadi
/home/vladislav/l4casadiv2/l4casadi/l4casadi/lib
)
target_link_libraries(mpc_planner
/home/vladislav/l4casadiv2/l4casadi/l4casadi/lib/libl4casadi.so
${PROJECT_SOURCE_DIR}/src/l4c_generated/liby_expr.so
${acados_lib}/libacados.so)
But here I have 2 issues which I think they mention to l4casadi
/usr/bin/ld: libmpb_planners.a(y_expr.cpp.o): undefined reference to symbol '_ZN8L4CasADi4hessEPKdiiPd'
/usr/bin/ld: /home/vladislav/l4casadiv2/l4casadi/l4casadi/lib/libl4casadi.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/mpc_planner.dir/build.make:186: /home/vladislav/bench-mr/bin/mpc_planner] Error 1
make[1]: *** [CMakeFiles/Makefile2:355: CMakeFiles/mpc_planner.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Could you mention how to fix errors here? Thank you!
Hi Tim! May you have a suggestion for fixing the error above?
Hi,
here is a CMakeList.txt example (without acados) that works for me. Let me know if this helps.
If you are still getting the same error you could try the solution presented in https://stackoverflow.com/questions/19901934/libpthread-so-0-error-adding-symbols-dso-missing-from-command-line
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(TestL4CasADi)
#include_directories(/Users/TimSalzmann/Documents/Study/PhD/Code/Ideas/L4CasADi/examples/_l4c_generated)
add_executable(testl4c main.cpp
/Users/TimSalzmann/Documents/Study/PhD/Code/Ideas/L4CasADi/examples/_l4c_generated/learned_dyn.hpp
/Users/TimSalzmann/Documents/Study/PhD/Code/Ideas/L4CasADi/examples/_l4c_generated/learned_dyn.cpp
)
target_include_directories(testl4c PRIVATE /Users/TimSalzmann/Documents/Study/PhD/Code/Ideas/L4CasADi/examples/_l4c_generated)
target_include_directories(testl4c PRIVATE /Users/TimSalzmann/Documents/Study/PhD/Code/Ideas/L4CasADi/l4casadi/include)
target_link_directories(testl4c PRIVATE /Users/TimSalzmann/Documents/Study/PhD/Code/Ideas/L4CasADi/l4casadi/lib)
target_link_libraries(testl4c l4casadi)
# Linking torch should not be required. But I had to do it otherwise the linker would not find the torch libraries.
set(CMAKE_PREFIX_PATH /Users/TimSalzmann/Documents/Study/PhD/Code/Ideas/L4CasADi/libl4casadi/libtorch)
find_package(Torch REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
target_link_libraries(testl4c ${TORCH_LIBRARIES})
set_property(TARGET testl4c PROPERTY CXX_STANDARD 17)
Also, I made a small change to the repo so paths to model files are written to source absolute vs relative. This might be needed to make this work eventually.
Thank you Tim for reply. Your file has fixed the error messages in compiling C++ package which is compiled successfully. In following there is my CMakeList.txt file for L4CasADi with Acados.
cmake_minimum_required(VERSION 3.0.2)
project(mpc_planner)
add_compile_options(-std=c++14)
set(acados_include "/home/vladislav/acados/include")
set(acados_lib "/home/vladislav/acados/lib")
include_directories(
include
scripts/c_generated_code
${PROJECT_SOURCE_DIR}/scripts/c_generated_code/robot_model_model
${PROJECT_SOURCE_DIR}/scripts/c_generated_code/robot_model_cost
${PROJECT_SOURCE_DIR}/scripts/c_generated_code
${acados_include}
${acados_include}/blasfeo/include
${acados_include}/hpipm/include
${acados_include}/acados/
${acados_include}/qpOASES_e
)
link_directories(${PROJECT_SOURCE_DIR}/scripts/c_generated_code)
add_executable(mpc_planner src/main.cpp src/MPC_Planner.cpp /home/vladislav/bench-mr/src/planners/npfield/test_acados/scripts/_l4c_generated/y_expr.cpp
/home/vladislav/l4casadiv2/l4casadi/l4casadi/include/l4casadi.hpp)
target_link_libraries(mpc_planner
${PROJECT_SOURCE_DIR}/scripts/c_generated_code/libacados_ocp_solver_robot_model.so
${acados_lib}/libacados.so
/home/vladislav/bench-mr/src/planners/npfield/test_acados/scripts/_l4c_generated/liby_expr.so
)
target_include_directories(mpc_planner PRIVATE /home/vladislav/bench-mr/src/planners/npfield/test_acados/scripts/_l4c_generated)
target_include_directories(mpc_planner PRIVATE /home/vladislav/l4casadiv2/l4casadi/l4casadi/include)
target_link_directories(mpc_planner PRIVATE /home/vladislav/l4casadiv2/l4casadi/l4casadi/lib)
target_link_libraries(mpc_planner l4casadi)
set(CMAKE_PREFIX_PATH /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch)
find_package(Torch REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
target_link_libraries(mpc_planner ${TORCH_LIBRARIES})
set_property(TARGET mpc_planner PROPERTY CXX_STANDARD 17)
However when running the executable file I have the following error.
CUDA is not available! Using CPU.
terminate called after throwing an instance of 'c10::Error'
what(): open file failed because of errno 2 on fopen: , file path: _l4c_generated/y_expr_forward.pt
Exception raised from RAIIFile at ../caffe2/serialize/file_adapter.cc:21 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x57 (0x7fef902cbd77 in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libc10.so)
frame #1: c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::string const&) + 0x64 (0x7fef90295abb in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libc10.so)
frame #2: caffe2::serialize::FileAdapter::RAIIFile::RAIIFile(std::string const&) + 0x124 (0x7fef7b4ee6e4 in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libtorch_cpu.so)
frame #3: caffe2::serialize::FileAdapter::FileAdapter(std::string const&) + 0x2e (0x7fef7b4ee73e in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libtorch_cpu.so)
frame #4: caffe2::serialize::PyTorchStreamReader::PyTorchStreamReader(std::string const&) + 0x5a (0x7fef7b4ecb8a in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libtorch_cpu.so)
frame #5: torch::jit::import_ir_module(std::shared_ptr<torch::jit::CompilationUnit>, std::string const&, c10::optional<c10::Device>, std::unordered_map<std::string, std::string, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, std::string> > >&, bool, bool) + 0x2c0 (0x7fef7c628820 in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libtorch_cpu.so)
frame #6: torch::jit::import_ir_module(std::shared_ptr<torch::jit::CompilationUnit>, std::string const&, c10::optional<c10::Device>, bool) + 0x7f (0x7fef7c628b9f in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libtorch_cpu.so)
frame #7: torch::jit::load(std::string const&, c10::optional<c10::Device>, bool) + 0xac (0x7fef7c628c7c in /home/vladislav/l4casadiv2/l4casadi/libl4casadi/libtorch/lib/libtorch_cpu.so)
frame #8: L4CasADi::L4CasADiImpl::L4CasADiImpl(std::string, std::string, std::string, bool, bool) + 0x216 (0x7fef90328d26 in /home/vladislav/l4casadiv2/l4casadi/l4casadi/lib/libl4casadi.so)
frame #9: L4CasADi::L4CasADi(std::string, std::string, bool, std::string, bool, bool) + 0x92 (0x7fef903243f2 in /home/vladislav/l4casadiv2/l4casadi/l4casadi/lib/libl4casadi.so)
frame #10: <unknown function> + 0x14d6 (0x7fef770c84d6 in /home/vladislav/bench-mr/src/planners/npfield/test_acados/scripts/_l4c_generated/liby_expr.so)
frame #11: <unknown function> + 0x15ea (0x7fef770c85ea in /home/vladislav/bench-mr/src/planners/npfield/test_acados/scripts/_l4c_generated/liby_expr.so)
frame #12: <unknown function> + 0x11b9a (0x7fef9dd66b9a in /lib64/ld-linux-x86-64.so.2)
frame #13: <unknown function> + 0x11ca1 (0x7fef9dd66ca1 in /lib64/ld-linux-x86-64.so.2)
frame #14: <unknown function> + 0x113a (0x7fef9dd5613a in /lib64/ld-linux-x86-64.so.2)
Aborted (core dumped)
But when running python implementation CUDA was available CUDA is available! Using GPU cuda.
Actually I thought the error is related to the path of the file.
Also, I made a small change to the repo so paths to model files are written to source absolute vs relative. This might be needed to make this work eventually.
Did you pull the latest changes to L4CasADi. This should have addressed this issue. Please note that there are new install instructions.
With the new version,./install.sh
is not completed successfully. Maybe the problem in my OS.
I have already tested last versions successfully.
OS: Ubuntu 20.04
python 3.9
Cmake 3.26.4
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named torch
Defaulting to user installation because normal site-packages is not writeable
Processing /home/vladislav/l4casadiv3/l4casadi
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: torch==2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: casadi>=3.6 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (3.6.3)
Requirement already satisfied: pytest in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (7.4.0)
Requirement already satisfied: filelock in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.12.2)
Requirement already satisfied: typing-extensions in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (4.7.0)
Requirement already satisfied: sympy in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (1.12)
Requirement already satisfied: networkx in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.1)
Requirement already satisfied: jinja2 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.1.2)
Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.99)
Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.99)
Requirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.101)
Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (8.5.0.96)
Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.10.3.66)
Requirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (10.9.0.58)
Requirement already satisfied: nvidia-curand-cu11==10.2.10.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (10.2.10.91)
Requirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.4.0.1)
Requirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.4.91)
Requirement already satisfied: nvidia-nccl-cu11==2.14.3 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (2.14.3)
Requirement already satisfied: nvidia-nvtx-cu11==11.7.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.91)
Requirement already satisfied: triton==2.0.0 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==2.0->l4casadi==0.0.1) (45.2.0)
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==2.0->l4casadi==0.0.1) (0.34.2)
Requirement already satisfied: cmake in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch==2.0->l4casadi==0.0.1) (3.26.4)
Requirement already satisfied: lit in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch==2.0->l4casadi==0.0.1) (16.0.6)
Requirement already satisfied: numpy in /home/vladislav/.local/lib/python3.9/site-packages (from casadi>=3.6->l4casadi==0.0.1) (1.25.1)
Requirement already satisfied: iniconfig in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: packaging in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (23.1)
Requirement already satisfied: pluggy<2.0,>=0.12 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (1.2.0)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (1.1.1)
Requirement already satisfied: tomli>=1.0.0 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (2.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from jinja2->torch==2.0->l4casadi==0.0.1) (2.1.3)
Requirement already satisfied: mpmath>=0.19 in /home/vladislav/.local/lib/python3.9/site-packages (from sympy->torch==2.0->l4casadi==0.0.1) (1.3.0)
Building wheels for collected packages: l4casadi
Building wheel for l4casadi (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for l4casadi (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [93 lines of output]
--------------------------------------------------------------------------------
-- Trying 'Ninja' generator
--------------------------------
---------------------------
----------------------
-----------------
------------
-------
--
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 9.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/vladislav/l4casadiv3/l4casadi/_cmake_test_compile/build
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying 'Ninja' generator - success
--------------------------------------------------------------------------------
Configuring Project
Working directory:
/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Command:
/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv3/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
CMake Error at CMakeLists.txt:6 (find_package):
By not providing "FindTorch.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Torch", but
CMake did not find one.
Could not find a package configuration file provided by "Torch" with any of
the following names:
TorchConfig.cmake
torch-config.cmake
Add the installation prefix of "Torch" to CMAKE_PREFIX_PATH or set
"Torch_DIR" to a directory containing one of the above files. If "Torch"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
File "/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 666, in setup
env = cmkr.configure(
File "/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 357, in configure
raise SKBuildError(msg)
An error occurred while configuring with CMake.
Command:
/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv3/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-feher6oj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
Source directory:
/home/vladislav/l4casadiv3/l4casadi/libl4casadi
Working directory:
/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Please see CMake's output for more information.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for l4casadi
Failed to build l4casadi
ERROR: Could not build wheels for l4casadi, which is required to install pyproject.toml-based projects
PyTorch has to be installed first! E.g. pip install torch
and the install script has to be run from a terminal with activated environment.
Edit: I see torch is installed.. this is weird. Could you try running the following two commands and report the output:
python -c "import torch; print(torch.__version__)"
and
python3 -c "import torch; print(torch.__version__)"
Thanks
Hi Tim, I have torch version 2.0.0+cu117 with python3 (it is 3.8) and python3.9. With python (Python 2.7.18) there is no torch. Your repo needs python 3.9 for which torch is installed.
vladislav@lab:~/l4casadiv3/l4casadi$ python -c "import torch; print(torch.__version__)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named torch
vladislav@lab:~/l4casadiv3/l4casadi$ python3.9 -c "import torch; print(torch.__version__)"
2.0.0+cu117
vladislav@lab:~/l4casadiv3/l4casadi$ python3 -c "import torch; print(torch.__version__)"
2.0.0+cu117
vladislav@lab:~/l4casadiv3/l4casadi$
I updated the install script. Please have another try
Thank you Tim. I have reinstalled package but the error is the same
vladislav@lab:~/l4casadiv3$ git clone https://github.com/Tim-Salzmann/l4casadi.git
Cloning into 'l4casadi'...
remote: Enumerating objects: 163, done.
remote: Counting objects: 100% (104/104), done.
remote: Compressing objects: 100% (70/70), done.
remote: Total 163 (delta 40), reused 81 (delta 23), pack-reused 59
Receiving objects: 100% (163/163), 40.19 KiB | 979.00 KiB/s, done.
Resolving deltas: 100% (54/54), done.
vladislav@lab:~/l4casadiv3$ cd l4casadi/
vladislav@lab:~/l4casadiv3/l4casadi$ ./install.sh
/home/vladislav/.local/lib/python3.8/site-packages/torch
Defaulting to user installation because normal site-packages is not writeable
Processing /home/vladislav/l4casadiv3/l4casadi
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: torch==2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: casadi>=3.6 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (3.6.3)
Requirement already satisfied: pytest in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (7.4.0)
Requirement already satisfied: filelock in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.12.2)
Requirement already satisfied: typing-extensions in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (4.7.0)
Requirement already satisfied: sympy in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (1.12)
Requirement already satisfied: networkx in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.1)
Requirement already satisfied: jinja2 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.1.2)
Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.99)
Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.99)
Requirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.101)
Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (8.5.0.96)
Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.10.3.66)
Requirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (10.9.0.58)
Requirement already satisfied: nvidia-curand-cu11==10.2.10.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (10.2.10.91)
Requirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.4.0.1)
Requirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.4.91)
Requirement already satisfied: nvidia-nccl-cu11==2.14.3 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (2.14.3)
Requirement already satisfied: nvidia-nvtx-cu11==11.7.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.91)
Requirement already satisfied: triton==2.0.0 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==2.0->l4casadi==0.0.1) (45.2.0)
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==2.0->l4casadi==0.0.1) (0.34.2)
Requirement already satisfied: cmake in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch==2.0->l4casadi==0.0.1) (3.26.4)
Requirement already satisfied: lit in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch==2.0->l4casadi==0.0.1) (16.0.6)
Requirement already satisfied: numpy in /home/vladislav/.local/lib/python3.9/site-packages (from casadi>=3.6->l4casadi==0.0.1) (1.25.1)
Requirement already satisfied: iniconfig in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: packaging in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (23.1)
Requirement already satisfied: pluggy<2.0,>=0.12 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (1.2.0)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (1.1.1)
Requirement already satisfied: tomli>=1.0.0 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (2.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from jinja2->torch==2.0->l4casadi==0.0.1) (2.1.3)
Requirement already satisfied: mpmath>=0.19 in /home/vladislav/.local/lib/python3.9/site-packages (from sympy->torch==2.0->l4casadi==0.0.1) (1.3.0)
Building wheels for collected packages: l4casadi
Building wheel for l4casadi (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for l4casadi (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [106 lines of output]
--------------------------------------------------------------------------------
-- Trying 'Ninja' generator
--------------------------------
---------------------------
----------------------
-----------------
------------
-------
--
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 9.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/vladislav/l4casadiv3/l4casadi/_cmake_test_compile/build
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying 'Ninja' generator - success
--------------------------------------------------------------------------------
Configuring Project
Working directory:
/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Command:
/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv3/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found CUDA: /usr (found version "10.1")
-- The CUDA compiler identification is NVIDIA 10.1.243
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Caffe2: CUDA detected: 10.1
-- Caffe2: CUDA nvcc is: /usr/bin/nvcc
-- Caffe2: CUDA toolkit directory: /usr
CMake Error at /home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Caffe2/public/cuda.cmake:55 (message):
PyTorch requires CUDA 11.0 or above.
Call Stack (most recent call first):
/home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include)
/home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:68 (find_package)
CMakeLists.txt:6 (find_package)
-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
File "/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 666, in setup
env = cmkr.configure(
File "/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 357, in configure
raise SKBuildError(msg)
An error occurred while configuring with CMake.
Command:
/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv3/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-9hsk4etj/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
Source directory:
/home/vladislav/l4casadiv3/l4casadi/libl4casadi
Working directory:
/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Please see CMake's output for more information.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for l4casadi
Failed to build l4casadi
ERROR: Could not build wheels for l4casadi, which is required to install pyproject.toml-based projects
vladislav@lab:~/l4casadiv3/l4casadi$
Edit: I have tried python3.9 -m pip install .
(as before) to insure using python3.9 instead of 3.8 but also the same error
First of all - apologies for breaking the install for you!
The error actually changed slightly. Now, the problem seems to be the following:
PyTorch requires CUDA 11.0 or above.
This makes sense given that PyTorch > 2.0 requires CUDA 11.0 and you have installed CUDA 10.1. However, I do not understand why it was working previuously on your setup. Did you change anything on your setup (e.g. downgraded CUDA)?
One possible solution is that you have both CUDA 10 and 11 installed?! What command did you previously use to install l4casadi with GPU support?
Make sure to use the same path to nvcc (11) as before CUDACXX=<PATH_TO_nvcc> ./install.sh
Hi Tim! No problem, thank you for hints for fixing errors. Actually I have fixed mismatches in cuda and now I have cuda 12.2 and nvcc 12.2 as it is shown.
vladislav@lab:/usr/local/cuda-12.2/bin$ ./nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0
vladislav@lab:/usr/local/cuda-12.2/bin$ pwd
/usr/local/cuda-12.2/bin
vladislav@lab:/usr/local/cuda-12.2/bin$ nvidia-smi
Fri Sep 1 17:55:05 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 2070 On | 00000000:01:00.0 On | N/A |
| 17% 35C P8 8W / 175W | 333MiB / 8192MiB | 1% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 1276 G /usr/lib/xorg/Xorg 175MiB |
| 0 N/A N/A 1538 G /usr/bin/gnome-shell 30MiB |
| 0 N/A N/A 2364 G ...ures=SpareRendererForSitePerProcess 41MiB |
| 0 N/A N/A 5054 G ...7266680,16881132031536840468,262144 83MiB |
+---------------------------------------------------------------------------------------+
After all, I have run install.py as following but the error still the same
vladislav@lab:~/l4casadiv3/l4casadi$ CUDACXX=/usr/local/cuda-12.2/bin ./install.sh
/home/vladislav/.local/lib/python3.8/site-packages/torch
Defaulting to user installation because normal site-packages is not writeable
Processing /home/vladislav/l4casadiv3/l4casadi
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: torch==2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: casadi>=3.6 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (3.6.3)
Requirement already satisfied: pytest in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.1) (7.4.0)
Requirement already satisfied: filelock in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.12.2)
Requirement already satisfied: typing-extensions in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (4.7.0)
Requirement already satisfied: sympy in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (1.12)
Requirement already satisfied: networkx in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.1)
Requirement already satisfied: jinja2 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (3.1.2)
Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.99)
Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.99)
Requirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.101)
Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (8.5.0.96)
Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.10.3.66)
Requirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (10.9.0.58)
Requirement already satisfied: nvidia-curand-cu11==10.2.10.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (10.2.10.91)
Requirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.4.0.1)
Requirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.4.91)
Requirement already satisfied: nvidia-nccl-cu11==2.14.3 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (2.14.3)
Requirement already satisfied: nvidia-nvtx-cu11==11.7.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (11.7.91)
Requirement already satisfied: triton==2.0.0 in /home/vladislav/.local/lib/python3.9/site-packages (from torch==2.0->l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==2.0->l4casadi==0.0.1) (45.2.0)
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==2.0->l4casadi==0.0.1) (0.34.2)
Requirement already satisfied: cmake in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch==2.0->l4casadi==0.0.1) (3.26.4)
Requirement already satisfied: lit in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch==2.0->l4casadi==0.0.1) (16.0.6)
Requirement already satisfied: numpy in /home/vladislav/.local/lib/python3.9/site-packages (from casadi>=3.6->l4casadi==0.0.1) (1.25.1)
Requirement already satisfied: iniconfig in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (2.0.0)
Requirement already satisfied: packaging in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (23.1)
Requirement already satisfied: pluggy<2.0,>=0.12 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (1.2.0)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (1.1.1)
Requirement already satisfied: tomli>=1.0.0 in /home/vladislav/.local/lib/python3.9/site-packages (from pytest->l4casadi==0.0.1) (2.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from jinja2->torch==2.0->l4casadi==0.0.1) (2.1.3)
Requirement already satisfied: mpmath>=0.19 in /home/vladislav/.local/lib/python3.9/site-packages (from sympy->torch==2.0->l4casadi==0.0.1) (1.3.0)
Building wheels for collected packages: l4casadi
Building wheel for l4casadi (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for l4casadi (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [95 lines of output]
--------------------------------------------------------------------------------
-- Trying 'Ninja' generator
--------------------------------
---------------------------
----------------------
-----------------
------------
-------
--
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 9.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (1.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/vladislav/l4casadiv3/l4casadi/_cmake_test_compile/build
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying 'Ninja' generator - success
--------------------------------------------------------------------------------
Configuring Project
Working directory:
/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Command:
/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv3/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
-- Could NOT find CUDA (missing: CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) (found version "10.1")
CMake Warning at /home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Caffe2/public/cuda.cmake:31 (message):
Caffe2: CUDA cannot be found. Depending on whether you are building Caffe2
or a Caffe2 dependent library, the next warning / error will give you more
info.
Call Stack (most recent call first):
/home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include)
/home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:68 (find_package)
CMakeLists.txt:6 (find_package)
CMake Error at /home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Caffe2/Caffe2Config.cmake:90 (message):
Your installed Caffe2 version uses CUDA but I cannot find the CUDA
libraries. Please set the proper CUDA prefixes and / or install CUDA.
Call Stack (most recent call first):
/home/vladislav/.local/lib/python3.8/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:68 (find_package)
CMakeLists.txt:6 (find_package)
-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
File "/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 666, in setup
env = cmkr.configure(
File "/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 357, in configure
raise SKBuildError(msg)
An error occurred while configuring with CMake.
Command:
/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv3/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/pip-build-env-azk30wqn/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
Source directory:
/home/vladislav/l4casadiv3/l4casadi/libl4casadi
Working directory:
/home/vladislav/l4casadiv3/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Please see CMake's output for more information.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for l4casadi
Failed to build l4casadi
ERROR: Could not build wheels for l4casadi, which is required to install pyproject.toml-based projects
In last update (10 minutes ago) there is no install.sh file:
vladislav@lab:~/l4casadiv3/l4casadi$ CUDACXX=/usr/local/cuda-12.2/bin ./install.sh
bash: ./install.sh: No such file or directory
Hi,
Yes I tried to simplifiy the installation procedure yet again. I'm sorry for the confusion. Please make a new pull as there are some changes in the last minutes. According to the Readme the instructions are as follows:
Install all build dependencies via
pip install -r requirements_build.txt
With the python environment activated install L4CasADi via
pip install . --no-build-isolation
Further, as you can see here https://pytorch.org/get-started/locally/ PyTorch does not support CUDA 12 but only CUDA 11 which explains your latetst error.
Hi Tim! With the last version it still bash: ./install.sh: No such file or directory
. I have run installation without cuda without problems.
Hi Muhammad,
yes install.sh
is not required anymore and was therefore deleted.
please install via
pip install . --no-build-isolation
or for GPU
CUDACXX=<PATH_TO_nvcc> pip install . --no-build-isolation
Hi Tim. Actually I couldn't install it with cuda from source, so I have tried to install it as pip install and it is installed without errors. I would ask you to correct in ReadMe, installation with cuda from source (it is now as the same as from pip). Finally, can we return to the first question :)? What is the new now to implement it using CMake? Sorry, but I have confused and I am a new with these libraries. Now with installing as pip install how I can mention in CMake to l4casadi?
Best, Muhammad
Hi Muhammad,
Actually I couldn't install it with cuda from source
Please post the full error message you are getting when trying to install from source with CUDA so I can fix it for everyone.
What is the new now to implement it using CMake
Besides the install procedure nothing changed except paths to traced models are now absolute when exported which should fix your latest error. (and the parameter model_expects_batch_dim
defaults to True now)
terminate called after throwing an instance of 'c10::Error' what(): open file failed because of errno 2 on fopen: , file path: _l4c_generated/y_expr_forward.pt
One change you will have to make in your CMake is to link to the libtorch in your python environment
set(CMAKE_PREFIX_PATH /home/vladislav/.local/lib/python3.8/site-packages/torch)
Let me know if this helps
Hi Tim, Firstly, I would thank you for this library and your patience. Finally as I have mentioned before I could install it only as pip install. The whole error message while installing from source is
vladislav@lab:~/l4casadiv4/l4casadi$ CUDACXX=/usr/local/cuda/bin/nvcc python3.9 -m pip install . --no-build-isolation
Defaulting to user installation because normal site-packages is not writeable
Processing /home/vladislav/l4casadiv4/l4casadi
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: torch>=2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.2) (2.0.0)
Requirement already satisfied: casadi>=3.6 in /home/vladislav/.local/lib/python3.9/site-packages (from l4casadi==0.0.2) (3.6.3)
Requirement already satisfied: numpy in /home/vladislav/.local/lib/python3.9/site-packages (from casadi>=3.6->l4casadi==0.0.2) (1.25.1)
Requirement already satisfied: filelock in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (3.12.2)
Requirement already satisfied: typing-extensions in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (4.7.0)
Requirement already satisfied: sympy in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (1.12)
Requirement already satisfied: networkx in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (3.1)
Requirement already satisfied: jinja2 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (3.1.2)
Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (11.7.99)
Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (11.7.99)
Requirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (11.7.101)
Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (8.5.0.96)
Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (11.10.3.66)
Requirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (10.9.0.58)
Requirement already satisfied: nvidia-curand-cu11==10.2.10.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (10.2.10.91)
Requirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (11.4.0.1)
Requirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (11.7.4.91)
Requirement already satisfied: nvidia-nccl-cu11==2.14.3 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (2.14.3)
Requirement already satisfied: nvidia-nvtx-cu11==11.7.91 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (11.7.91)
Requirement already satisfied: triton==2.0.0 in /home/vladislav/.local/lib/python3.9/site-packages (from torch>=2.0->l4casadi==0.0.2) (2.0.0)
Requirement already satisfied: setuptools in /home/vladislav/.local/lib/python3.9/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=2.0->l4casadi==0.0.2) (68.1.2)
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=2.0->l4casadi==0.0.2) (0.34.2)
Requirement already satisfied: cmake in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch>=2.0->l4casadi==0.0.2) (3.27.2)
Requirement already satisfied: lit in /home/vladislav/.local/lib/python3.9/site-packages (from triton==2.0.0->torch>=2.0->l4casadi==0.0.2) (16.0.6)
Requirement already satisfied: MarkupSafe>=2.0 in /home/vladislav/.local/lib/python3.9/site-packages (from jinja2->torch>=2.0->l4casadi==0.0.2) (2.1.3)
Requirement already satisfied: mpmath>=0.19 in /home/vladislav/.local/lib/python3.9/site-packages (from sympy->torch>=2.0->l4casadi==0.0.2) (1.3.0)
Building wheels for collected packages: l4casadi
Building wheel for l4casadi (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for l4casadi (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [85 lines of output]
--------------------------------------------------------------------------------
-- Trying 'Ninja' generator
--------------------------------
---------------------------
----------------------
-----------------
------------
-------
--
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 9.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/vladislav/l4casadiv4/l4casadi/_cmake_test_compile/build
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying 'Ninja' generator - success
--------------------------------------------------------------------------------
Configuring Project
Working directory:
/home/vladislav/l4casadiv4/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Command:
/home/vladislav/.local/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv4/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/home/vladislav/.local/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv4/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/vladislav/.local/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_NumPy_INCLUDE_DIRS:PATH=/home/vladislav/.local/lib/python3.9/site-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_NumPy_INCLUDE_DIRS:PATH=/home/vladislav/.local/lib/python3.9/site-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/home/vladislav/.local/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_TORCH_PATH=/home/vladislav/.local/lib/python3.9/site-packages/torch -DCMAKE_BUILD_TYPE:STRING=Release
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Not searching for unused variables given on the command line.
CMake Error at /home/vladislav/.local/lib/python3.9/site-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCUDACompiler.cmake:277 (message):
CMAKE_CUDA_ARCHITECTURES must be non-empty if set.
Call Stack (most recent call first):
/home/vladislav/.local/lib/python3.9/site-packages/torch/share/cmake/Caffe2/public/cuda.cmake:47 (enable_language)
/home/vladislav/.local/lib/python3.9/site-packages/torch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include)
/home/vladislav/.local/lib/python3.9/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:68 (find_package)
CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
File "/home/vladislav/.local/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 666, in setup
env = cmkr.configure(
File "/home/vladislav/.local/lib/python3.9/site-packages/skbuild/cmaker.py", line 357, in configure
raise SKBuildError(msg)
An error occurred while configuring with CMake.
Command:
/home/vladislav/.local/lib/python3.9/site-packages/cmake/data/bin/cmake /home/vladislav/l4casadiv4/l4casadi/libl4casadi -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=/home/vladislav/.local/lib/python3.9/site-packages/ninja/data/bin/ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/home/vladislav/l4casadiv4/l4casadi/_skbuild/linux-x86_64-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/vladislav/.local/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_NumPy_INCLUDE_DIRS:PATH=/home/vladislav/.local/lib/python3.9/site-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/usr/bin/python3.9 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_NumPy_INCLUDE_DIRS:PATH=/home/vladislav/.local/lib/python3.9/site-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/home/vladislav/.local/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_TORCH_PATH=/home/vladislav/.local/lib/python3.9/site-packages/torch -DCMAKE_BUILD_TYPE:STRING=Release
Source directory:
/home/vladislav/l4casadiv4/l4casadi/libl4casadi
Working directory:
/home/vladislav/l4casadiv4/l4casadi/_skbuild/linux-x86_64-3.9/cmake-build
Please see CMake's output for more information.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for l4casadi
Failed to build l4casadi
ERROR: Could not build wheels for l4casadi, which is required to install pyproject.toml-based projects
For implementation with CMake I figured it out with your file. However before your last reply I have used
set(CMAKE_PREFIX_PATH /home/vladislav/.local/lib/python3.9/site-packages/torch/share/cmake/Torch)
and In addition to setting LD_LIBRARY_PATH
it works well.
Best Kinds, Muhammad
The whole error message while installing from source is ...
I think this might be due to a previous build not being successful. Please delete the ./_skbuild
folder or do a fresh clone to an empty folder.
For implementation with CMake I figured it out with your file. However before your last reply I have used set(CMAKE_PREFIX_PATH /home/vladislav/.local/lib/python3.9/site-packages/torch/share/cmake/Torch) and In addition to setting LD_LIBRARY_PATH it works well.
You are correct, setting LD_LIBRARY_PATH
is necessary too.
If everything works now feel free to close this issue :)
delete the
./_skbuild
folder
Yes It is now installed from source after removing _skbuild
.
I would remind you to correct the following ReadMe (both installations are the same)
GPU (CUDA) Installation Install L4CasADi via CUDACXX=
pip install l4casadi --no-build-isolation or CUDACXX= pip install l4casadi --no-build-isolation to build from source. If everything works now feel free to close this issue :)
I can't close it because I didn't open it. There is no option to close it.
Best, Muhammad
Thanks, I fixed the README. Further, I provided a quick example of how to integrate L4CasADi in C++ in examples/cpp_usage.
Hi Tim,
I have generated C code using L4Casadi and would like to integrate it into my existing C++ project. I am currently utilizing CMake as my build system, but I'm unsure about how to properly modify the CMakeLists.txt file to include and link the L4Casadi generated C code.
Can you provide an example of how to modify the CMakeLists.txt file to include the generated C files?
I would really appreciate any guidance or examples. Thank you!