tap-windows6
tap-windows6 copied to clipboard
How to build the tap drivers in Github CI?
- 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?
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.
@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.
There is apparently regression in VS build tools which might cause above error - https://github.com/microsoft/DMF/issues/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: https://github.com/lstipakov/DMF/commit/db1f3feadc5e59aae054e2e84ea1fa96a057036d.
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.
it's too heavy for a normal user to build this project
@564064202 that is definitely true. That said, normal users should not rebuild this project. Patches to make building easier are always welcome.