-
-
Notifications
You must be signed in to change notification settings - Fork 187
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
Fail to build binary under Debian 12 (Bookworm) #1364
Comments
@123ahaha The sad story with gnat, and coreboot buildstack that heads builds so that coreboot is built with each coreboot buildstack, cannot be built with a newer gnat version that was provided in that buildstack. What this means is that coreboot 4.13 (current xx20/xx30) will not be possible to build with bookworm (debian-12) This will require patches, and might or may not work. I'm surprised that librem14 cannot be built from a fresh heads checkout though, since I thought coreboot 4.17 could be built from debian-12. @123ahaha Can you wipe install and build directories and try again for |
excuse me, I had put the file above the link, but the formatting did not make it appear. I changed that.
here is the output of make
here is the build.log file Also, I'm a total noob compared to you, but if you download specific version of gcc, nasm etc, couldn't thoses version be used to build specific coreboot version ? |
From the last lines of your log, you can see that you are attempting to build gnat 11.3 from gnat 12. This is impossible. Unfortunately, bookworm provides gnat 12.2 and gnat 11.3, none of which will be able to build an earlier version of it (11.2 for coreboot 4.17). The rule, for gnat, is that you can build it from a previous version, hence why it works for CircleCI which builds for roms from debian-11. |
This problem is really tiring and destroys the whole idea of reproducibility of builds unless we:
The last item is planned but without progress for the moment.The only short-mid-term solution would be to try to build coreboot buildstack from musl-cross-make, as all other modules. I do not remember why we stopped doing that in the past, where https://github.com/osresearch/heads/blob/a447674a893156a21407c6a2dc31c7e877292942/modules/coreboot#L78-L81 |
Thanks for the infos ! I didn't now about the gnat issue ... |
@123ahaha this issue is now linked to #1269 where if you have ideas, please join the discussion. I'm no NixOS expert. But the point here, really, is that in our use case (CircleCI builds and local builds to users), once that buildstack is used, its reused, most of the time. Local builds will keep things there, where modules updates simply change directory names and builds will work forward in time. Same happens with CircleCI, where the cache system would just pick it up with a couple of tweaks, including whatever NixOS directories that were compiled/downloaded, and where we could hash things up there as we do now, with better guarantees that nothing bleeds into the builds, outside of time and dates. even rpath and other reproducibility inducing problems would be gone. And at the end of the day, if we have to publish instructions to use docker to build Heads, that would be a lesser headach then now where people wants to build Heads on XYZ and where we say "use debian-11... for now" is not necessary a good solution since we know that it won't work 10 years from now :/ So again:
|
Then I'll close the issue |
But. building x230 with coreboot 4.19 etc SHOULD work on bookworm. As will librem14. But this is why CircleIC and roms are produced there as well: to promote a buildsystem that works for the moment until things transit to something else. And this is not the whole story either. Under Heads, gnat is needed only if coreboot configuration enables LIBGFXINIT. Food for thought. for the following platforms, if you uninstall gnat, you would be able to build those boards successfully:
|
Context of the Build
1. What board are you trying to build?
2. What repository:branch are you using to build from?
3. What version of coreboot are you trying to build
this doesn't work for the librem_14 board, but I've also tried for the x230-hotp-maximized and the t430-hotp-maximized
4. In building the rom where did you get the blobs?
5. If using the automated tools to get the blobs did you run the relevant scripts in the blobs directory
6. What operating system are you using
DEBIAN 12 (Linux 6.1.0-7-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.20-1 (2023-03-19) x86_64 GNU/Linux)
Please describe the problem
I try to build heads (make BOARD=librem=14, t430... or x230....) but there is a compilation error :
When building librem_14 bin
librem_14 build.log : https://privatebin.net/?9e1e4af7ea744768#EWcCXse8c9kUkFtPbeMtisYzcschgdp5RoZSoNtxh5gq
the file : build.log
When building t430-hotp-maximized
t430-hotp-maximized build.log : https://privatebin.net/?5b4cd00951a608ab#6ve5y7zyLUz7Qt1jLmr8MKmtPzGmZ937pERNvzJ3iSkJ
the file : t430-bin-build.log
I have a thinkpad t430 under debian 11 that I use to update the heads (I recompile each time) and everything is fine
So I think it must be a version problem (of Ada/gnat ? I don't know) but I'm not enough knowledgeable in Makefile to be able to find and propose a solution ...
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
python is to replace by python-is-python3
python2 is to replace by 2to3
Expected behavior
It should build the binary
Additional context
All is working under debian 11 I'll put the version of some of the software that are used to build heads
The text was updated successfully, but these errors were encountered: