-
Notifications
You must be signed in to change notification settings - Fork 668
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
Support Windows build of ReDex #18
Comments
Alternatively, I'm doing significant work towards getting Folly building under MSVC, so you may soon be able to get away without needing bash on windows. |
if possible provide a ReDex Docker ready build environment for Windows user. |
+1 |
+1, try it on docker + this container |
yeah but docker requires lin. or mac |
my bad, thanx 8-) |
This is really needed!!! |
Heads-up: we (Facebook) also now have some demand running Redex on Windows. Unfortunately, this is still low priority. If one is extremely interesting, it's worthy to try with Visual Studio. E.g., create a command-line executable C++ project with all source code (except testing) and proper defines. You will see compile errors from Unix/Linux-only headers. So, it requires some work. A good news is that we recently updated code to be more C++ standard (e.g., not using pthread). While we can't give an ETA, it's not that far from supporting Windows. |
So, this issue's been open for a couple years now, I was wondering if there's any update? Reading the docs, it appears Redex can be compiled for Windows, albeit it's in an "experimental" state. So I was wondering, what does "experimental" really mean here? Is it that it'll compile, and it'll work but it's not thoroughly tested so it's "experimental"? |
when building for windows i get a lot of compile errors and build fails tried with both cmake and msbuild |
welcome to the club bud) |
is it worth the try ? like how much does it optimize? because i already wasted like day and a half on trying to build it |
if you |
I've cleaned up Redex a bit with some known incompatibilities. The support is still experimental, but feedback is welcome. You no longer need MSVC or WSL, a pure OSS setup works. Thus it should work on older releases of Windows, too. (There's a good chance the MSVC build works again, too, but that is untested.) |
The MSYS-style build is now continuously tested on CircleCI. |
Any link to the binary? |
We do not provide binaries for any platform at this point, and there are no plans to. Please follow the quite simple instructions here to build your own. |
Since people have complained: I was not responsible for the structure of the installation document, which tries to keep common parts common but thus pulls the steps apart. The written-down steps are also IMO clearly explained. But let me try a more streamlined version here. Preparation
MSYS CompilationThe following steps do all need to be run in a "MingW64 Shell." Installing MSYS2 should have added this option to the Start Menu. Alternatively, run the MingW64 executable in
Collect All FilesAt this point, the binary is created. Collect all the necessary things for redex from under the MSYS home folder (by default
Redex is invoked through the Python script nowadays, which will unpack an APK, invoke
|
thanks for your replay i deleted my comment even before you reply cuz i felt i was bit unfair and my be tilted XD but i calmed down quickly , i know you probably saw the comment in email notification may be , i deleted it cuz i didnt want to be an idiot who just push false claim on some other dev without knowing all the facts so i am sorry about the earlier comment i amnt sure if you saw it or not actually but still i had to say this . |
btw make -j4 is still gives errors |
Can you open a new issue with the error you get? |
sure i will, thank you so much for your time |
trying wtih installation instructions "win10 experimental": C:\DEV\VCPKG\vcpkg>.\bootstrap-vcpkg.bat
Не удается найти свойство "instances" для этого объекта. Убедитесь, что оно существует.
Could not find Visual Studio. VS2015, VS2017, or VS2019 (with C++) needs to be installed.
IMHO issue should be reopened until easy win compilation can be implemented |
The MSYS build is simple/easy, tested on CircleCI and works. If you find a problem with that, please file a new issue, and maybe when I have time I'll get around to fixing it. The simple truth is: the Windows build will always be an experimental, mostly-unsupported feature, as it is not the main environment Redex is developed & used in. The Visual Studio attempt is old, and nobody is working on that right now, especially with a working alternative. Pull requests are welcome, but without those I will close issues (because nobody on our side will fix it ever). If you cannot deal with the MSYS instructions and want "easy win compilation," I suggest trying out WSL2, which is closest to the supported environment. If you find that route doable, pull requests to amend our docs are very welcome.
I do not understand what your problem is/why you cannot make the next step yourself. The error message seems pretty clear, and our docs for Visual Studio clearly say so: you must install one of the VS versions first, obviously. Installing core Windows software that isn't automatable will never be part of "easy win compilation."
We also do not own or maintain VCPKG, which would be where you should go with issues directly involved in it. Though it's imaginable that the other error somehow causes this. Notes:
|
agampe, you say "The MSYS build is simple/easy, tested on CircleCI and works." can you please upload somewhere working build for community? not all here are skillful compilers |
I still feel strongly that the instructions cover a simple setup that is complete (and the CircleCI config gives an alternative starting from chocolatey). In general, in my opinion getting the redex configuration right is a way more complex task than getting the binary. Anyways, I've submitted a patch that adds Windows to the nightly build on CircleCI and stores the binary as an "artifact." Notes:
|
Obviously not. |
The comment seems to have been removed, I will still reply:
|
Summary: X-link: facebook/SPARTA#18 This happens because the free functions implementing PatriciaTreeCore accept `boost::intrusive_ptr` as arguments, so functions in the boost namespace are candidates at the callsite. It didn't occur pre-refactor because these functions took a concrete `std::function` argument that caused disambiguation. We removed the overhead of `std::function` but the result is purely templated functions. To remove the ambiguity this ensures each of these functions contains the word "tree", "leaf", or "key" somewhere in the name, since these (currently) don't exist anywhere in boost. While we're here, also use the "_by_key" suffix consistently for functions that locate things by key. The long-term solution would be to wrap the intrusive_ptr in some manner to disable ADL, but this is much easier. Differential Revision: D37542177 fbshipit-source-id: c40f47624b9cd92ee6414f0fc10013c0d5d547ec
Make sure we can reliably build and support ReDex for Windows 10. One approach might be to use the new native support for bash as suggested by @jp1017 in #17
The text was updated successfully, but these errors were encountered: