vowpal_wabbit icon indicating copy to clipboard operation
vowpal_wabbit copied to clipboard

Create VCPKG package for VowpalWabbit

Open jackgerrits opened this issue 5 years ago • 7 comments

Vcpkg is a C++ dependency management system that makes installation and consumption as a dependency very easy. We should support this for VW to allow consuming the lib as easy as possible.

Instructions for creating a new package can be found here: https://github.com/microsoft/vcpkg/blob/master/docs/examples/packaging-github-repos.md

jackgerrits avatar Jan 17 '20 19:01 jackgerrits

hello @jackgerrits I would love to work on this as a first issue. Could you please guide me to what particular C++ files to package with it. I am having trouble finding them in the repo. It would be great to get a head start.

bhavukkalra avatar Feb 26 '20 13:02 bhavukkalra

I had a first crack at this a few weeks ago and this issue is actually blocked on symbol export issues we noticed in #2235. Before we can reasonably create a VCPKG package all of the internal libs need to properly export symbols for when they are built as dynamic libs.

jackgerrits avatar Feb 26 '20 13:02 jackgerrits

@jackgerrits I am a beginner and want to contribute to Vowpal Wabbit. Is the symbol export issue resolved?

dnabanita7 avatar Nov 06 '20 13:11 dnabanita7

I am not sure if that issue is properly resolved. I'd say we are not likely in a good enough spot for this yet. But if you'd like to hack on it please feel free.

jackgerrits avatar Nov 06 '20 15:11 jackgerrits

I will first try the previous issue then hop into symbol export issue.

dnabanita7 avatar Nov 06 '20 15:11 dnabanita7

To help move this issue forward: it isn't a requirement to support building as a DLL on Windows to be packaged into vcpkg. The recipe can simply add the following to the top to indicate it must be built as a static library:

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

ras0219-msft avatar May 09 '22 22:05 ras0219-msft

Thanks for the info @ras0219-msft! I had noticed that one a couple of months ago and was excited to learn it is possible. Haven't had a chance to get around to this issue and it hasn't made it to the top of the backlog. Definitely still hope to get to it

jackgerrits avatar May 09 '22 22:05 jackgerrits

The vowpal-wabbit port was merged in https://github.com/microsoft/vcpkg/pull/27323

jackgerrits avatar Oct 30 '22 23:10 jackgerrits