# A Non-Guix Guile Setup?

**URL:** https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115
**Category:** Scheme
**Created:** [February 2, 2024, 8:08am UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115 "2024-02-02T08:08:40Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![fosskers](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/fosskers/32/69_2.png) [@fosskers](https://forum.systemcrafters.net/u/fosskers)
#### Post date: [February 2, 2024, 8:08am UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115/1 "2024-02-02T08:08:40Z")

</div>

With all the buzz about Hoot, it would be great if there a way to “get going” with Guile in earnest that doesn’t involve Guix.

I see [GitHub - abcdw/guile-ares-rs: Asyncronous Extensible Reliable Scheme RPC Server for Guile. Mirror of https://git.sr.ht/~abcdw/guile-ares-rs](https://github.com/abcdw/guile-ares-rs) and [https://akkuscm.org/](https://akkuscm.org/) , but is anyone familiar with these tools?

I know [ECL](https://repl.chee.party/) has also seen some recent success at jumping to the web.

---

<div class="post-metadata">

### Author: ![daviwil](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/daviwil/32/1_2.png) [@daviwil](https://forum.systemcrafters.net/u/daviwil)
#### Post date: [February 2, 2024, 1:03pm UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115/2 "2024-02-02T13:03:16Z")

</div>

I’m putting together some setup steps for a Guile environment for the Guile Beginners’ course which target all OS’es and non-Guix distros, I will probably make a video on it as soon as the steps are shown to work for everyone.

Not sure how easy Hoot will be to install without Guix, but I’m sure that Spritely aims for that to be possible. I guess the biggest challenge at the moment is installing Guile libraries since only the most frequently used ones appear in distro package listings.

Might be useful to create an approach to install Guile dependencies directly from source without the need for Guix, or resurrect `guildhall` which tried to do that previously.

> **[GitHub - ijp/guildhall: package manager for guile](https://github.com/ijp/guildhall)**
>
> package manager for guile. Contribute to ijp/guildhall development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![ashraz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/ashraz/32/509_2.png) [@ashraz](https://forum.systemcrafters.net/u/ashraz)
#### Post date: [February 2, 2024, 2:52pm UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115/3 "2024-02-02T14:52:58Z")

</div>

> [@daviwil](#):
>
> which target all OS’es and non-Guix distros

Does that include native Windows? Or do would one need to drop into WSL?

---

<div class="post-metadata">

### Author: ![daviwil](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/daviwil/32/1_2.png) [@daviwil](https://forum.systemcrafters.net/u/daviwil)
#### Post date: [February 2, 2024, 3:22pm UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115/4 "2024-02-02T15:22:25Z")

</div>

WSL is the preferred approach, but I also mention using MSYS2. I don’t know if there’s a standalone Guile distribution package for Windows, but I haven’t actually checked!

---

<div class="post-metadata">

### Author: ![ashraz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/ashraz/32/509_2.png) [@ashraz](https://forum.systemcrafters.net/u/ashraz)
#### Post date: [February 2, 2024, 5:25pm UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115/5 "2024-02-02T17:25:02Z")

</div>

Maybe I’ll try to compile it via cosmopolitan, that might be a nice weekend project 🙂

\*EDIT: Apparently, I’ve already installed `guile` 3.0.9 via `msys2`. I just forgot about it. So much about the weekend project 😃

---

<div class="post-metadata">

### Author: ![maris](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/maris/32/859_2.png) [@maris](https://forum.systemcrafters.net/u/maris)
#### Post date: [February 8, 2025, 1:33am UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115/6 "2025-02-08T01:33:27Z")

</div>

Does guile-ares-rs work in MacOS / Guile 3.0.10 ?

I got Unbound variable: SOCK\_NONBLOCK error when I tried to start nrepl-server.

 ![Screenshot 2025-02-08 at 01.29.12](https://canada1.discourse-cdn.com/flex029/uploads/systemcrafters/original/1X/356eec9002b0bb9e71966b66befed9895192cb28.png)

---

<div class="post-metadata">

### Author: ![ashraz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/ashraz/32/509_2.png) [@ashraz](https://forum.systemcrafters.net/u/ashraz)
#### Post date: [February 8, 2025, 8:10am UTC](https://forum.systemcrafters.net/t/a-non-guix-guile-setup/115/7 "2025-02-08T08:10:55Z")

</div>

> [@maris](#):
>
> I got Unbound variable: SOCK\_NONBLOCK error when I tried to start nrepl-server.

`SOCK_NONBLOCK` is not defined in [Guile on macOS](https://git.savannah.gnu.org/cgit/guile.git/commit/?id=36023a0d2e14f02f7370c899b52e9803bc8c0078), because [`SOCK_NONBLOCK` is not defined on macOS](https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/socket.2.html). Instead, [`O_NONBLOCK`](https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/fcntl.2.html#//apple_ref/doc/man/2/fcntl) has to be used. Unfortunately, the guile manual does not have any indication that the definition is optional.

The Rust project had a similar issue and provided an alias for [`SOCK_NONBLOCK` on non-Linux non-BSD platforms](https://github.com/rust-lang/libc/pull/150/files#diff-2d37cfadec9fcb9e885c653338f6654332a4e59d63a1cb1326f8026b43731c59).

This is probably at least a documentation issue in Guile. Meanwhile, it might be worth to [file an issue in guile-ares](https://github.com/abcdw/guile-ares-rs/issues).
