smfrpc / smf

Fastest RPC in the west

Home Page:http://smfrpc.github.io/smf/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Manual build script appears broken under Fedora 31, Ubuntu 19.04, 20.04.

jriehl opened this issue · comments

Describe the bug
Running the build script errors out with the following message:

ninja: build stopped: subcommand failed.
CMake Error at CMakeLists.txt:51 (message):
  Build step for deps-build failed: 1


-- Configuring incomplete, errors occurred!
See also "/root/smf/build/release/CMakeFiles/CMakeOutput.log".

I get this not just on Ubuntu 19.04, but also Ubuntu 20.04, and Fedora 31.

To Reproduce
Steps to reproduce the behavior:

  1. docker run -it ubuntu:disco
  2. apt update -y && apt upgrade -y
  3. apt install git
  4. git clone https://github.com/smfrpc/smf.git
  5. cd smf
  6. ./install-deps.sh
  7. ./tools/build.sh -r
  8. Build fails per text above.

Expected behavior
I expected a successful release build.

Environment Info

  • Ubuntu 19.04, 20.04, and Fedora 31 running in Docker containers
  • On current master branch.
  • GCC 8 and 9

Hi Jon, thanks for bringing this up. I haven't updated this repo in a littlebit. I'll sync up seastar and push the fixes for it soon. Let me know if you want to push a fix for it too.

Thanks for reporting.

/cc @ivotron maybe we also host this in vectorizedio pipeline? just a thought.

I'd be glad to help if you could provide some pointers. One of the frustrating things I found while hacking on this, was the actual error is buried deep in the console output. Even then, it wasn't obvious to me what exactly blew up.

my hunch is that we are pulling in some old seastar lib and we haven't updated the compiler & libs to include the latest seastar fixes. this repo has been frozen for a few months.

Let me try to push a fix for this tom

Taking a look at this today. Can you post the full cmake error log.

i tried testing today but f31 upgraded to cgroups2 and docker-ce wasn't starting. if you can upload the full log, I'll try to debug it @jriehl

Here's the output from both ninja (by way of the build script) and cmake:
build.sh.out.gz
CMakeOutput.log.gz

perf thanks. looking

ok can reproduce with podman run -it ubuntu:disco seeing the deps, they haven't been updated here in a while.

that's basically the issue. seastar and dpdk have advanced. I'm gna sync w/ upstream

ok i looked into this a little bit. looks like some deps are just old and need to be updated.

Currently the build is very close to being 100% reproducible, but due to my lack of time, I might switch it to the packages maintained by each operating system (apt-get and dnf-install)

What we do today is we build each (almost all) transitive packages from source at known checksums so we have confidence in what we build, but this requires a ton of maintiner's time I'm lacking these days.

I'll try to take another hr later today on this.