Closed goldsoft8888 closed 6 years ago
Yes. Ubuntu 16.04.3 x64
I will double check the instructions, test them, and update you in about 8 hours if you're not in a rush. :-)
Vahid
Thanks
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
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$
I passed this stage without any problem. Could you please check if you can download the following URL manually?
Bests, Vahid
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
@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
@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
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/
@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
Or a report error There should be no such path 3rd-Party-Libs
@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.
@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
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 ../)
@goldsoft8888,
Thanks for your attention! I hope now it works fine for you. :-)
Vahid
Thank,
Finally, the success was done.
Complete compilation from WETRTC to IPOP
Next,
Want to implement the compilation of IPOP to OPENWRT X86.
Issue resolved.
~/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?