Tencent / tquic

A high-performance, lightweight, and cross-platform QUIC library
https://tquic.net/
Other
1.02k stars 82 forks source link

Build for target "aarch64-apple-ios-sim" failed #316

Closed greatdiviner closed 1 month ago

greatdiviner commented 1 month ago

Build for target "aarch64-apple-ios-sim" failed

To Reproduce Steps to reproduce the behavior: cargo build --target aarch64-apple-ios-sim --release -F ffi

Expected behavior Build for target "aarch64-apple-ios-sim" should succeed.

Additional context CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find Threads (missing: Threads_FOUND) Call Stack (most recent call first): /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE) /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FindThreads.cmake:226 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:574 (find_package)

glime-ai[bot] commented 1 month ago

It seems like the build process for the target aarch64-apple-ios-sim is failing due to a missing dependency on the Threads package. This issue is related to CMake not being able to find the necessary threading library.

To resolve this issue, you can try the following steps:

  1. Ensure CMake is properly installed: Make sure you have the latest version of CMake installed. You can install or update CMake using Homebrew:

    brew install cmake
    brew upgrade cmake
  2. Install Xcode Command Line Tools: Ensure that the Xcode command line tools are installed, as they provide necessary development libraries and tools.

    xcode-select --install
  3. Set up the Rust toolchain for iOS: Make sure you have the Rust toolchain for iOS installed:

    rustup target add aarch64-apple-ios x86_64-apple-ios
  4. Install cargo-lipo: cargo-lipo helps in creating universal libraries for iOS.

    cargo install cargo-lipo
  5. Build the TQUIC library: Try building the TQUIC library again with the following command:

    cargo lipo --features ffi --release

If the issue persists, you might need to manually specify the path to the threading library in your CMake configuration. You can do this by setting the CMAKE_THREAD_LIBS_INIT and CMAKE_HAVE_THREADS_LIBRARY variables in your CMakeLists.txt file.

For more detailed instructions, you can refer to the TQUIC installation documentation.

This comment was generated by Glime.

greatdiviner commented 1 month ago

Build for targets "x86_64-apple-ios" and "aarch64-apple-ios" succeeded as expected.

iyangsj commented 1 month ago

The "aarch64-apple-ios-sim" target is not currently supported, but future versions will include support for it.