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

Make JIT usable on Windows #21

Open
qmonnet opened this issue Sep 4, 2017 · 13 comments
Open

Make JIT usable on Windows #21

qmonnet opened this issue Sep 4, 2017 · 13 comments

Comments

@qmonnet
Copy link
Owner

qmonnet commented Sep 4, 2017

Would be great to have rbpf compiling on Windows.

Quoting @badboy:

AppVeyor is free and easy to setup as CI as well to run the build. The jitting might be incompatible, but the rest should probably work.

See issue #19.

@badboy
Copy link
Collaborator

badboy commented Sep 4, 2017

If you give me push access to the repo I should be able to set it all up

@qmonnet
Copy link
Owner Author

qmonnet commented Sep 4, 2017

Just added you as a “collaborator” on the repo, I think this gives you the permission to push?

@badboy
Copy link
Collaborator

badboy commented Sep 4, 2017

Yes!

@badboy
Copy link
Collaborator

badboy commented Sep 4, 2017

So it seems it's not easy to compile on Windows: https://ci.appveyor.com/project/badboy/rbpf/build/job/9kmut2g40uto44qp

I could skip all jit things in Windows builds, but that would severly strip down the library

@qmonnet
Copy link
Owner Author

qmonnet commented Sep 4, 2017

Yeah, having the JIT is great, but… I don't know if there is something equivalent on Windows to the posix_memalign() and mprotect() functions we're using, and don't really have time to investigate to be honest.

So I'd go for a “first step” without JIT on Windows, I think. Does it compile without the JIT?

@badboy
Copy link
Collaborator

badboy commented Sep 4, 2017

According to various internet resources VirtualAlloc can be used. I used it, but now the test is simply failing (probably a memory access error? I'm no Windows dev, so that's out of my area).
Skipping the JIT on Windows also affects most of the tests.

@qmonnet qmonnet changed the title Ensure rbpf compiles on Windows Make JIT usable on Windows Sep 4, 2017
@qmonnet
Copy link
Owner Author

qmonnet commented Sep 4, 2017

AppVeyor was added with #23. Renaming the issue, for the record: JIT compilation remains to be adapted for Windows.

@qmonnet qmonnet mentioned this issue Sep 4, 2017
@qmonnet
Copy link
Owner Author

qmonnet commented Sep 4, 2017

@badboy Where can I check if the Windows build was triggered, and if it was successful? Maybe there's some badge somewhere we can add to the README for quick access to the builds, do you know about that?

@badboy
Copy link
Collaborator

badboy commented Sep 4, 2017

Hmm, it seems collaborator is not enough as I don't have the permissions to set any webhooks.
You can easily do so yourself though:

  1. Go to https://ci.appveyor.com/
  2. Login using your github account
  3. Add a new project, select this repository
  4. Check the settings, tick the "ignore branches without appveyor.yml" setting

In the settings you will also find a badge then. And from the overview page you can trigger a build.

@qmonnet
Copy link
Owner Author

qmonnet commented Sep 5, 2017

Thanks!

I need to provide “Organizations and teams Read-only access” to AppVeyor in order to login with my GitHub account. I have to check that it's fine on my side, might take a couple of days before I add the project.

@qmonnet
Copy link
Owner Author

qmonnet commented Oct 7, 2017

Hi @badboy, I'm sorry I let this issue slip out of my mind. The issue with the organizations being solved, I created an account on AppVeyor and added rbpf as a new project. The last commit added a badge to the README.md (can be blocked by add blockers, apparently).

Fixed by 4af0583

@qmonnet qmonnet closed this as completed Oct 7, 2017
@qmonnet
Copy link
Owner Author

qmonnet commented Oct 7, 2017

Reopening. I forgot the issue was about the JIT.

@qmonnet qmonnet reopened this Oct 7, 2017
qmonnet added a commit that referenced this issue Oct 10, 2018
Mention that we support all of Linux/MacOS/Windows, but that the JIT
does not work on Windows (see issue #21 about that).
@qmonnet
Copy link
Owner Author

qmonnet commented Sep 6, 2023

We have a new JIT that works on Windows (currently as an opt-in feature). #86

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants