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

Support running on Windows #1527

Open
jiacai2050 opened this issue May 9, 2024 · 10 comments
Open

Support running on Windows #1527

jiacai2050 opened this issue May 9, 2024 · 10 comments
Labels
help wanted Extra attention is needed

Comments

@jiacai2050
Copy link
Contributor

jiacai2050 commented May 9, 2024

Describe This Problem

Background: #1411 (comment)

Although Windows is not recommended as production env, it's convenient for testing and develop.

Proposal

We have two choices:

  • Build horaedb in Linux with static link(musl libc), and cross compile to Windows
  • Build horaedb in Windows natively

Method 1 maybe simpler than 2, but I little experience here, so welcome any voltenner to tackle this issue in either ways.

Additional Context

No response

@jiacai2050 jiacai2050 added the help wanted Extra attention is needed label May 9, 2024
@kcrazy
Copy link

kcrazy commented May 9, 2024

I tried to compile it on Windows, but the compilation failed when it reached pprof because pprof uses the crate nix and libc, which are not supported on Windows.

@jiacai2050
Copy link
Contributor Author

Thanks for trying.

I think you can add a feature gate on that crate, and see what happens next.

@kcrazy
Copy link

kcrazy commented May 9, 2024

The repository at rust-rocksdb also does not support Windows.

@jiacai2050
Copy link
Contributor Author

The repository at rust-rocksdb also does not support Windows.

Try build with make build-wal-message-queue, this will disable rocksdb and use kafka as wal.

@kcrazy
Copy link

kcrazy commented May 10, 2024

The repository at rust-rocksdb also does not support Windows.

Try build with make build-wal-message-queue, this will disable rocksdb and use kafka as wal.

Can we directly use cargo to replace make?

@tanruixiang
Copy link
Member

The repository at rust-rocksdb also does not support Windows.

Try build with make build-wal-message-queue, this will disable rocksdb and use kafka as wal.

Can we directly use cargo to replace make?

Of course you can, our makefile is very simple, you can refer to the https://github.com/apache/incubator-horaedb/blob/main/Makefile#L40

@jiacai2050
Copy link
Contributor Author

jiacai2050 commented May 10, 2024

If you're interested in contributing more, welcome to join our community.

@kcrazy
Copy link

kcrazy commented May 16, 2024

If you're interested in contributing more, welcome to join our community.

I don't have much experience in developing databases and I'm not particularly interested at the moment. However, I'm open to occasionally testing builds on Windows.

@kcrazy
Copy link

kcrazy commented May 16, 2024

The repository at rust-rocksdb also does not support Windows.

Try build with make build-wal-message-queue, this will disable rocksdb and use kafka as wal.

Can we directly use cargo to replace make?

Of course you can, our makefile is very simple, you can refer to the https://github.com/apache/incubator-horaedb/blob/main/Makefile#L40

I tried using the command

cargo build --no-default-features --features wal-message-queue

but encountered some issues with jemalloc: jemalloc-sys@0.3.2 states that 'jemalloc support for x86_64-pc-windows-msvc is untested'.

@jiacai2050
Copy link
Contributor Author

jiacai2050 commented May 16, 2024

Thanks for testing, I will add a feature gate for jemalloc and pprof this week, so you can disable them on Windows.

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

No branches or pull requests

3 participants