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 windows support? #125

Open
ysimonson opened this issue Dec 21, 2020 · 4 comments
Open

Add windows support? #125

ysimonson opened this issue Dec 21, 2020 · 4 comments
Labels
help wanted Extra attention is needed

Comments

@ysimonson
Copy link
Member

Not sure of how big of a lift windows support would be, but it's worth giving a go once #123 is in, since github has windows runners.

@ysimonson ysimonson added the help wanted Extra attention is needed label Dec 21, 2020
@pangguoming
Copy link

i compile it with windows already , and i got exe file , it works good

@ysimonson
Copy link
Member Author

Thanks @pangguoming! Do you have instructions for how you did it? E.g. did you use WSL?

@kooshi
Copy link

kooshi commented Jul 15, 2022

I also just compiled the wikipedia example on Windows with little issue, both with and without WSL2.
I did 3 things:

  • Installed CMake, though this was my first experiment, and I'm not sure it was necessary

  • Installed LLVM which allowed the rocksdb dependency to be compiled, thus completing the build of indradb itself

Then to get indradb-wikipedia to finish compiling, I needed to change the call to libc::kill in drop in main.rs
to
self.child.kill().unwrap();

I ran the build scripts in the makefile by hand, but chocolatey apparently has a package for make too, so someone could use that if they wanted.

@ysimonson
Copy link
Member Author

Nice, thank you for the detailed instructions @kooshi! Sounds like windows support for IndraDB itself is in good shape. At some point I'll try to make a CI target for this.

For wikipedia-example note that it's using libc::kill to gracefully shutdown the server. Calling self.child.kill() will force shutdown the server, potentially leaving some changes unpersisted. I also don't know whether there's a risk with RocksDB databases getting in a bad internal state if, e.g. they were in the middle of compacting when terminated.

I've opened a ticket to address this: indradb/wikipedia-example#18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants