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

setup/ubuntu.sh does not install all dependencies needed to compile px4_sitl #20923

Closed
zeroos opened this issue Jan 13, 2023 · 2 comments · Fixed by #21047
Closed

setup/ubuntu.sh does not install all dependencies needed to compile px4_sitl #20923

zeroos opened this issue Jan 13, 2023 · 2 comments · Fixed by #21047

Comments

@zeroos
Copy link
Contributor

zeroos commented Jan 13, 2023

Describe the bug

I've set up a new Docker environment based on osrf/ros:humble-desktop-jammy.

Inside this docker container, I cloned PX4-Autopilot and ran ./setup/ubuntu.sh to install required dependencies. Unfortunately, I'm not able to compile px4_sitl in such a system:

root@michalX1:/setup_repos/PX4-Autopilot# make px4_sitl gazebo_iris
(...)
[615/892] Building CXX object src/modules/simulation/gz_bridge/CMakeFiles/modules__simulation__gz_bridge.dir/GZBridge.cpp.o
FAILED: src/modules/simulation/gz_bridge/CMakeFiles/modules__simulation__gz_bridge.dir/GZBridge.cpp.o
/usr/bin/c++ -DCONFIG_ARCH_BOARD_PX4_SITL -DENABLE_LOCKSTEP_SCHEDULER -DMODULE_NAME=\"gz_bridge\" -DPX4_MAIN=gz_bridge_app_main -D__CUSTOM_FILE_IO__ -D__PX4_LINUX -D__PX4_POSIX -D__STDC_FORMAT_MACROS -Dnoreturn_function="__attribute__((noreturn))" -I/setup_repos/PX4-Autopilot/boards/px4/sitl/src -I/setup_repos/PX4-Autopilot/platforms/posix/src/px4/common/include -I/setup_repos/PX4-Autopilot/build/px4_sitl_default -I/setup_repos/PX4-Autopilot/build/px4_sitl_default/src/lib -I/setup_repos/PX4-Autopilot/platforms/posix/src/px4/generic/generic/include -I/setup_repos/PX4-Autopilot/platforms/common -I/setup_repos/PX4-Autopilot/platforms/common/include -I/setup_repos/PX4-Autopilot/src -I/setup_repos/PX4-Autopilot/src/include -I/setup_repos/PX4-Autopilot/src/lib -I/setup_repos/PX4-Autopilot/src/lib/matrix -I/setup_repos/PX4-Autopilot/src/modules -I/setup_repos/PX4-Autopilot/platforms/posix/include -I/setup_repos/PX4-Autopilot/build/px4_sitl_default/external/Install/include -isystem /usr/include/ignition/transport11 -isystem /usr/include/ignition/cmake2 -isystem /usr/include/ignition/msgs8 -isystem /usr/include/ignition/math6 -isystem /usr/include/uuid -O2 -g -DNDEBUG -fPIC -g -fdata-sections -ffunction-sections -fomit-frame-pointer -fmerge-all-constants -fno-signed-zeros -fno-trapping-math -freciprocal-math -fno-math-errno -fno-strict-aliasing -fvisibility=hidden -include visibility.h -Wall -Wextra -Werror -Warray-bounds -Wcast-align -Wdisabled-optimization -Wdouble-promotion -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-missing-field-initializers -Wno-missing-include-dirs -Wno-unused-parameter -fdiagnostics-color=always -Wno-stringop-truncation -fno-builtin-printf -fno-strength-reduce -Wformat=1 -Wunused-but-set-variable -Wno-format-truncation -fcheck-new -Wreorder -Wno-overloaded-virtual -frtti -fexceptions -O2 -D__KERNEL__ -I/usr/include/uuid -std=gnu++17 -MD -MT src/modules/simulation/gz_bridge/CMakeFiles/modules__simulation__gz_bridge.dir/GZBridge.cpp.o -MF src/modules/simulation/gz_bridge/CMakeFiles/modules__simulation__gz_bridge.dir/GZBridge.cpp.o.d -o src/modules/simulation/gz_bridge/CMakeFiles/modules__simulation__gz_bridge.dir/GZBridge.cpp.o -c /setup_repos/PX4-Autopilot/src/modules/simulation/gz_bridge/GZBridge.cpp
In file included from /usr/include/ignition/transport11/gz/transport.hh:25,
                 from /usr/include/ignition/transport11/ignition/transport.hh:18,
                 from /setup_repos/PX4-Autopilot/src/modules/simulation/gz_bridge/GZBridge.hpp:57,
                 from /setup_repos/PX4-Autopilot/src/modules/simulation/gz_bridge/GZBridge.cpp:34:
/usr/include/ignition/transport11/gz/transport/Clock.hh:24:10: fatal error: gz/utilities/SuppressWarning.hh: No such file or directory
   24 | #include <gz/utilities/SuppressWarning.hh>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[631/892] Performing build step for 'libmicroxrceddsclient_project'
ninja: build stopped: subcommand failed.
make: *** [Makefile:232: px4_sitl] Error 1
root@michalX1:/setup_repos/PX4-Autopilot#

I figured out that after doing apt-get install libignition-cmake2-dev, the compilation works.

I created a fork that installs this package in ubuntu.sh file [link], but I'm not sure if that's a good solution. It does work, but it seems for me like a problem is in the package manager. However, I'm not sure how to fix it. Please advise how to proceed, I'll be happy to help solving the problem.

@zeroos
Copy link
Contributor Author

zeroos commented Jan 31, 2023

We've found out that apt-get update upgrade just after executing the Tools/setup/ubuntu.sh script updates the required package. It feels like for some reason apt-get decides to install an older version of the libignition-cmake2-dev package, even though a newer one does not conflict with anything and is actually the one we need for successful PX4 compilation.

@zeroos
Copy link
Contributor Author

zeroos commented Jan 31, 2023

I've asked about it on Ubuntu Launchpad https://answers.launchpad.net/ubuntu/+source/gazebo/+question/704855

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant