-
Notifications
You must be signed in to change notification settings - Fork 89
Description
Title: One line description
Can't build the project neither in Centos 7, nor in Debian 10, Ubuntu 18.04 LTS
Description:
What issue is being seen? Describe what should be happening instead of
the bug, for example: Nighthawk should not crash, the expected value isn't
returned, etc.
The build is difficult mainly due to the lack of a description how to do that.
The Dockefile in Docker hub doesn't show what env is needed to build properly.
This page: https://getnighthawk.dev/docs/building-nighthawk/ shows some recommendations which imply that a Debian-based system is required, however a build cannot be successful neither in Debian 10 nor Ubuntu 18.04.
After installing all the required packages (please note that in the link above it is not mentioned that gcc-9 is required whose installation breaks a scripted installation of all packages in Debian, due to the need to merge sshd_config via Debian's UI when installing openssh (which is ignored even when modifying the DEBIAN_FRONTEND env var); neither is mentioned Ubuntu's issues with gcc-9 which installs in /usr/bin/gcc-9 leaving /usr/bin/gcc coming from the g++ package but remaining at version 7.5; neither any specific requirements for OS and packages are mentioned leaving the user unaware what should be done).
Anyway, after installing and configuring all the packages which seems to be required after debugging step by step I've got the following error:
root@vm1:/home/vm1user/benchmark/nighthawk# bazel build -c opt //:nighthawk
INFO: Analyzed target //:nighthawk (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /root/.cache/bazel/_bazel_root/664f29de160d46f0d280928f1ea14135/external/com_google_protobuf/BUILD:513:10: Compiling src/google/protobuf/compiler/main.cc failed: undeclared inclusion(s) in rule '@com_google_protobuf//:protoc':
this rule is missing dependency declarations for the following files included by 'src/google/protobuf/compiler/main.cc':
'/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h'
'/usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h'
'/usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h'
Target //:nighthawk failed to build
Use --verbose_failures to see the command lines of failed build steps.
ERROR: /root/.cache/bazel/_bazel_root/664f29de160d46f0d280928f1ea14135/external/com_github_cncf_udpa/xds/annotations/v3/BUILD:5:18 Middleman _middlemen/@com_Ugithub_Ucncf_Uudpa_S_Sxds_Sannotations_Sv3_Cpkg-BazelCppSemantics_build_arch_k8-opt failed: undeclared inclusion(s) in rule '@com_google_protobuf//:protoc':
this rule is missing dependency declarations for the following files included by 'src/google/protobuf/compiler/main.cc':
'/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h'
'/usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h'
'/usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h'
INFO: Elapsed time: 1.370s, Critical Path: 0.82s
INFO: 4 processes: 4 internal.
FAILED: Build did NOT complete successfully
Please, anyone, provide a more detailed description what is required to build the project.
Reproduction steps:
Include sample requests, environment, etc. All data and inputs
required to reproduce the bug.
- Create a VM in Azure with the following OS:
publisher = "Canonical"
offer = "UbuntuServer"
sku = "18_04-lts-gen2"
version = "18.04.202204010"
- Execute the following script to set up the Ubuntu box:
#!/bin/bash
set -x
echo ${password} | sudo -S -u root -v
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt install -y nginx git wget gcc python3 vim curl autoconf automake cmake curl libtool make ninja-build patch python3-pip unzip virtualenv
sudo ln -s /usr/bin/gcc-9 /usr/bin/gcc
sudo systemctl restart nginx
# Envoy Nighthawk setup
wget -O bazel https://github.com/bazelbuild/bazel/releases/download/5.1.1/bazel-5.1.1-linux-x86_64
sudo chmod a+x ./bazel
sudo mv ./bazel /usr/bin/bazel
git clone https://github.com/envoyproxy/nighthawk
cd nighthawk/
bazel build -c opt //:nighthawk
echo "Provisioning Finished!"
Note: If there are privacy concerns, sanitize the data prior to
sharing.
Logs:
Include the Nighthawk logs.
Note: If there are privacy concerns, sanitize the data prior to
sharing.
Call Stack:
If the Envoy binary is crashing, a call stack is required.
Please refer to the Bazel Stack trace documentation.