maliput / maliput_malidrive

Open-source ready OpenDrive backend for Maliput
BSD 3-Clause "New" or "Revised" License
1 stars 2 forks source link

Bazel build error on #include <maliput/drake/arc_length_integrator.h> #258

Closed stonier closed 10 months ago

stonier commented 10 months ago

Environment

Description

Build error.

Steps to reproduce

bazel build //...

Output

(docker) zen@bazel-zen:/workspaces/maliput_malidrive$ bazel build //...
INFO: Analyzed 50 targets (0 packages loaded, 0 targets configured).
INFO: Found 50 targets...
ERROR: /workspaces/maliput_malidrive/BUILD.bazel:132:11: Compiling src/maliput_malidrive/road_curve/road_curve_offset.cc failed: (Exit 1): gcc failed: error executing command (from target //:road_curve) 
  (cd /home/zen/.cache/bazel/_bazel_zen/829522e09bb6fac1b4f38b64d6bb0098/sandbox/processwrapper-sandbox/127/execroot/_main && \
  exec env - \
    PATH=/home/zen/.cache/bazelisk/downloads/bazelbuild/bazel-6.4.0-linux-x86_64/bin:/vscode/vscode-server/bin/linux-x64/1a5daa3a0231a0fbba4f14db7ec463cf99d7768e/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/zen/.local/bin \
    PWD=/proc/self/cwd \
  /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++14' -MD -MF bazel-out/k8-fastbuild/bin/_objs/road_curve/road_curve_offset.pic.d '-frandom-seed=bazel-out/k8-fastbuild/bin/_objs/road_curve/road_curve_offset.pic.o' -fPIC '-DBAZEL_CURRENT_REPOSITORY=""' -iquote . -iquote bazel-out/k8-fastbuild/bin -iquote external/maliput~1.1.1 -iquote bazel-out/k8-fastbuild/bin/external/maliput~1.1.1 -iquote external/eigen~3.4.0 -iquote bazel-out/k8-fastbuild/bin/external/eigen~3.4.0 -iquote external/yaml-cpp~0.8.0 -iquote bazel-out/k8-fastbuild/bin/external/yaml-cpp~0.8.0 -Ibazel-out/k8-fastbuild/bin/_virtual_includes/road_curve -Ibazel-out/k8-fastbuild/bin/_virtual_includes/common -isystem external/maliput~1.1.1 -isystem bazel-out/k8-fastbuild/bin/external/maliput~1.1.1 -isystem bazel-out/k8-fastbuild/bin/external/maliput~1.1.1/_virtual_includes/common -isystem external/eigen~3.4.0 -isystem bazel-out/k8-fastbuild/bin/external/eigen~3.4.0 -isystem bazel-out/k8-fastbuild/bin/external/maliput~1.1.1/_virtual_includes/base -isystem bazel-out/k8-fastbuild/bin/external/maliput~1.1.1/_virtual_includes/api -isystem bazel-out/k8-fastbuild/bin/external/maliput~1.1.1/_virtual_includes/math -isystem external/yaml-cpp~0.8.0 -isystem bazel-out/k8-fastbuild/bin/external/yaml-cpp~0.8.0 -isystem external/yaml-cpp~0.8.0/include -isystem bazel-out/k8-fastbuild/bin/external/yaml-cpp~0.8.0/include -isystem bazel-out/k8-fastbuild/bin/external/maliput~1.1.1/_virtual_includes/drake '-std=c++17' -Werror '-std=c++17' -Wno-builtin-macro-redefined -Wno-missing-field-initializers -Wno-unused-const-variable -O2 -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c src/maliput_malidrive/road_curve/road_curve_offset.cc -o bazel-out/k8-fastbuild/bin/_objs/road_curve/road_curve_offset.pic.o)
# Configuration: 391e65453622fcfb6c0613818b443fc31c54f52c664d9a359f9894ca894ed810
# Execution platform: @local_config_platform//:host

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from src/maliput_malidrive/road_curve/road_curve_offset.cc:30:
bazel-out/k8-fastbuild/bin/_virtual_includes/road_curve/maliput_malidrive/road_curve/road_curve_offset.h:34:10: fatal error: maliput/drake/arc_length_integrator.h: No such file or directory
   34 | #include <maliput/drake/arc_length_integrator.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
INFO: Elapsed time: 0.921s, Critical Path: 0.60s
INFO: 37 processes: 37 internal.
FAILED: Build did NOT complete successfully
francocipollone commented 10 months ago

I triggered CI in order to see if there was an issue: https://github.com/maliput/maliput_malidrive/actions/runs/7325875417/job/19950907431 CI is passing correctly.

What is probably happening here is that we are missing a BCR release of maliput due to last breaking changes with the drake header files.

So if you have maliput in your workspace you will need to add local_path_override(module_name="maliput", path="../maliput") statement.

If you'd like to provide some instructions on how to create a maliput BCR release I am pleased to go ahead and make it happen :smile:

stonier commented 10 months ago

Should be easy now once our PR's are in...just create a tag and wait for the BCR PR to be accepted.

However, our CI should probably not have to depend on a release. We talked a while ago about how to chain bazel PR's in a PR test ... is there an issue for that?

stonier commented 10 months ago

Closing this one here though.