signalapp / libsignal

Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.
GNU Affero General Public License v3.0
3.06k stars 362 forks source link

Building Swift version failed #527

Closed dourgulf closed 9 months ago

dourgulf commented 1 year ago

Apple M1, MacOS 13.4.1, Xcode 14.3.1, cmake version is 3.26.4, rustc 1.69.0, cc version:

/usr/bin/cc --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Build operation:

  1. cd libsignal/swift
  2. ./build_ffi.sh error message:
    
    error: failed to run custom build command for `boring-sys v2.1.0 (https://github.com/signalapp/boring?branch=libsignal#3809a7e1)`

Caused by: process didn't exit successfully: /Users/lidawen/Documents/work/Github/libsignal/target/debug/build/boring-sys-34592c35e5aac295/build-script-build (exit status: 101) --- stdout cargo:rerun-if-env-changed=BORING_BSSL_PATH CMAKE_TOOLCHAIN_FILE_x86_64-apple-darwin = None CMAKE_TOOLCHAIN_FILE_x86_64_apple_darwin = None HOST_CMAKE_TOOLCHAIN_FILE = None CMAKE_TOOLCHAIN_FILE = None CMAKE_GENERATOR_x86_64-apple-darwin = None CMAKE_GENERATOR_x86_64_apple_darwin = None HOST_CMAKE_GENERATOR = None CMAKE_GENERATOR = None CMAKE_PREFIX_PATH_x86_64-apple-darwin = None CMAKE_PREFIX_PATH_x86_64_apple_darwin = None HOST_CMAKE_PREFIX_PATH = None CMAKE_PREFIX_PATH = None CMAKE_x86_64-apple-darwin = None CMAKE_x86_64_apple_darwin = None HOST_CMAKE = None CMAKE = None running: cd "/Users/lidawen/Documents/work/Github/libsignal/target/debug/build/boring-sys-b4bb0f7658375f39/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/Users/lidawen/.cargo/git/checkouts/boring-b37daebd62069023/3809a7e/boring-sys/deps/boringssl" "-DCMAKE_INSTALL_PREFIX=/Users/lidawen/Documents/work/Github/libsignal/target/debug/build/boring-sys-b4bb0f7658375f39/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -arch x86_64 -DOPENSSL_SMALL" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -arch x86_64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -arch x86_64 -DOPENSSL_SMALL" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Debug" -- The C compiler identification is AppleClang 14.0.3.14030022 -- The CXX compiler identification is AppleClang 14.0.3.14030022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc - broken -- Configuring incomplete, errors occurred!

--- stderr CMake Error at /usr/local/Cellar/cmake/3.26.4/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message): The C compiler

  "/usr/bin/cc"

is not able to compile a simple test program.

It fails with the following output:

  Change Dir: /Users/lidawen/Documents/work/Github/libsignal/target/debug/build/boring-sys-b4bb0f7658375f39/out/build/CMakeFiles/CMakeScratch/TryCompile-MK9n7L

  Run Build Command(s):/usr/local/Cellar/cmake/3.26.4/bin/cmake -E env VERBOSE=1 /usr/local/bin/gmake -f Makefile cmTC_b7ad9/fast && /usr/local/bin/gmake  -f CMakeFiles/cmTC_b7ad9.dir/build.make CMakeFiles/cmTC_b7ad9.dir/build
  gmake[1]: Entering directory '/Users/lidawen/Documents/work/Github/libsignal/target/debug/build/boring-sys-b4bb0f7658375f39/out/build/CMakeFiles/CMakeScratch/TryCompile-MK9n7L'
  Building C object CMakeFiles/cmTC_b7ad9.dir/testCCompiler.c.o
  /usr/bin/cc   -ffunction-sections -fdata-sections -fPIC -m64 -arch x86_64 -DOPENSSL_SMALL  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -MD -MT CMakeFiles/cmTC_b7ad9.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_b7ad9.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_b7ad9.dir/testCCompiler.c.o -c /Users/lidawen/Documents/work/Github/libsignal/target/debug/build/boring-sys-b4bb0f7658375f39/out/build/CMakeFiles/CMakeScratch/TryCompile-MK9n7L/testCCompiler.c
  clang: warning: using sysroot for 'MacOSX' but targeting 'iPhone' [-Wincompatible-sysroot]
  Linking C executable cmTC_b7ad9
  /usr/local/Cellar/cmake/3.26.4/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b7ad9.dir/link.txt --verbose=1
  /usr/bin/cc  -ffunction-sections -fdata-sections -fPIC -m64 -arch x86_64 -DOPENSSL_SMALL  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/usr/local/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/mysql@5.7/lib -L/usr/local/opt/opencv@3/lib -L/usr/local/opt/openssl@1.1/lib  CMakeFiles/cmTC_b7ad9.dir/testCCompiler.c.o -o cmTC_b7ad9
  clang: warning: using sysroot for 'MacOSX' but targeting 'iPhone' [-Wincompatible-sysroot]
  ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/14.0.3/lib/darwin/libclang_rt.ios.a, file is universal (armv7,armv7s,arm64,arm64e) but does not contain the x86_64 architecture: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/14.0.3/lib/darwin/libclang_rt.ios.a
  ld: warning: building for iOS, but linking in .tbd file (/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/lib/libSystem.tbd) built for macOS/Mac Catalyst
  ld: building for iOS, but linking in object file built for iOS Simulator, file 'CMakeFiles/cmTC_b7ad9.dir/testCCompiler.c.o' for architecture x86_64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  gmake[1]: *** [CMakeFiles/cmTC_b7ad9.dir/build.make:100: cmTC_b7ad9] Error 1
  gmake[1]: Leaving directory '/Users/lidawen/Documents/work/Github/libsignal/target/debug/build/boring-sys-b4bb0f7658375f39/out/build/CMakeFiles/CMakeScratch/TryCompile-MK9n7L'
  gmake: *** [Makefile:127: cmTC_b7ad9/fast] Error 2
jrose-signal commented 1 year ago

While this ought to work, I notice the build command is trying to build for x86_64, even though you didn't explicitly ask for that. Just to clarify, are you running this in a Rosetta/Intel terminal?

stale[bot] commented 9 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 9 months ago

This issue has been closed due to inactivity.