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

Missing ports for partial self-hosting #39

Open
15 tasks
Dennisbonke opened this issue Jun 7, 2020 · 0 comments
Open
15 tasks

Missing ports for partial self-hosting #39

Dennisbonke opened this issue Jun 7, 2020 · 0 comments
Assignees

Comments

@Dennisbonke
Copy link
Member

Dennisbonke commented Jun 7, 2020

For managarm to be partially self hosting, meaning that we can compile managarm-kernel and managarm-system on managarm with the sources patched and available from the host, so that we only need to configure and build them, the following packages are needed (possible incomplete list):

  • meson, managarm's primary build system is meson.
  • ninja, managarm's primary builder is ninja.
  • xbstrap, managarm's master build system is executed by xbstrap, this needs some additional python modules as well.
  • pyyaml, xbstrap depends on pyyaml.
  • colorama, xbstrap depends on colorama.
  • jsonschema, xbstrap depends on this python module.
  • attrs, xbstrap depends on this python module.
  • pyrsistent, xbstrap depends on this python module.
  • llvm + clang, while we do build llvm, we do not build clang, the kernel is compiled with clang, and as such, this is needed.
  • setuptools, required dependency for pip.
  • pip, in order to be able to install python packages without much trouble, pip is required. Porting pip and setuptools, and having the proper networking support to back it up, can remove the requiremenst on pyyaml, colorama and xbstrap, as we can pull them from pip directly in that case.

Furthermore, the following ports require extra attention:

  • binutils, currently works, but when called from a makefile as crashes
  • gcc, gcc works, but invoking g++ fails, furthermore, calling gcc as cc (a symlink mandated by the FHS, and used for compatibility reasons in many build systems), crashes in mlibc (see issue Crash when executing a symlink mlibc#93) (This has been fixed in the meantime)
  • python, more modules need to be available, and several python packages need to be ported
  • pkg-config, fails when running, complains about ungetc()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In progress
Development

No branches or pull requests

2 participants