Skip parsers can only create error nodes.
Blady-Com opened this issue · 4 comments
When building on branch 21.2 (10d9792), I've got this error:
cd libadalang-build \
&& . env/bin/activate \
&& python3 ada/manage.py make \
&& deactivate
Generating source for libadalang...
Lkt processing...
Compiling the lexer...
Compiling the grammar...
grammar.py:448: error: Skip parsers can only create error nodes
What could be wrong?
Thanks, Pascal.
Hello,
I suspect that you are trying to build Libadalang’s 21.2 branch using Langkit’s master branch. Could you double check? (you should use Langkit’s 21.2 branch as well)
Hello Pierre-Marie, at first glance same 21.2 branch.
Here are the previous steps:
git clone --depth=1 \
https://github.com/adacore/libadalang -b 21.2 libadalang-src
Cloning into 'libadalang-src'...
remote: Enumerating objects: 3545, done.
remote: Counting objects: 100% (3545/3545), done.
remote: Compressing objects: 100% (3008/3008), done.
remote: Total 3545 (delta 252), reused 2466 (delta 140), pack-reused 0
Receiving objects: 100% (3545/3545), 2.46 MiB | 2.08 MiB/s, done.
Resolving deltas: 100% (252/252), done.
Updating files: 100% (3284/3284), done.
git clone --depth=1 \
https://github.com/adacore/langkit -b 21.2 langkit-src
Cloning into 'langkit-src'...
remote: Enumerating objects: 1678, done.
remote: Counting objects: 100% (1678/1678), done.
remote: Compressing objects: 100% (1552/1552), done.
remote: Total 1678 (delta 229), reused 571 (delta 49), pack-reused 0
Receiving objects: 100% (1678/1678), 1.10 MiB | 1.67 MiB/s, done.
Resolving deltas: 100% (229/229), done.
mkdir -p libadalang-build
cp -a libadalang-src/* libadalang-build
cd libadalang-build \
&& python3 -mvenv env \
&& . env/bin/activate \
&& pip install wheel \
&& pip install -r REQUIREMENTS.dev \
&& mkdir -p langkit \
&& cp -a ../langkit-src/* langkit \
&& deactivate
...
Running setup.py develop for e3-core
Running setup.py develop for e3-testsuite
Running setup.py develop for langkit
...
Pascal.
Hello,
Ah, I see: on 21.1, the REQUIREMENTS.dev
file triggers the installation of Langkit using a clone of Langkit’s master
branch. The following should allow you to workaround this issue (fixed on Libadalang’s master
branch by the way):
grep -v langkit REQUIREMENTS.dev > fixed-reqs.txt
pip install -r fixed-reqs.txt
If it helps, note that you can use Alire to install Libadalang without the burden of going through all these steps.
I’m assuming my suggestion works, so closing this.