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

WIP freebsd: fix sysroot layout #1412

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ydirson
Copy link
Contributor

@ydirson ydirson commented Jan 9, 2024

Until now the sysroot took in base.txz only the bare minimum to get cross gcc to build, by copying selectively a small number of libs into otherwise non-standard paths, and then fixing up the symlinks broken by the move.

This is a problem for clang, used by rust-bindgen, because the libs and headers were now in non-standard locations. And the greater number of libs that were not kept still had their headers installed, even though they were in /include/.

This keeps things as close as possible to upstream base system, creating symlinks for the strange specific the gcc cross build demands. For this we cannot help having to merge /lib into /usr/lib, but this should be better already.

PROBLEM:

With this the gcc build fails, apparently trying to find in host's /lib the libc that's otherwise findable in sysroot' /lib.

Until now the sysroot took in base.txz only the bare minimum to get cross
gcc to build, by copying selectively a small number of libs into otherwise
non-standard paths, and then fixing up the symlinks broken by the move.

This is a problem for clang, used by rust-bindgen, because the libs and
headers were now in non-standard locations.  And the greater number of libs
that were not kept still had their headers installed, even though they were
in /include/.

This keeps things as close as possible to upstream base system, creating
symlinks for the strange specific the gcc cross build demands.  For this
we cannot help having to merge /lib into /usr/lib, but this should be
better already.

PROBLEM:

With this the gcc build fails, apparently trying to find in host's /lib
the libc that's otherwise findable in sysroot' /lib.
@ydirson ydirson requested a review from a team as a code owner January 9, 2024 15:05
@ydirson ydirson marked this pull request as draft January 9, 2024 15:05
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.

None yet

1 participant