microsoft / SymCrypt

Cryptographic library
MIT License
660 stars 68 forks source link

Publics cache #4

Closed woachk closed 5 years ago

woachk commented 5 years ago

Hi,

After setting up a Windows 10 Razzle environment, and building this on a regular machine, I can see that the build reaches the "Do not know how to populate publics cache" error when building using this repository.

Is that usual? image

Note that this didn't prevent symcrypt.lib from being built, althrough the tests cannot run in this case, because of missing rsa32 and bignum libraries, which are supposed to be located there.

Thanks,

NielsFerguson commented 5 years ago

The current SymCrypt build system relies on the Windows Razzle environment which is not public. Please contact me directly if you need to build SymCrypt within Razzle.

We'd like to switch to a more suitable build system, but finding time is always a problem...

woachk commented 5 years ago

@NielsFerguson done, if you need more information, ask me.

I'll end this on a note that Razzle* has been put under shared source as a part of the .NET SSCLI effort previously, and was ported to Unix too as a part of that effort. Rotor itself ended up as the PAL used today on .NET Core and ChakraCore, implementing Win32 APIs for Unices, and licensed under MIT.

As it was already open-sourced under the MS shared-source license, maybe there's a possibility to open it to MIT instead of porting this especially as SymCrypt is far from the first project affected by such an issue.

NielsFerguson commented 5 years ago

Thanks @woachk; I didn't know that Razzle had been open-sourced as well. The 'symcrypt publics' contain the header files and libraries for two other crypto libraries. Unfortunately we're not in a position to share those. One of them is licensed from a 3rd party and we don't own the copyright so we can't share it at all.

At some point in time we'll need to create a build of SymCryptUnitTest that can be configured to build without these libraries, but it simply isn't a priority right now.

mlindgren commented 3 years ago

FYI, we now have the ability to build the unit test without these dependencies. In the current branch it requires some editing of the CMake files, but we'll be pushing a new version soon which defaults to building without the internal dependencies.