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

[Bug]: xqc_build.sh build iOS failed #33

Closed
ruiqizhou opened this issue Jan 11, 2022 · 6 comments · Fixed by #82
Closed

[Bug]: xqc_build.sh build iOS failed #33

ruiqizhou opened this issue Jan 11, 2022 · 6 comments · Fixed by #82
Assignees
Labels
🐞 bug Something isn't working

Comments

@ruiqizhou
Copy link
Collaborator

What happened?

As discussions #21 , build iOS failed using xqc_build.sh

Steps To Reproduce

As discussions #21

macOS 11.4
Xcode 12.5
cmake version 3.21.2

1.export IOS_CMAKE_TOOLCHAIN="xx/xquic/cmake/ios.toolchain.cmake"
2. sh xqc_build.sh ios ios_build ios_release xxx/xquic/third_party/boringssl

output:
[ 1%] Generating crypto_test_data.cc
make[2]: *** No rule to make target xxx/xquic/bssl_symbols.txt', needed by third_party/boringssl/symbol_prefix_include/boringssl_prefix_symbols.h'. Stop.
make[1]: *** [third_party/boringssl/CMakeFiles/boringssl_prefix_symbols.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 1%] Building CXX object third_party/boringssl/CMakeFiles/boringssl_gtest.dir/third_party/googletest/src/gtest-all.cc.o
[ 1%] Building CXX object third_party/boringssl/CMakeFiles/crypto_test_data.dir/crypto_test_data.cc.o
[ 1%] Built target crypto_test_data
[ 1%] Linking CXX static library ../../outputs/libboringssl_gtest.a
[ 1%] Built target boringssl_gtest
make: *** [all] Error 2

Relevant log output

No response

@ruiqizhou ruiqizhou added the 🐞 bug Something isn't working label Jan 11, 2022
@dourgulf
Copy link

Same problem

@lurker-Chen
Copy link
Collaborator

Same problem

#21

@ruiqizhou
Copy link
Collaborator Author

Same problem

Hi, there is a temporary solution: #21 (comment)

@dourgulf
Copy link

dourgulf commented Jan 13, 2022

Find a solution keep borningssl prefix

  1. Change borningssl CMakeLists.txt, remove the contents of the red box
    image

  2. Change xquic cmake/CMakeLists.txt,
    image
    comment line # include_directories(${SSL_PATH}/symbol_prefix_include)
    change to include_directories(${CMAKE_CURRENT_BINARY_DIR}/${SSL_PATH}/symbol_prefix_include)

  3. Change bssl_symbols.txt comment two line
    image

Note: I am not sure such two symbol really exported.

@lurker-Chen
Copy link
Collaborator

Thanks you for your solution ! It only needs to modify borningssl CMakeLists.txt. Change as what you do in step 1 or delete the command "DEPENDS util/make_prefix_headers.go ${CMAKE_BINARY_DIR}/${BORINGSSL_PREFIX_SYMBOLS} ". It is similar to https://stackoverflow.com/questions/4010212/cmake-struggling-with-add-custom-command-dependencies

@lurker-Chen
Copy link
Collaborator

It is not usually necessary to use prefix_symbols. If you really need the feature, you should update bssl_symbols.txt using util/read_symbols.go in boringssl when boringssl is updated.
image
https://github.com/google/boringssl/blob/master/BUILDING.md

@Kulsk Kulsk linked a pull request Feb 11, 2022 that will close this issue
@Kulsk Kulsk closed this as completed in #82 Feb 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants