Skip to content

Can you pls make troubleshooting easier? #664

@saper

Description

@saper

I find the build process complicated and hard to debug, a couple of suggestions:

  • can you consider improving the names, liblktlang, liblktlang_support, langkit_support, ... way too many "l"s "k"s and "lang"s.
  • the python build process obscures things - it says for example it generates files and does not say where
  • there is no obvious way to simply enable gprbuild and gprinstallverbose modes - changing python is needed
  • https://no-color.org/ has nice suggestion - you could check for the NO_COLOR environment variable (or maybe also CI) in the langkit.utils.colors
  • a mishmash of Python mixed into Ada code is not nice (and probably a horror for packaging). Until we have a first class support for Python in gprbuild maybe it could be separated somehow...
  • this looks scary - can this be surpressed? `
Subcommand failed: error while running /usr/local/bin/python3.11 /usr/home/saper/src/ada/langkit/lkt/check_bootstrap.py -q:
    Command '['/usr/local/bin/python3.11', '/usr/home/saper/src/ada/langkit/lkt/check_bootstrap.py', '-q']' returned non-zero exit status 1.
  • The steps of the process are confusing the README says

Build the Liblktlang support library:
$ python manage.py make --no-mypy --library-types=static,static-pic,relocatable

But this seems to build more than just that library.

Do I get it right that logical steps of the build process are:

  1. python3 manage.py build-langkit-support (all library types if needed)
  2. python3 manage.py install-langkit-support (all library types if needed)
  3. python3 manage.py bootstrap - this builds relocatable library only in lkt/bootstrap/lib/relocatable/dev/liblktlang.so
  4. some code generation
  5. ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions