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

Add a port file to vcpkg? #5

Closed
WeiDaiWD opened this issue May 12, 2021 · 8 comments
Closed

Add a port file to vcpkg? #5

WeiDaiWD opened this issue May 12, 2021 · 8 comments

Comments

@WeiDaiWD
Copy link

FYI, you can create a port file in vcpkg so that we can add a feature to SEAL:

./vcpkg install seal       # installs SEAL without HEXL
./vcpkg install seal[hexl] # installs SEAL with HEXL
@fboemer
Copy link
Contributor

fboemer commented May 14, 2021

Thanks for the tip! This would be a nice feature; we'll take a look.

@WeiDaiWD
Copy link
Author

Let me know if I can help.

@WeiDaiWD
Copy link
Author

I took the liberty of adding "hexl" to vcpkg, See pull request.
We want to add "building APSI with HEXL enabled" to Microsoft/APSI's readme. Since we recommend building dependencies of APSI via vcpkg, we need HEXL to be there. :)

There are requirements in vcpkg that makes this PR really difficult. I'm working on it. Basically, HEXL's downloading cpu-features is not allowed in vcpkg, since the better way is to install cpu-features from vcpkg and to call find_package(CpuFeatures ...) in HEXL. But cpu-features installed by vcpkg has an issue too, which make find_package(CpuFeatures ...) fail all the time. I might have to add patches to both packages.

Anyway, nothing requires any change in HEXL so far. This is likely to be approved next week.

@fboemer
Copy link
Contributor

fboemer commented May 24, 2021

I took the liberty of adding "hexl" to vcpkg, See pull request.
We want to add "building APSI with HEXL enabled" to Microsoft/APSI's readme. Since we recommend building dependencies of APSI via vcpkg, we need HEXL to be there. :)

There are requirements in vcpkg that makes this PR really difficult. I'm working on it. Basically, HEXL's downloading cpu-features is not allowed in vcpkg, since the better way is to install cpu-features from vcpkg and to call find_package(CpuFeatures ...) in HEXL. But cpu-features installed by vcpkg has an issue too, which make find_package(CpuFeatures ...) fail all the time. I might have to add patches to both packages.

Anyway, nothing requires any change in HEXL so far. This is likely to be approved next week.

Thanks, @WeiDaiWD! Let us know if you need any support from the hexl side.

@WeiDaiWD
Copy link
Author

WeiDaiWD commented May 24, 2021

FYI, two minor things that I've noticed:

  • cmake/HEXLConfig.cmakeis not ignored.
  • HEXLConfig.cmake, HEXLConfigVersion.cmake, HEXLTargets.cmake, and HEXLTargets-release.cmake are installed to /usr/local/lib/cmake rather than /usr/local/lib/cmake/HEXL (or better /usr/local/lib/cmake/HEXL-1.1).

These are unrelated to this issue. :)

@WeiDaiWD
Copy link
Author

WeiDaiWD commented Jun 9, 2021

Finally we have hexl added to vcpkg, this PR is merged. So now you can install hexl with ./vcpkg install hexl. On Windows, you have to use ./vcpkg install hexl:x64-windows-static or ./vcpkg install hexl:x64-windows-static-md. The reason why dynamic linking won't work on Windows is that HEXL does not export symbols.

I'm gonna add an option to install SEAL with HEXL enabled to vcpkg, e.g., ./vcpkg install seal[hexl] soon.

@WeiDaiWD WeiDaiWD closed this as completed Jun 9, 2021
@fboemer
Copy link
Contributor

fboemer commented Jun 9, 2021

Thanks, @WeiDaiWD! We'll see if we can fix the Windows dynamic build.

@WeiDaiWD
Copy link
Author

WeiDaiWD commented Jun 9, 2021

No pressure. I was just describing what is supported when installing via vcpkg. SEAL does not support windows dynamic either. :)

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

2 participants