AdaCore/langkit

Errors during test

atupone opened this issue · 6 comments

During test phase I got a lot of
ModuleNotFoundError: No module named 'liblktlang'

I cannot find from where this module come

Liblktlang is a Langkit sub-project that we are developping to switch from Langkit’s Python DSL to a dedicated syntax. We’ll update the README accordingly, thank you for bringing this to our attention. In the meantime, the procedure is simple:

# Build libpythonlang/liblktlang
./manage.py make

# Make them available to the environment
eval `./manage.py setenv`

# You can then run the testsuite

As reported in the closed pull request #614 there are problems for this tests:

testsuite/tests/langkit_support/*
testsuite/tests/adalog/*
testsuite/tests/misc/link_two_libs

those tests run gprbuild without -XLIBRARY_TYPE and so the build could fail if some libraries is built with both static and relocatable

As discussed in #614, this should not be a problem if the GNATCOLL dependencies are built and installed using the documented procedure: the installed projects should all correctly interpret the LIBRARY_TYPE variable. Can you clarify what you did and which error you get exactly?

On that file the gprbuild does not have -XLIBRARY_TYPE declaration, at least I am not seeing them.

For the one related to #614, you are right.

However I will try to test it again

To build I did the things that are in the link (I'm trying to provide it)

https://github.com/gentoo/gentoo/blob/master/dev-ada/langkit/langkit-22.0.0-r1.ebuild

and commenting out the rm part in prepare I am obtaining a lot of :

DEBUG    rm -r /var/tmp/portage/dev-ada/langkit-22.0.0-r1/temp/tmpf781day3/adalog__domain
DEBUG    job adalog__domain.run_wrapper finished after 0.73042
INFO     FAIL            adalog__domain: non-zero status code
Running: gprbuild -P p.gpr -p (cwd=/var/tmp/portage/dev-ada/langkit-22.0.0-r1/temp/tmpf781day3/adalog__domain)
Status code: 4
Output:
Setup
   [mkdir]        object directory for project P
gnatcoll_iconv.gpr:11:17: shared library project "gnatcoll_iconv" cannot import static library project "gpr"
gnatcoll.gpr:10:17: shared library project "gnatcoll" cannot import static library project "gpr"
gprbuild: "p.gpr" processing failed

DEBUG    non-ready?: False, in queue: 330, running: 4
DEBUG    sync_tree /var/tmp/portage/dev-ada/langkit-22.0.0-r1/work/langkit-22.0.0/testsuite/tests/adalog/variadics -> /var/tmp/portage/dev-ada/langkit-22.0.0-r1/temp/tmpf781day3/adalog__variadics [delete=True, preserve_stmp=True]
DEBUG    rm -r /var/tmp/portage/dev-ada/langkit-22.0.0-r1/temp/tmpf781day3/misc__underived_abstract_node
DEBUG    job misc__underived_abstract_node.run_wrapper finished after 1.069795
INFO     PASS            misc__underived_abstract_node
DEBUG    non-ready?: False, in queue: 329, running: 4
DEBUG    sync_tree /var/tmp/portage/dev-ada/langkit-22.0.0-r1/work/langkit-22.0.0/testsuite/tests/contrib/lkt_semantic/base_type_methods -> /var/tmp/portage/dev-ada/langkit-22.0.0-r1/temp/tmpf781day3/contrib__lkt_semantic__base_type_methods [delete=True, preserve_stmp=True]
DEBUG    rm -r /var/tmp/portage/dev-ada/langkit-22.0.0-r1/temp/tmpf781day3/adalog__variadics
DEBUG    job adalog__variadics.run_wrapper finished after 0.496317
INFO     FAIL            adalog__variadics: non-zero status code
Running: gprbuild -P p.gpr -p (cwd=/var/tmp/portage/dev-ada/langkit-22.0.0-r1/temp/tmpf781day3/adalog__variadics)
Status code: 4
Output:
Setup
   [mkdir]        object directory for project P
gnatcoll_iconv.gpr:11:17: shared library project "gnatcoll_iconv" cannot import static library project "gpr"
gnatcoll.gpr:10:17: shared library project "gnatcoll" cannot import static library project "gpr"
gprbuild: "p.gpr" processing failed

DEBUG    non-ready?: False, in queue: 328, running: 4

This is still the same issue, but with a different project:

gnatcoll.gpr:10:17: shared library project "gnatcoll" cannot import static library project "gpr"

Now you have to check how you install libgpr: make libgpr.build libgpr.install should be enough (https://github.com/AdaCore/gprbuild/blob/master/Makefile#L10). Just as before, you need to build and install all the variants (static, static-pic and relocatable). And then I suspect that you’ll have to check XML/Ada as well.