tikv / jemallocator

Rust allocator using jemalloc as a backend
Other
347 stars 58 forks source link

Unable to Build Jemallocator on x86_64-unknown-linux-gnu Host #32

Closed Alexhuszagh closed 2 years ago

Alexhuszagh commented 2 years ago

If I use jemallocator as a dependency in a crate, I have no issues. However, if attempting to build from source, even I get that it cannot find Makefile.in when configuring. I've tried off of the latest commit and v0.4.3: both give the same error.

$ git clone https://github.com/tikv/jemallocator
$ cd jemallocator
$ cargo +stable build                                                                                                                                               
   Compiling cc v1.0.73                                                                                                                                                                             
   Compiling fs_extra v1.2.0                                                                                                                                                                        
   Compiling libc v0.2.126                                                                                                                                                                          
   Compiling tikv-jemalloc-sys v0.4.3+5.2.1-patched.2 (/home/ahuszagh/Desktop/cross/jemallocator/jemalloc-sys)                                                                                      
error: failed to run custom build command for `tikv-jemalloc-sys v0.4.3+5.2.1-patched.2 (/home/ahuszagh/Desktop/cross/jemallocator/jemalloc-sys)`

Caused by:
  process didn't exit successfully: `/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-c18d6588680988a9/build-script-build` (exit status: 101)
  --- stdout
  TARGET=x86_64-unknown-linux-gnu
  HOST=x86_64-unknown-linux-gnu
  NUM_JOBS=4
  OUT_DIR="/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out"
  BUILD_DIR="/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out/build"
  SRC_DIR="/home/ahuszagh/Desktop/cross/jemallocator/jemalloc-sys"
  cargo:rustc-cfg=prefixed
  OPT_LEVEL = Some("0")
  TARGET = Some("x86_64-unknown-linux-gnu")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_x86_64-unknown-linux-gnu = None
  CC_x86_64_unknown_linux_gnu = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-unknown-linux-gnu = None
  CFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  CC="cc"
  CFLAGS="-O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -m64 -Wall"
  JEMALLOC_REPO_DIR="jemalloc"
  --with-jemalloc-prefix=_rjem_
  running: "sh" "/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out/build/configure" "--disable-cxx" "--with-jemalloc-prefix=_rjem_" "--with-privat
e-namespace=_rjem_" "--host=x86_64-unknown-linux-gnu" "--build=x86_64-unknown-linux-gnu" "--prefix=/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out"
  running: "tail" "-n" "100" "/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out/build/config.log"

  --- stderr
  configure: error: cannot find sources (Makefile.in) in /home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out/build or ..
  tail: cannot open '/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out/build/config.log' for reading: No such file or directory
  thread 'main' panicked at 'command did not execute successfully: "tail" "-n" "100" "/home/ahuszagh/Desktop/cross/jemallocator/target/debug/build/tikv-jemalloc-sys-4d419ffe226008a6/out/build/config.log"
  expected success, got: exit status: 1', jemalloc-sys/build.rs:338:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I should have all build dependencies installed, and here is my toolchain info:

I'm using rust1.61.0 (fe5b13d68 2022-05-18) have sh, automake, make, m4, cmake, gcc, gcc-c++, and all of build-essential (except for Fedora, but I have a complete toolchain and then some). on Fedora 36. Am I doing something silly or is this an issue?

The context is I wish to determine if the following bugs still replicate, since I believe it's probably been fixed over the years.

BusyJay commented 2 years ago

Make sure you have clone the submodules. This should usually be done by git submodule update --init.