Skip to content
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

Move $__RootfsDir/{system/boot,} on Haiku #10485

Closed
wants to merge 1 commit into from

Conversation

am11
Copy link
Member

@am11 am11 commented Aug 17, 2022

This is needed to unblock dotnet/dotnet-buildtools-prereqs-docker#669, which requires bin/ directory at the root or rootfs dir.

@am11
Copy link
Member Author

am11 commented Aug 17, 2022

cc @jessicah @trungnt2910

@jessicah
Copy link
Contributor

This change will not work as-is, unless invocations of the compilers specifies the sysroot explicitly, but there are no binaries in that location.

The files under $__RootfsDir/system/boot is basically just the libraries and headers. The cross-compiler is under $__RootfsDir/generated/cross-tools-x86_64. So you'd need to update $PATH. Alternatively, perhaps symlinks might work? The build system doesn't currently support them being elsewhere, I'd need to modify Haiku's configure script to achieve that.

The path that files are extracted to are configured in the cross-compiler when configuring the Haiku repo, https://github.com/dotnet/arcade/blob/main/eng/common/cross/build-rootfs.sh#L438, which eventually arrives at https://github.com/haiku/haiku/blob/master/build/scripts/build_cross_tools_gcc4#L203.

@am11
Copy link
Member Author

am11 commented Aug 17, 2022

Thanks. I don't have your Haiku changes for dotnet/runtime so I was relying on manual / dryrun testing. The validation which is failing downstream is: https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/99143ac0c21d525ad62dab9c258993681221f7b8/src/ubuntu/build-scripts/build-rootfs.sh#L64, but it turned out we already have a way to override rootfsBinDirArg. I will close this and use that (it is just a sanity check which looks for sentinel file/folder, it doesn't actually validate if the compile binaries work).

@am11 am11 closed this Aug 17, 2022
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