Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error building on Ubuntu #10

Open
GersonHMG opened this issue Jul 19, 2024 · 3 comments
Open

Error building on Ubuntu #10

GersonHMG opened this issue Jul 19, 2024 · 3 comments
Assignees

Comments

@GersonHMG
Copy link

GersonHMG commented Jul 19, 2024

System: Ubuntu 24.04 LTS

I ran the following commands:

sudo apt-get install -y cmake protobuf-compiler libprotobuf-dev qtbase5-dev libqt5opengl5-dev g++ libusb-1.0-0-dev libsdl2-dev libqt5svg5-dev libssl-dev

mkdir build && cd build
cmake ..
make

and the following error appears:

[ 35%] Built target processor_autogen_timestamp_deps
[ 35%] Built target processor_autogen
[ 38%] Built target processor
make[2]: *** No rule to make target 'project_bullet-prefix/lib/libBulletDynamics.a', needed by 'src/amun/simulator/CMakeFiles/simulator_autogen_timestamp_deps'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:1861: src/amun/simulator/CMakeFiles/simulator_autogen_timestamp_deps.dir/all] Error 2
make: *** [Makefile:101: all] Error 2
@paul1999
Copy link
Contributor

paul1999 commented Feb 2, 2025

Hi, thanks for your bug report and sorry for the late reply; both @owlkward and myself where busy with our thesis.

I can't reproduce the build failure, but I assume its due to a missing dependency related to Bullet in CMake, leading to a build race condition.

Also, does this bug also occur when you use Ninja (Install Instructions) instead of make?

$ mkdir build && cd build
$ cmake -GNinja ..
$ ninja

@paul1999
Copy link
Contributor

paul1999 commented Feb 3, 2025

I was able to reproduce the issue now. My suggestion to build Bullet manually will not work, since the targets simply do not exist when using Make. I think they only exist when using Ninja due to the BUILD_BYPRODUCTS argument in CMake when setting up Bullet.

This reinforces my feeling, that building with Ninja should work. I will however try and produce a patch to provide a correct dependency for Make as well.

@paul1999
Copy link
Contributor

paul1999 commented Feb 4, 2025

It will take a while until my patch is published here, as I first commit it in our internal repository, but in the meantime:

If you encounter this issue, you can build the relevant project manually, so for example:

$ make project_bullet
$ make

If you encounter this problem for other dependencies, the name you have to put after project_ is what's given in the error message so for

*** No rule to make target 'project_${xyz}-prefix

you'd do make project_${xyz}

@paul1999 paul1999 self-assigned this Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants