godot: Cannot compile Godot with Mono: Windows certificate authentication issues.
Godot version: I’ve tried the 3.1 tag and e205cbb, both with and without my own custom changes for a C# feature I’m working on.
OS/device including version: Windows 10
Issue description: When attempting to make a Mono build of Godot, following the procedure in the docs, I encounter certificate authentication issues that I do not know how to fix.
Steps to reproduce:
- Clone the godot repository.
- Follow the instructions on building Godot with Mono support.
- Get prerequisite libraries and programs
- Run
mozroots --import --sync
. Downloads 155 root certificates. But it also states that it is deprecated and that you should usecert-sync
instead, which expects an argument in a “PEM” format. - No documentation mentions anything about this. There is no indication of anything following the PEM format, so I don’t know what I would plug into
cert-sync
anyway.
- Attempt to build godot with
scons platform=windows module_mono_enabled=yes mono_glue=no tools=yes
(I used-j6
too).
Observe the following error:
[100%] MSBuild auto-detection: using msbuild version '15.0' from 'C:\Program Files\Mono\lib\mono\msbuild\15.0\bin'.
WARNING: Error reading msbuild project information, ensure that your input solution or project file is valid. NETCore and UAP projects will be skipped, only packages.config files will be restored.
Restoring NuGet package DotNet.Glob.2.1.1.
WARNING: Unable to find version '2.1.1' of package 'DotNet.Glob'.
C:\Users\Will_Nations\.nuget\packages\: Package 'DotNet.Glob.2.1.1' is not found on source 'C:\Users\Will_Nations\.nuget\packages\'.
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'DotNet.Glob.2.1.1' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
https://api.nuget.org/v3/index.json: Unable to load the service index for source https://api.nuget.org/v3/index.json.
An error occurred while sending the request
Error: TrustFailure (Authentication failed, see inner exception.)
Authentication failed, see inner exception.
Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
at D:\j\workspace\build-package-win-mono\2019-02\external\boringssl\ssl\handshake_client.c:1132
WARNING: Unable to find version '2.1.1' of package 'DotNet.Glob'.
C:\Users\Will_Nations\.nuget\packages\: Package 'DotNet.Glob.2.1.1' is not found on source 'C:\Users\Will_Nations\.nuget\packages\'.
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'DotNet.Glob.2.1.1' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
https://api.nuget.org/v3/index.json: Unable to load the service index for source https://api.nuget.org/v3/index.json.
An error occurred while sending the request
Error: TrustFailure (Authentication failed, see inner exception.)
Authentication failed, see inner exception.
Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
at D:\j\workspace\build-package-win-mono\2019-02\external\boringssl\ssl\handshake_client.c:1132
Errors in packages.config projects
Unable to find version '2.1.1' of package 'DotNet.Glob'.
C:\Users\Will_Nations\.nuget\packages\: Package 'DotNet.Glob.2.1.1' is not found on source 'C:\Users\Will_Nations\.nuget\packages\'.
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'DotNet.Glob.2.1.1' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
https://api.nuget.org/v3/index.json: Unable to load the service index for source https://api.nuget.org/v3/index.json.
An error occurred while sending the request
Error: TrustFailure (Authentication failed, see inner exception.)
Authentication failed, see inner exception.
Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
at D:\j\workspace\build-package-win-mono\2019-02\external\boringssl\ssl\handshake_client.c:1132
NuGet Config files used:
C:\Users\Will_Nations\AppData\Roaming\NuGet\NuGet.Config
C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config
Feeds used:
C:\Users\Will_Nations\.nuget\packages\
https://api.nuget.org/v3/index.json
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
scons: *** [bin\GodotSharp\Tools\GodotSharpTools.dll] RuntimeError : GodotSharpTools: NuGet restore failed
Traceback (most recent call last):
File "C:\Users\Will_Nations\Documents\GitHub\godot\modules\mono\SCsub", line 312, in mono_build_solution
subprocess.check_call([nuget_path, 'restore', sln_path])
File "C:\Users\Will_Nations\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 328, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['C:\\Program Files\\Mono\\bin\\nuget.bat', 'restore', 'C:\\Users\\Will_Nations\\Documents\\GitHub\\godot\\modules\\mono\\editor\\GodotSharpTools\\GodotSharpTools.sln']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\will_nations\appdata\local\programs\python\python37\lib\site-packages\scons-3.0.1\SCons\Action.py", line 1197, in execute
result = self.execfunction(target=target, source=rsources, env=env)
File "C:\Users\Will_Nations\Documents\GitHub\godot\modules\mono\SCsub", line 314, in mono_build_solution
raise RuntimeError('GodotSharpTools: NuGet restore failed')
RuntimeError: GodotSharpTools: NuGet restore failed
scons: building terminated because of errors.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 23 (21 by maintainers)
Well, if I manually call nuget myself, then it works. It only DOESN’T work when using scons. As I mentioned, I was able to resolve the problem by following aaronfranke’s suggestion in the other Issue, but neikeq said that we shouldn’t have to do that, so I re-opened this Issue to help debug this use case of it failing without the user manually calling nuget.