ipop-project / ipop-project.github.io

Current Wiki and Documentation for IPOP
http://ipop-project.github.io/
87 stars 30 forks source link

WEBRTC gclient sync fail,What did I do wrong? #50

Closed goldsoft8888 closed 6 years ago

goldsoft8888 commented 6 years ago

~/webrtc-checkout$ fetch --no-history --nohooks webrtc

Running: gclient root Running: gclient config --spec 'solutions = [ { "url": "https://webrtc.googlesource.com/src.git", "managed": False, "name": "src", "deps_file": "DEPS", "custom_deps": {}, }, ] ' Running: gclient sync --nohooks --no-history --with_branch_heads Running: git submodule foreach 'git config -f $toplevel/.git/config submodule.$name.ignore all' Running: git config --add remote.origin.fetch '+refs/tags/:refs/tags/' Running: git config diff.ignoreSubmodules all

~/webrtc-checkout/src$ git branch -r branch-heads/3.50 branch-heads/3.51 branch-heads/3.52 branch-heads/3.53 branch-heads/3.54 branch-heads/3.55 branch-heads/38 branch-heads/38p branch-heads/39 branch-heads/39p branch-heads/40 branch-heads/40p branch-heads/41 branch-heads/41p branch-heads/42 branch-heads/42p branch-heads/43 branch-heads/44 branch-heads/45 branch-heads/46 branch-heads/47 branch-heads/48 branch-heads/49 branch-heads/50 branch-heads/51 branch-heads/52 branch-heads/53 branch-heads/54 branch-heads/55 branch-heads/56 branch-heads/57 branch-heads/58 branch-heads/59 branch-heads/60 branch-heads/61 branch-heads/62 branch-heads/63 origin/HEAD -> origin/master origin/master

~/webrtc-checkout/src$ git checkout branch-heads/57 之前的 HEAD 位置是 a319931... Generate JNI code for built in Integer class HEAD 目前位于 52b6562... Merge to 57: Clear out cached codecs when calculating new codec lists.

~/webrtc-checkout/src$ gclient sync ____ running '/usr/bin/python src/cleanup_links.py' in '/home/xvpn/webrtc-checkout' Syncing projects: 36% (11/30) src/third_party

src/buildtools (ERROR)

[0:00:00] Started.

Error: Command 'git checkout --quiet cb12d6e8641f0c9b0fbbfa4bf17c55c6c0d3c38f' returned non-zero exit status 128 in /home/xvpn/webrtc-checkout/src/buildtools fatal: reference is not a tree: cb12d6e8641f0c9b0fbbfa4bf17c55c6c0d3c38f


What did I do wrong?

vahid-dan commented 6 years ago

Hi;

Are you building on Ubuntu using these instructions?

Vahid

goldsoft8888 commented 6 years ago

Yes. Ubuntu 16.04.3 x64

vahid-dan commented 6 years ago

I will double check the instructions, test them, and update you in about 8 hours if you're not in a rush. :-)

Vahid

goldsoft8888 commented 6 years ago

Thanks

vahid-dan commented 6 years ago

There was a problem with the instructions which I correct. Just removed --no-history from the fetch command. Since we check out an older release, we need the history:

fetch --nohooks webrtc

Sorry for the inconvenience and thanks for reporting the issue. Please try again and let me know if you have any problems. :-)

Bests, Vahid

goldsoft8888 commented 6 years ago

ubuntu@ipop:~$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 正克隆到 'depot_tools'... remote: Sending approximately 16.80 MiB ... remote: Total 24681 (delta 18037), reused 24681 (delta 18037) 接收对象中: 100% (24681/24681), 16.80 MiB | 3.11 MiB/s, 完成. 处理 delta 中: 100% (18037/18037), 完成. 检查连接... 完成。 ubuntu@ipop:~$ ubuntu@ipop:~$ export PATH=pwd/depot_tools:"$PATH" ubuntu@ipop:~$ ubuntu@ipop:~$ mkdir webrtc-checkout ubuntu@ipop:~$ ubuntu@ipop:~$ cd webrtc-checkout ubuntu@ipop:~/webrtc-checkout$ ubuntu@ipop:~/webrtc-checkout$ fetch --nohooks webrtc Running: gclient root Running: gclient config --spec 'solutions = [ { "url": "https://webrtc.googlesource.com/src.git", "managed": False, "name": "src", "deps_file": "DEPS", "custom_deps": {}, }, ] ' Running: gclient sync --nohooks --with_branch_heads Running: git submodule foreach 'git config -f $toplevel/.git/config submodule.$name.ignore all' Running: git config --add remote.origin.fetch '+refs/tags/:refs/tags/' Running: git config diff.ignoreSubmodules all ubuntu@ipop:~/webrtc-checkout$ ubuntu@ipop:~/webrtc-checkout$ cd src ubuntu@ipop:~/webrtc-checkout/src$ ubuntu@ipop:~/webrtc-checkout/src$ git checkout branch-heads/57 之前的 HEAD 位置是 09819ec... Improve the rtc::Buffer docs HEAD 目前位于 52b6562... Merge to 57: Clear out cached codecs when calculating new codec lists. ubuntu@ipop:~/webrtc-checkout/src$ gclient sync Bootstrapping cipd client for linux-amd64 from https://chrome-infra-packages.appspot.com/client?platform=linux-amd64&version=git_revision:d2677a4477e59cb7de00f1fb8a00e96b1aaeb927... ____ running '/usr/bin/python src/cleanup_links.py' in '/home/ipop/webrtc-checkout' Syncing projects: 100% (33/33), done.
Running hooks: 52% (19/36) sysroot
____ running '/usr/bin/python src/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' in '/home/ipop/webrtc-checkout' Installing Debian Wheezy amd64 root image: /home/ipop/webrtc-checkout/src/build/linux/debian_wheezy_amd64-sysroot Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/08b780f0ee9b1c60724ad8c8024bd84cc8a6d928/debian_wheezy_amd64_sysroot.tgz Failed to download https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/08b780f0ee9b1c60724ad8c8024bd84cc8a6d928/debian_wheezy_amd64_sysroot.tgz Error: Command '/usr/bin/python src/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' returned non-zero exit status 1 in /home/ipop/webrtc-checkout ubuntu@ipop:~/webrtc-checkout/src$

vahid-dan commented 6 years ago

I passed this stage without any problem. Could you please check if you can download the following URL manually?

https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/08b780f0ee9b1c60724ad8c8024bd84cc8a6d928/debian_wheezy_amd64_sysroot.tgz

Bests, Vahid

goldsoft8888 commented 6 years ago

Thank you. It has been compiled. But I'm not sure whether it's on the 57 branch. When I'm switching to branches in other GIT software, there's a clear hint, and WEBRTC doesn't have it.


ubuntu@ipop:~$ git clone https://git.lede-project.org/source.git lede 正克隆到 'lede'... remote: Counting objects: 402783, done. remote: Compressing objects: 100% (113993/113993), done. remote: Total 402783 (delta 276127), reused 396886 (delta 271409) 接收对象中: 100% (402783/402783), 132.90 MiB | 706.00 KiB/s, 完成. 处理 delta 中: 100% (276127/276127), 完成. 检查连接... 完成。 ubuntu@ipop:~$ ubuntu@ipop:~$ ubuntu@ipop:~$ ubuntu@ipop:~$ cd lede ubuntu@ipop:~/lede$ git branch -a

vahid-dan commented 6 years ago

@goldsoft8888,

You're welcome. :-) If you have followed the build instructions, you should be fine. You have already switched to branch-heads/57 after fetch and before gclient sync:

cd src
git checkout branch-heads/57

If you're willing to build IPOP Tincan right now, use my Tincan repo instead of the original Tincan repo:

https://github.com/vahid-dan/Tincan

Mine is currently 5 commits ahead. We have updated the IPOP building instructions based on my recent changes and it has not been reflected in the original repo, yet. It should be done by tomorrow, though.

Vahid

vahid-dan commented 6 years ago

@goldsoft8888,

We merged the changes into the main Tincan repo and now it is safe to build IPOP following the instructions on GitHub Wiki.

Vahid

goldsoft8888 commented 6 years ago

It's stuck here, The path is a little confusing. Maybe you need to update the documentation

Copy the WebRTC Libraries to TinCan

These freshly built libraries will replace the existing libraries.

Currently the libraries we need from out/Debug_x64 and out/Release_x64 are:

ar -rcs /home/kcratie/workspace/ipop-project/Tincan/external/lib/debug_x64/linux/libboringssl_asm.a out/debug-x64/obj/third_party/boringssl/boringssl_asm/aes-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/aesni-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/bsaes-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/vpaes-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/rsaz-avx2.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/x86_64-mont.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/x86_64-mont5.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/chacha-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/p256-x86_64-asm.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/md5-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/ghash-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/rdrand-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/sha1-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/sha256-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/sha512-x86_64.o out/debug-x64/obj/third_party/boringssl/boringssl_asm/x25519-asm-x86_64.o

ar -rcs /home/kcratie/workspace/ipop-project/Tincan/external/lib/debug_x64/linux/libjsoncpp.a out/debug-x64/obj/third_party/jsoncpp/jsoncpp/json_reader.o out/debug-x64/obj/third_party/jsoncpp/jsoncpp/json_value.o out/debug-x64/obj/third_party/jsoncpp/jsoncpp/json_writer.o

cp ./out/debug-x64/obj/third_party/boringssl/libboringssl.a ../../ipop-project/Tincan/external/lib/debug_x64/linux/ cp ./out/debug-x64/obj/webrtc/system_wrappers/libfield_trial_default.a ../../ipop-project/Tincan/external/lib/debug_x64/linux/ cp ./out/debug-x64/obj/webrtc/base/librtc_base.a ../../ipop-project/Tincan/external/lib/debug_x64/linux/ cp ./out/debug-x64/obj/webrtc/base/librtc_base_approved.a ../../ipop-project/Tincan/external/lib/debug_x64/linux/ cp ./out/debug-x64/obj/webrtc/p2p/librtc_p2p.a ../../ipop-project/Tincan/external/lib/debug_x64/linux/ cp ./out/debug-x64/obj/third_party/protobuf/libprotobuf_lite.a ../../ipop-project/Tincan/external/lib/debug_x64/linux/

ar -rcs /home/kcratie/workspace/ipop-project/Tincan/external/lib/release_x64/linux/libboringssl_asm.a out/release-x64/obj/third_party/boringssl/boringssl_asm/aes-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/aesni-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/bsaes-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/vpaes-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/rsaz-avx2.o out/release-x64/obj/third_party/boringssl/boringssl_asm/x86_64-mont.o out/release-x64/obj/third_party/boringssl/boringssl_asm/x86_64-mont5.o out/release-x64/obj/third_party/boringssl/boringssl_asm/chacha-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/p256-x86_64-asm.o out/release-x64/obj/third_party/boringssl/boringssl_asm/md5-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/ghash-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/rdrand-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/sha1-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/sha256-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/sha512-x86_64.o out/release-x64/obj/third_party/boringssl/boringssl_asm/x25519-asm-x86_64.o

ar -rcs /home/kcratie/workspace/ipop-project/Tincan/external/lib/release_x64/linux/libjsoncpp.a out/release-x64/obj/third_party/jsoncpp/jsoncpp/json_reader.o out/release-x64/obj/third_party/jsoncpp/jsoncpp/json_value.o out/release-x64/obj/third_party/jsoncpp/jsoncpp/json_writer.o

cp ./out/release-x64/obj/third_party/boringssl/libboringssl.a ../../ipop-project/Tincan/external/lib/release_x64/linux/ cp ./out/release-x64/obj/webrtc/system_wrappers/libfield_trial_default.a ../../ipop-project/Tincan/external/lib/release_x64/linux/ cp ./out/release-x64/obj/webrtc/base/librtc_base.a ../../ipop-project/Tincan/external/lib/release_x64/linux/ cp ./out/release-x64/obj/webrtc/base/librtc_base_approved.a ../../ipop-project/Tincan/external/lib/release_x64/linux/ cp ./out/release-x64/obj/webrtc/p2p/librtc_p2p.a ../../ipop-project/Tincan/external/lib/release_x64/linux/ cp ./out/release-x64/obj/third_party/protobuf/libprotobuf_lite.a ../../ipop-project/Tincan/external/lib/release_x64/linux/

vahid-dan commented 6 years ago

@goldsoft8888,

I just double-checked the documentation and updated them based on the new changes. It should be fine now. Please try again and let me know if you have any other problems.

Thanks for trying our VPN. :-)

Bests, Vahid

goldsoft8888 commented 6 years ago

Or a report error There should be no such path 3rd-Party-Libs

kcratie commented 6 years ago

@goldsoft8888 - You do not need to 'ar' the WebRTC object files as you indicated in your earlier post. The prebuilt libs are available in github.com/ipop-project/3rd-Party-Libs.git. It used when building the Tincan Master branch and it should be cloned into directory ipop-project/Tincan/external/ However, at this time I would recommend using branch "bh1" on repositories Tincan and Controllers as a stable release.

vahid-dan commented 6 years ago

@goldsoft8888,

You should create the 3rd-Party-Libs directory manually after cloning the Tincan repo and before copying the libraries there:

mkdir -p ipop-project/Tincan/external/3rd-Party-Libs/release ipop-project/Tincan/external/3rd-Party-Libs/debug

It was omitted from the documentation. Sorry about that. I just updated it, again.

We have already built required WebRTC libraries for IPOP:

https://github.com/ipop-project/3rd-Party-Libs

If you don't need to build them yourself, it is easier to use ours.

Anyway, the build instructions for WebRTC libraries and IPOP should be fine. If there is a problem, please let me know.

Bests, Vahid

goldsoft8888 commented 6 years ago

After testing, we found the details that needed to be modified.
mkdir ~/workspace/ (add)
cd ~/workspace/

Webrtc-checkout/src/out/...
../webrtc-checkout/src/out/... (add all this path ../)

vahid-dan commented 6 years ago

@goldsoft8888,

Thanks for your attention! I hope now it works fine for you. :-)

Vahid

goldsoft8888 commented 6 years ago

Thank,
Finally, the success was done.
Complete compilation from WETRTC to IPOP Next, Want to implement the compilation of IPOP to OPENWRT X86.

vahid-dan commented 6 years ago

Issue resolved.