Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to build the tap drivers in Github CI? #143

Open
yifanwww opened this issue Jun 26, 2021 · 5 comments
Open

How to build the tap drivers in Github CI? #143

yifanwww opened this issue Jun 26, 2021 · 5 comments

Comments

@yifanwww
Copy link

yifanwww commented Jun 26, 2021

  • EWDK

If executed python buildtap.py -b to use EWDK to build the tap drivers, there would be errors that The system cannot find the path specified.

Please see https://github.com/YF1999/tap-windows6/actions/runs/974225916 to find more information.

  • WDK

If executed python buildtap.py -b --sdk=wdk to use WDK to build the tap drivers, it failed to build the *.sys and *.cat files,

The build error:

"D:\a\tap-windows6\tap-windows6\src\tap-windows6.vcxproj" (default target) (1) ->
(Link target) -> 
  device.obj : error LNK2019: unresolved external symbol ___stdio_common_vsprintf referenced in function __vsnprintf_l [D:\a\tap-windows6\tap-windows6\src\tap-windows6.vcxproj]
  D:\a\tap-windows6\tap-windows6\src\Release\tap0901.sys : fatal error LNK1120: 1 unresolved externals [D:\a\tap-windows6\tap-windows6\src\tap-windows6.vcxproj]

Please see https://github.com/YF1999/tap-windows6/actions/runs/974221105 to find more information. The above error locates in the line 98.

How to fix the errors in order to build the drivers in Github CI?

@yifanwww
Copy link
Author

Also it failed to build the tap drivers in Appveyor CI, but Appveyor didn't think so.

Take 154d825 as an example, in the Appveyor CI logs, the errors are outputted at line 15, line 32 and line 50, but the final result outputted as Build success.

@yifanwww yifanwww changed the title How to compile the tap drivers in Github CI? How to build the tap drivers in Github CI? Jun 26, 2021
@mattock
Copy link
Member

mattock commented Jun 28, 2021

@YF1999 as far as I know you're the first person attempting to build tap-windows6 in GitHub CI. If you get it to work we would very much appreciate a pull request. I made some inquiries to see if somebody could give some advise to you here.

@lstipakov
Copy link
Member

There is apparently regression in VS build tools which might cause above error - microsoft/DMF#170.

Our new driver, ovpn-dco-win (https://github.com/openvpn/ovpn-dco-win), uses DMF and we got the same error, here is how we fixed/workarounded it: lstipakov/DMF@db1f3fe.

I personally haven't played with EWDK - I build tap-windows6 with WDK. There is GitHub actions support for ovpn-dco-win (https://github.com/OpenVPN/ovpn-dco-win/blob/master/.github/workflows/msbuild.yml), maybe something similar could be done to tap-windows6.

@introspection3
Copy link

it's too heavy for a normal user to build this project

@mattock
Copy link
Member

mattock commented Nov 6, 2021

@564064202 that is definitely true. That said, normal users should not rebuild this project. Patches to make building easier are always welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants