signalapp/ringrtc

make build on windows Error?

bilisakuratyan opened this issue · 5 comments

In the beginning, I was unable to build ringrtc on windows successfully following the guide, because there were something wrong with the path in windows while using the make command. I then modified the makefile trying to compiling on windows. now i have the new issue with generating vs project for webrtc.

the wrong is below:
image

The directory can be identified correctly on Mac or Linux, but it's wrong on windows. How can i fix that? Anyone who built it on windows successfully?

Hi @bilisakuratyan, this seems like it could be a symbolic link issue. Can you cd in to C:/Users/admin/Documents/Work/ringrtc/src/webrtc/ringrtc and do an ls or dir there? It should link back up to the src directory on the root.

Currently, our standard way to build on Windows is to use the Git bash shell, being sure to enable symbolic links when installing Git for Windows.

Hi @jim-signal, I changed your standard way to build it on Windows, using the Git bash shell.
The Git global config was below:
image

After download all webrtc source code, there were something wrong with running hooks win_toolchain, the error was below:
image

Following the tips it gave me, I set the environment variable DEPOT_TOOLS_WIN_TOOLCHAIN=0 on my PC and I also installed vs 2019 on my PC, but it still told me that Can't input load input file "ringrtc".

I can't cd into C:/Users/admin/Documents/Work/ringrtc/src/webrtc/ringrtc and do an ls or dir there.
The ringrtc directory atttribute was shown in Git shell as below:
image
This seems not like a link file.

Hi @bilisakuratyan, you can try deleting that ringrtc file and create the expected symbolic link. Before you do, check all these things:

  • Did you enable Developer Mode in Settings->Update & Security?
  • Did you install symbolic link support when installing Git (I am not sure if the config change is enough)?
  • You might need to run this in your shell first:
    export MSYS=winsymlinks:nativestrict

Now you should be able to run this command to make the link (from the src/webrtc/src directory of course):
$ ln -s ../../../src ringrtc

And $ ls -l should show something like this:
lrwxrwxrwx 1 admin 197121 12 Nov 27 15:00 ringrtc -> ../../../src/

This article might help if you still have issues: https://github.community/t/git-bash-symbolic-links-on-windows/522/10

Hi @jim-signal , I've done it. Thank you so much.

Before create the expected symbolic link, I did these things:

  • Delete the ringrtc file
  • Enable Developer Mode in Settings->Update & Security
  • Run Git shell as admin
  • Run export MSYS=winsymlinks:nativestrict in shell first

That's great @bilisakuratyan, we'll look at updating the documentation!