-
Notifications
You must be signed in to change notification settings - Fork 27
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
Document build dependencies #2
Comments
Maybe wrap the build in some docker/compose files? |
Yeah I don't use Docker. Maybe I'll document it in depth later but for now please just view Crystal and GCC's manual for required build dependencies. |
In response to #15: I never found out what package contains x86_64-elf-as, which is needed to build the kernel. When trying to build binutils I get the following:
|
If you're just building the kernel, you'll only need x86_64-elf binutils, GCC and Crystal; |
Building patched Crystal fails despite various attempts, |
Building the patched Crystal consistently works for me. The bigger issue for me is it's really not clear what packages are required for the entirety of the build process (kernel, userspace, the whole deal). This is why I had originally mentioned creating a nix shell. Everyone would be using the same versions of the same packages, making this a non-issue. |
I would definitely appreciate that, but I'm sadly not well acquainted at nix to approach that :( |
@Scorbie I would be happy to do it once I can actually build the project. |
Okay, I got all the specified requirements ready. I can build the kernel (which doesn't run but that's a seperate issue AFAIK; origin/master is shaky, captain!) @ffwff Present for your 1000th commit, the text below is yours. Congrats. The requirementsLLVM 8.0 (recommended by Crystal team at the time of writing)
|
I'll try with docker if there's much request (I haven't used docker much so it's quite time consuming) |
@Scorbie I had to edit the Makefile to hardcode the paths to the binutils binaries on my system. Possibly a fish issue, but I don't know yet. I have gotten the kernel to build, but when I try to Edit: Nevermind, I see you ran into the same issue. |
I'm busy at the moment, but I usually use this command for debugging:
You can also pass |
|
@spencerking You probably shouldn't hardcode the binutils path, but rather add them to "$PATH" as (edit) I mentioned in the post. Or did you mean that it couldn't find cross-binutils when you configured without setting |
@Scorbie I mean I added them to my path and make still isn't picking them up, but they work fine otherwise. I imagine it's fish (my default shell) not playing nice with make, but I haven't tested with anything else. |
@spencerking Ah, strange indeed, I'm out of clues and can only random guess... Wait! make (if it's POSIX-compatible) by default invokes sh, not fish. So I think you should update the |
I added additional build instructions (thanks @Scorbie!) Tell me what yall think. |
Oh you said "tell"! |
Hopefully the last question from me on this one: Any idea what package contains grub-install? I'm not seeing it in dnf. |
If you use a linux system, you should probably have it in |
@Scorbie Turns out grub2-install is not necessarily aliased as grub-install. |
Eck, kudos to you for finding that out.
…On Thu, Jan 2, 2020, 2:42 PM Spencer King ***@***.***> wrote:
@Scorbie <https://github.com/Scorbie> Turns out grub2-install is not
necessarily aliased as grub-install.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2?email_source=notifications&email_token=ABZTKWOMDODQRGP5GXWS7JTQ3V5F3A5CNFSM4ISIKSJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH5WENI#issuecomment-570122805>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABZTKWK7U76RPPCKMC6FRADQ3V5F3ANCNFSM4ISIKSJA>
.
|
I'm only using legacy grub, grub2 is currently not supported. |
You mean legacy multiboot? I think GRUB2 supports old multiboot just fine, guessing from the fact that GRUB 2.04 manual points to multiboot 0.6.96 spec. So no worries? |
I'm only using legacy grub for the image's bootloader. I might be switching to grub2 at some point but it really isn't worth it (apart from maybe removing the I haven't tried using grub2 yet, however it should work if you load it from the multiboot command. |
I see, thank you :) |
Okay, I am building the userspace and the following words would be VERY helpful for others seeing the issue.
The build is still ongoing; Will update if there's any changes. |
For people reading this issue thread, I documented my trial and error on another thread (...) #22 (comment) |
|
Thank you, I've updated the instructions to emphasize this once more. |
I've found that a clean install of Fedora 30 is pretty lacking when it comes to building the project. I'm using this issue to document all of the packages I need to install as I work towards a build. Going forward it may make sense to create a nix or guix configuration, or perhaps split the custom components into their own repositories with clear documentation.
Packages:
llvm-devel
pcre-devel
libevent-devel
patch
texinfo
zlib-devel
The text was updated successfully, but these errors were encountered: