You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Paul Bowen-Huggett edited this page Jan 17, 2022
·
5 revisions
Standard system. A machine with conventional gcc or clang toolchain and standard library package installed. For example, an Ubuntu Linux system with the build-essentials package installed.
The user has likely compiled llvm-project-prepo for themselves.
Triple
Compile
Link
*‑gnu‑repo
✓ Succeeds. glibc is installed in /usr/include.
✗ Fails. Runs rld. glibc has not yet been compiled to the repo. To link, the user must use repo2obj and then run the compiler driver to link without the -repo triple.
*‑musl‑repo
✗ Fails. musl libc is not pre-installed. To compile, the user must build and install musl-prepo.
✗ Fails. Runs rld. musl libc is not pre-installed. To link, the user must build and install musl-prepo.
✗ Fails. glibc is not pre-installed. The user can, of course, manually install it, in which case compilation will succeed.
✗ Fails. Runs rld. Fails because glibc has not yet been compiled to the repo. To link, the user must install glibc, use repo2obj and then run the compiler driver to link without the -repo triple.
✓ Succeeds. Runs rld. musl-prepo is pre-installed and compiled to the repo.
Note that cells marked as ”✗ Fails” describe the default behavior for the associated setup. In all case, the reason for failure can be resolved. This might involve something trivial such as installing a prebuilt package, or potentially more complex such as building glibc.