GammaTauAI / opentau

Using Large Language Models for Repo-wide Type Prediction
Apache License 2.0
96 stars 8 forks source link

Windows support #2

Open FrostMegaByte opened 1 year ago

FrostMegaByte commented 1 year ago

Hi, I'm running a Windows machine and tried to get this project to work, but unfortunately it failed during the make command with an error. After Googling a bit, it seems like Windows doesn't support Unix domain sockets, thus I'm not able to run it. I'll try with WSL, but I thought it might be interesting to know.

The error:

error[E0432]: unresolved import `tokio::net::UnixStream`
 --> src\socket.rs:8:5
  |
8 |     net::UnixStream,
  |     ^^^^^^^^^^^^^^^ no `UnixStream` in `net`

warning: unused import: `LangServerError`
 --> src\main_strategies.rs:5:46
  |
5 |     langserver::{AnnotateType, CheckProblem, LangServerError},
  |                                              ^^^^^^^^^^^^^^^  
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `VecDeque`
 --> src\tree.rs:3:37
  |
3 |     collections::{HashMap, HashSet, VecDeque},
  |                                     ^^^^^^^^

warning: unused import: `sync::Mutex`
 --> src\tree.rs:8:13
  |
8 | use tokio::{sync::Mutex, task::JoinHandle};
  |             ^^^^^^^^^^^

warning: unused import: `AsyncWriteExt`
 --> src\socket.rs:7:27
  |
7 |     io::{AsyncBufReadExt, AsyncWriteExt},
  |                           ^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0432`.
warning: `opentau` (lib) generated 4 warnings
error: could not compile `opentau` (lib) due to previous error; 4 warnings emitted
make: *** [Makefile:10: build-release] Error 101
cassanof commented 1 year ago

Hey Mark, thanks for reporting this. Yes, we built the system to work with Unix. We use unix sockets on all three sides of the protocol (LLM server API, Rust core, and language compiler API), so it would require some engineering effort to support another communication medium. WSL is going to work for sure, I have tested it with it.

Thanks for making the issue, I'll make it more clear that only *NIX platforms are supported.