Skip to content
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

Fails to build on ARM64 (c6g AWS instance) #50

Open
mcseemk opened this issue Feb 3, 2021 · 5 comments
Open

Fails to build on ARM64 (c6g AWS instance) #50

mcseemk opened this issue Feb 3, 2021 · 5 comments

Comments

@mcseemk
Copy link

mcseemk commented Feb 3, 2021

Here is the output:

error: failed to run custom build command for `libmimalloc-sys v0.1.19`

Caused by:
process didn't exit successfully: `/home/mcs/src/multi/target/release/build/libmimalloc-sys-0cd8c55f2aa36adb/build-script-build` (exit code: 101)
--- stdout
running: "cmake" "/home/mcs/.cargo/registry/src/github.com-1ecc6299db9ec823/libmimalloc-sys-0.1.19/c_src/mimalloc" "-DMI_OVERRIDE=OFF" "-DMI_BUILD_TESTS=OFF" "-DMI_SECURE=OFF" "-DMI_LOCAL_DYNAMIC_TLS=OFF" "-Dmi_defines=MI_DEBUG=0" "-DCMAKE_SH=CMAKE_SH-NOTFOUND" "-DCMAKE_INSTALL_PREFIX=/home/mcs/src/multi/target/release/build/libmimalloc-sys-a04f8b08af99321d/out" "-DCMAKE_C_FLAGS= -static -ffunction-sections -fdata-sections -m64 -O3 -fpic -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Release"
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
-- Configuring incomplete, errors occurred!
See also "/home/mcs/src/multi/target/release/build/libmimalloc-sys-a04f8b08af99321d/out/build/CMakeFiles/CMakeOutput.log".
See also "/home/mcs/src/multi/target/release/build/libmimalloc-sys-a04f8b08af99321d/out/build/CMakeFiles/CMakeError.log".

--- stderr
CMake Error at /usr/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake:60 (message):
The C compiler

  "/usr/bin/cc"

is not able to compile a simple test program.

It fails with the following output:

  Change Dir: /home/mcs/src/multi/target/release/build/libmimalloc-sys-a04f8b08af99321d/out/build/CMakeFiles/CMakeTmp
  
  Run Build Command(s):/usr/bin/make cmTC_031fe/fast && /usr/bin/make -f CMakeFiles/cmTC_031fe.dir/build.make CMakeFiles/cmTC_031fe.dir/build
  make[1]: Entering directory '/home/mcs/src/multi/target/release/build/libmimalloc-sys-a04f8b08af99321d/out/build/CMakeFiles/CMakeTmp'
  Building C object CMakeFiles/cmTC_031fe.dir/testCCompiler.c.o
  /usr/bin/cc   -static -ffunction-sections -fdata-sections -m64 -O3 -fpic -ffunction-sections -fdata-sections -fPIC    -o CMakeFiles/cmTC_031fe.dir/testCCompiler.c.o   -c /home/mcs/src/multi/target/release/build/libmimalloc-sys-a04f8b08af99321d/out/build/CMakeFiles/CMakeTmp/testCCompiler.c
  cc: error: unrecognized command line option ‘-m64’
  make[1]: *** [CMakeFiles/cmTC_031fe.dir/build.make:66: CMakeFiles/cmTC_031fe.dir/testCCompiler.c.o] Error 1
  make[1]: Leaving directory '/home/mcs/src/multi/target/release/build/libmimalloc-sys-a04f8b08af99321d/out/build/CMakeFiles/CMakeTmp'
  make: *** [Makefile:121: cmTC_031fe/fast] Error 2
  
  



CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (project)


thread 'main' panicked at '
command did not execute successfully, got: exit code: 1
@cschin
Copy link

cschin commented Feb 7, 2021

I run into this same issue yesterday. I don't know the "right" solution. As it is describe in the error message, the compiler on AWS aarch64 instance does not support "-m64". I forked the code and removed the "-m64" from the build.rs and I pointed the line in my Cargo.toml to my forked repo to build. That worked. Maybe the correct way to do this is to detect the system architecture properly and set the complier options accordingly.

@cschin cschin mentioned this issue Feb 7, 2021
@thomcc
Copy link
Contributor

thomcc commented Mar 4, 2021

It's likely that #58 will fix this.

@repi
Copy link

repi commented Mar 5, 2021

Think so too, we are actively using #58 on aarch64-apple-darwin and aarch64-linux-android

@cschin
Copy link

cschin commented Mar 5, 2021

I will test #58 on AWS arrch64 later to confirm.

@cschin
Copy link

cschin commented Mar 5, 2021

#58 works on AWS Graviton aarch64. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants