pixiv / webrtc

This is a fork of WebRTC made by pixiv Inc.
https://github.com/pixiv/webrtc/blob/branch-heads/pixiv-m78/README.pixiv.md
BSD 3-Clause "New" or "Revised" License
112 stars 35 forks source link

not building #15

Closed ispysoftware closed 4 years ago

ispysoftware commented 4 years ago

The build instructions need to be updated. I'm guessing the initial fetch of webrtc needs to specify a specific version as the latest code is not compatible with pixiv code.

Following the instructions on https://webrtc.googlesource.com/src/+/refs/heads/master/docs/native-code/development/index.md (on ubuntu)

$ mkdir webrtc-checkout $ cd webrtc-checkout $ fetch --nohooks webrtc $ gclient sync

cd src git checkout master git new-branch test gn gen out/Default ninja -C out/Default

-- all builds fine

git fetch git@github.com:pixiv/webrtc.git git checkout FETCH_HEAD

cd sdk/dotnet/unity dotnet restore

-- edit unity.msbuildproj to set Targets to LinuxX64

dotnet msbuild

fails immediately with an error about Undefined identifier gtest_enable_absl_printers at //third_party/googletest/BUILD.gn:37:31

adding : gtest_enable_absl_printers = false enable_base_tracing = false to /src/build_overrides gets it past these errors but then fails with:

rtc_base/ip_address.h error G3B9C10A4: definition of implicit copy constructor for 'InterfaceAddress' is deprecated because it has a user-declared copy assignment operator

akihikodaki commented 4 years ago

I updated the description in README.pixiv.md with commit 3a351415ee0799bb08ba7c2e5ffdb89da636b718. I hope it will clarify steps you have to follow. https://github.com/pixiv/webrtc/blob/branch-heads/pixiv-m78/README.pixiv.md#build-procedure-of-the-unity-package

ispysoftware commented 4 years ago

thanks - but when I run gclient config --name=src --unmanaged https://github.com/pixiv/webrtc.git and gclient sync I end up with no pixiv code in the src/sdk directory - just the default google webrtc code is in there

akihikodaki commented 4 years ago

I guess you checked out a different commit. See the documentation of the upstream to check out a branch: https://webrtc.github.io/webrtc-org/native-code/development/#working-with-release-branches

ispysoftware commented 4 years ago

I ran exactly the commands you've got on the help page

ispysoftware commented 4 years ago

I got it building with my checkout, needed to run

gclient config --unmanaged --spec 'solutions=[{"name":"src","url":"https://www.github.com/ispysoftware/webrtc@origin/nudi"}]' gclient sync

..might want to check your build commands

akihikodaki commented 4 years ago

The instructions README.pixiv.md provides are minimal, and it does not specify the branch you will build. If you want to build branch-heads/pixiv-m78, check out the branch by following: https://webrtc.github.io/webrtc-org/native-code/development/#working-with-release-branches

ispysoftware commented 4 years ago

it'd save a massive amount of time if the instructions weren't minimal and actually told people how to build it - i've spent most of the last 5 days trying to work it out and I vaguely know what i'm doing.

I'm still not able to cross-compile for windows on linux for example. There's a whole load of steps you need to follow that aren't documented in one place and the documentation there is conflicts and/ or is out of date. It'd be -=really=- good to have current build instructions linked from the project readme.