-
Notifications
You must be signed in to change notification settings - Fork 81
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
Cannot build the project #832
Comments
Try to build with previous commits may be helpful. ba3b5d0 works for me |
Thank you! It's good that I'm not alone! I'll try and post the result here! |
|
It looks like this is a gcc problem. Probably try to build with a clean environment using Dockerfile? I have no clue on this since I am not an expert in gcc. |
@k0eff thank you for the report. As @bryanwux indicated the attempted builds seem to be using gcc. The main supported way of building Nighthawk is with clang. Assuming there isn't a particular need to use gcc, could you try with clang? Try following this guide which has the steps needed to setup the build environment. If that works, we can look into improving our documentation. |
One more note - instead of running the bazel commands directly, could you try using our CI script which sets up the toolchains?
|
I am following the same guide you mentioned however it doesn't work. To sum up, lemme show my cloudinit script which executes on a pure Ubuntu 18.04 LTS. This setup is using the commit @bryanwux confirmed workin, following @mum4k's advice to use the
Here's a complete log of the build:
|
Thank you for including the details. The problem here is that Ubuntu 18.04 LTS defaults to Clang/LLVM 6+, while building Envoy according to their documentation requires Clang/LLVM 7+ with Clang/LLVM 9+ preferred. I haven't been able to build Envoy with anything below Clang/LLVM 12+. Note that Nighthawk uses Envoy internals, so building Envoy is a prerequisite to building Nighthawk. I would recommend building on a newer version of Ubuntu, since there isn't an obvious way of installing Clang/LLVM 12+ on Ubuntu 18.04 LTS (at least I didn't find one). I tested this on a fresh install of Ubuntu 20.04 LTS server. These are the steps I executed to get to a working build. These steps were run after the steps from your last comment here.
|
Nighthawk was built successfully! Hooray!
This is the cloudinit script which provisions everything needed on
|
Just for the protocol... something that's not obvious in the documentation -> Once there is a successful build one needs to run:
|
Thank you for confirming @k0eff. I have prepared #838 that updates the instructions in our README. Please feel free to review and comment. I also opened layer5io/getnighthawk#262 to discuss how to update the instructions on the getnighthawk page. |
Addresses concerns raised in #832 and #833. Signed-off-by: Jakub Sobon <[email protected]>
Closing this as we have addressed it in the Nighthawk's documentation. Once again thank you for reporting this @k0eff. |
Title: One line description
Can't build the project neither in Centos 7, nor in Debian 10, Ubuntu 18.04 LTS
Description:
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:
Please, anyone, provide a more detailed description what is required to build the project.
Reproduction steps:
Logs:
Call Stack:
The text was updated successfully, but these errors were encountered: