Skip to content

[ENH][systoleos] First commit #1

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

Open
wants to merge 23 commits into
base: main
Choose a base branch
from

Conversation

oeramo
Copy link
Collaborator

@oeramo oeramo commented May 6, 2025

Progress up to this point tracked in SystoleOS/guix-systole#52

Progress up to this point tracked in SystoleOS/guix-systole#52
@oeramo
Copy link
Collaborator Author

oeramo commented May 6, 2025

@RafaelPalomar I have made a mistake with the other branch that is currently set as default, https://github.com/OUH-MESHLab/BrainlabMirror/tree/supercede-systoleos-issue. As the admin, please set main as the default branch and delete the supercede-systoleos-issue branch. Thank you.

Copy link

@RafaelPalomar RafaelPalomar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oeramo, please add a README.md with some notes on how to build and run the image with qemu

systoleos.scm Outdated
Comment on lines 2 to 3
;; `guix system image -L . -t iso9660 guix-systole/systoleos/systoleos.scm`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This probably needs to be updated to the new path

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also. How about the guix vm command

@oeramo
Copy link
Collaborator Author

oeramo commented May 7, 2025

@RafaelPalomar, I haven't managed to find a way to build the image from within this repository.

I had done my previous tests on the guix-systole repository before moving the PR here, and there building the image was trivial because all dependencies were under the same repository, and I could use the -L flag of guix system image to specify where to look for Scheme packages.

When the operating-system is defined in a different location, to avoid having to manually clone dependencies in place, we should leverage Guix Channels to find the dependencies. I have tried to set this up in a few ways, but the builder cannot find 3D Slicer, despite it being correctly imported, and despite the guix-systole channel pulling successfully before building starts:

guest@gnu ~/systole-playground/BrainlabMirror$ guix time-machine -C systoleos/channels.scm -- system image -t iso9660 systoleos/brainlabmirror.scm
ice-9/eval.scm:223:20: In procedure proc:
error: slicer-5.8: unbound variable
hint: Did you forget `(use-modules (guix-systole packages slicer))'?

Furthermore, when the operating-system definitions are set to depend on each other (one inherits the other, like in 23636a2), the builder cannot find the inherited module:

guest@gnu ~/systole-playground/BrainlabMirror$ time guix system image -L . -t iso9660 systoleos/brainlabmirror.scm
ice-9/eval.scm:223:20: In procedure proc:
error: systoleos-base: unbound variable
hint: Did you forget a `use-modules' form?

@RafaelPalomar
Copy link

I guess you could use as many -L flags as needed. Wouldn't this be enough?

@RafaelPalomar
Copy link

@oeramo, what's the status of this? Is it ready for review?

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

Successfully merging this pull request may close these issues.

2 participants