Unable to build WebRTC fow Windows

236 views
Skip to first unread message

Jose Antonio Olivera Ortega

unread,
Feb 6, 2017, 11:28:36 AM2/6/17
to discuss-webrtc, kjell...@google.com
Hi there!

I am stuck trying to build WebRTC for Windows.

These are the GN arguments I am using (not relevan I guess but anyway):

gn_args='rtc_include_tests=false is_debug=false rtc_enable_protobuf=false target_os="win" target_cpu="x64" is_component_build=false'

The ouput I get when running ninja is:

ninja: Entering directory `src\out\Release_x64'
ninja: error: '../../third_party/winsdk_samples/src/Samples/multimedia/directshow/baseclasses/amextra.cpp', needed by 'obj/third_party/winsdk_samples/winsdk_samples/amextra.obj', missing and no known rule to make it

I tried to touch the BUILD.gn files to try to remove the need of building the samples but there seems to be a dependency between the sample code and the video capture implementation.

Adding +Henrik Kjellander as I see him in the BUILD.gn file at https://chromium.googlesource.com/external/webrtc/+/branch-heads/56/third_party/winsdk_samples/OWNERS

Cheers,
jaoo

Jose Antonio Olivera Ortega

unread,
Feb 6, 2017, 1:10:09 PM2/6/17
to discuss-webrtc, kjell...@google.com
Hi there!

One comment I forgot. I do not see where the code of these samples lives. At https://chromium.googlesource.com/external/webrtc/+/branch-heads/56/third_party/winsdk_samples/BUILD.gn#10 it points to `src/Samples/multimedia/directshow/baseclasses` but I do not have this folder in my local tree once I finish the WebRTC clone.

Cheers,
jaoo.

Henrik Kjellander

unread,
Feb 6, 2017, 1:20:52 PM2/6/17
to discuss-webrtc
I'm quite sure you must have an outdated checkout. The paths in your error tells me the build output you have is from before this change: https://codereview.webrtc.org/2588333002/diff/40001/DEPS

If you just wipe your out/ folder (or run gen clean out/Release_x64 and then rebuild, it should be fine, assuming you have run gclient sync to get all the updated dependencies.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrtc+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/6d53fc02-2064-48ab-a5dc-7ba7c2e1603c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jose Antonio Olivera Ortega

unread,
Feb 8, 2017, 7:12:02 AM2/8/17
to discuss-webrtc
Hi there!

Thanks Henrik.

I am working on 56 branch so sadly the patch does not apply cleanly. After poking around a bit I noticed (in 56) the content of `third_party/winsdk_samples` folder comes from two different repositories. Let me explain myself. I fetch the WebRTC code in two steps, first I run |gclient sync -n -D --with_branch_heads| checkout 56 branch and then in a second step I run |gclient runhooks|. After the first step the content of `third_party/winsdk_samples` folder is what you see at https://chromium.googlesource.com/external/webrtc/+/branch-heads/56/third_party/winsdk_samples. After the second the step the content of https://chromium.googlesource.com/external/webrtc/deps/third_party/winsdk_samples_v71/+/e71b549167a665d7424d6f1dadfbff4b4aad1589 gets added (because of https://chromium.googlesource.com/external/webrtc/+/branch-heads/56/DEPS#22) to `third_party/winsdk_samples` folder. My build fails because in the resulting `third_party/winsdk_samples` folder I do not have a `src` subfolder and it is part of the path at https://chromium.googlesource.com/external/webrtc/+/branch-heads/56/third_party/winsdk_samples/BUILD.gn#10.

I managed to get aroung this issue by patching `third_party/winsdk_samples/BUILD.gn` file.
Cheers,
jaoo.


On Monday, 6 February 2017 19:20:52 UTC+1, Henrik Kjellander wrote:
I'm quite sure you must have an outdated checkout. The paths in your error tells me the build output you have is from before this change: https://codereview.webrtc.org/2588333002/diff/40001/DEPS

If you just wipe your out/ folder (or run gen clean out/Release_x64 and then rebuild, it should be fine, assuming you have run gclient sync to get all the updated dependencies.
On Mon, Feb 6, 2017 at 7:10 PM, Jose Antonio Olivera Ortega <josea....@gmail.com> wrote:
Hi there!

One comment I forgot. I do not see where the code of these samples lives. At https://chromium.googlesource.com/external/webrtc/+/branch-heads/56/third_party/winsdk_samples/BUILD.gn#10 it points to `src/Samples/multimedia/directshow/baseclasses` but I do not have this folder in my local tree once I finish the WebRTC clone.

Cheers,
jaoo.


On Monday, 6 February 2017 17:28:36 UTC+1, Jose Antonio Olivera Ortega wrote:
Hi there!

I am stuck trying to build WebRTC for Windows.

These are the GN arguments I am using (not relevan I guess but anyway):

gn_args='rtc_include_tests=false is_debug=false rtc_enable_protobuf=false target_os="win" target_cpu="x64" is_component_build=false'

The ouput I get when running ninja is:

ninja: Entering directory `src\out\Release_x64'
ninja: error: '../../third_party/winsdk_samples/src/Samples/multimedia/directshow/baseclasses/amextra.cpp', needed by 'obj/third_party/winsdk_samples/winsdk_samples/amextra.obj', missing and no known rule to make it

I tried to touch the BUILD.gn files to try to remove the need of building the samples but there seems to be a dependency between the sample code and the video capture implementation.

Adding +Henrik Kjellander as I see him in the BUILD.gn file at https://chromium.googlesource.com/external/webrtc/+/branch-heads/56/third_party/winsdk_samples/OWNERS

Cheers,
jaoo

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.

Hooman

unread,
Mar 6, 2018, 6:18:26 PM3/6/18
to discuss-webrtc
I'm running into exactly the same issue. Looks like the winsdk_samples is only downloaded when checkout_win condition is met:


How can I set this condition?

Hooman

unread,
Mar 7, 2018, 1:50:59 PM3/7/18
to discuss-webrtc
I should add that I'm cross compiling for Windows on a Linux machine.
Reply all
Reply to author
Forward
0 new messages