Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.ada > #49413 > unrolled thread

Emacs ada-mode installation on Debias bullseye

Started byR R <rrr.eee.27@gmail.com>
First post2021-09-04 16:17 -0700
Last post2021-09-06 10:02 -0700
Articles 6 — 3 participants

Back to article view | Back to comp.lang.ada


Contents

  Emacs ada-mode installation on Debias bullseye R R <rrr.eee.27@gmail.com> - 2021-09-04 16:17 -0700
    Re: Emacs ada-mode installation on Debias bullseye Simon Wright <simon@pushface.org> - 2021-09-05 10:55 +0100
      Re: Emacs ada-mode installation on Debias bullseye Stephen Leake <stephen_leake@stephe-leake.org> - 2021-09-05 11:19 -0700
      Re: Emacs ada-mode installation on Debias bullseye R R <rrr.eee.27@gmail.com> - 2021-09-05 11:32 -0700
        Re: Emacs ada-mode installation on Debias bullseye R R <rrr.eee.27@gmail.com> - 2021-09-05 13:58 -0700
        Re: Emacs ada-mode installation on Debias bullseye Stephen Leake <stephen_leake@stephe-leake.org> - 2021-09-06 10:02 -0700

#49413 — Emacs ada-mode installation on Debias bullseye

FromR R <rrr.eee.27@gmail.com>
Date2021-09-04 16:17 -0700
SubjectEmacs ada-mode installation on Debias bullseye
Message-ID<4ce850c3-9088-4916-b2b0-dc49bc100b6cn@googlegroups.com>
I recently upgraded my Debian machine to bullseye. By then Emacs' ada-mode stopped working as it couldn't find some dynamic library. So I reinstalled ada-mode 7.1.8 and now I have to compile the wisi parser. First I had to install libgnatcoll19-dev. But I still get the error messages:

ada_mode_wisi_parse.gpr:22:06: imported project file "gnatcoll_sqlite" not found
ada_mode_wisi_parse.gpr:23:06: imported project file "gnatcoll_xref" not found

So I tried to install libgnatcoll-sqlite20-dev, but that doesn't exist and libgnatcoll-sqlite20 doesn't provide a gpr file. I tried to comment out gnatcoll_sqlite and gnatcoll_xref in ada_mode_wisi_parse.gpr.gp to no avail.

Any hints how to get the ada-mode working again?

regards
    Rolf

[toc] | [next] | [standalone]


#49419

FromSimon Wright <simon@pushface.org>
Date2021-09-05 10:55 +0100
Message-ID<lyo897jqi4.fsf@pushface.org>
In reply to#49413
R R <rrr.eee.27@gmail.com> writes:

> I recently upgraded my Debian machine to bullseye. By then Emacs'
> ada-mode stopped working as it couldn't find some dynamic library. So
> I reinstalled ada-mode 7.1.8 and now I have to compile the wisi
> parser. First I had to install libgnatcoll19-dev. But I still get the
> error messages:
>
> ada_mode_wisi_parse.gpr:22:06: imported project file "gnatcoll_sqlite" not found
> ada_mode_wisi_parse.gpr:23:06: imported project file "gnatcoll_xref" not found
>
> So I tried to install libgnatcoll-sqlite20-dev, but that doesn't exist
> and libgnatcoll-sqlite20 doesn't provide a gpr file.

I don't know about the Debian system, but wouldn't the numbers have to
match (i.e., 19 vs 20)?

If you can't find the prebuilt -dev package, try building from source as
suggested here:
https://www.nongnu.org/ada-mode/ada-mode.html#Building-GNATCOLL-2019 -
probably best to install in a private location, not over the
system. Also, when you get to the Github repo, the v21.0.0 package may
have compilation issues depending on your compiler: there are very few
changes between that version and the latest commit.

>                                                      I tried to
> comment out gnatcoll_sqlite and gnatcoll_xref in
> ada_mode_wisi_parse.gpr.gp to no avail.

Since the wisi parser relies on the facilities provided by these two
packages, that is *guaranteed* not to work!

[toc] | [prev] | [next] | [standalone]


#49429

FromStephen Leake <stephen_leake@stephe-leake.org>
Date2021-09-05 11:19 -0700
Message-ID<86fsuisx5i.fsf@stephe-leake.org>
In reply to#49419
Simon Wright <simon@pushface.org> writes:

>>                                                      I tried to
>> comment out gnatcoll_sqlite and gnatcoll_xref in
>> ada_mode_wisi_parse.gpr.gp to no avail.
>
> Since the wisi parser relies on the facilities provided by these two
> packages, that is *guaranteed* not to work!

It's only gpr_query that relies on those libraries. gpr_query provides
the cross reference backend. So technically, you could comment out
gpr_query in ada_mode_wisi_parse.gpr.gp, and only build the parser. A
lot of ada-mode would still work.

-- 
-- Stephe

[toc] | [prev] | [next] | [standalone]


#49430

FromR R <rrr.eee.27@gmail.com>
Date2021-09-05 11:32 -0700
Message-ID<92e8b506-350f-46db-96cc-83251b595088n@googlegroups.com>
In reply to#49419
On Sunday, September 5, 2021 at 11:55:35 AM UTC+2, Simon Wright wrote:
> R R  writes: 
> 
> > I recently upgraded my Debian machine to bullseye. By then Emacs' 
> > ada-mode stopped working as it couldn't find some dynamic library. So 
> > I reinstalled ada-mode 7.1.8 and now I have to compile the wisi 
> > parser. First I had to install libgnatcoll19-dev. But I still get the 
> > error messages: 
> > 
> > ada_mode_wisi_parse.gpr:22:06: imported project file "gnatcoll_sqlite" not found 
> > ada_mode_wisi_parse.gpr:23:06: imported project file "gnatcoll_xref" not found 
> > 
> > So I tried to install libgnatcoll-sqlite20-dev, but that doesn't exist 
> > and libgnatcoll-sqlite20 doesn't provide a gpr file.
> I don't know about the Debian system, but wouldn't the numbers have to 
> match (i.e., 19 vs 20)? 

No, I don't think they have to match.

> If you can't find the prebuilt -dev package, try building from source as 
> suggested here: 
> https://www.nongnu.org/ada-mode/ada-mode.html#Building-GNATCOLL-2019 - 
> probably best to install in a private location, not over the 
> system. Also, when you get to the Github repo, the v21.0.0 package may 
> have compilation issues depending on your compiler: there are very few 
> changes between that version and the latest commit.

thanks for the hint to compile it myself. After reading Stephe's page I installed libgnatcoll-xref20-dev which provides both necessary gpr files. The problem with gnatcoll is solved. If you don't use gnatcoll on a regular basis it is not obvious which packages exist and what they provide.

After successful installation of gnatcoll the compilation then fails at 
gen_emacs_wisi_lr_parse.ads:37:53: missing ";"

That line reads:

    with WisiToken.Parse.LR.Parser;
    with WisiToken.Syntax_Trees;
    with Wisi;
    generic
       type Parse_Data_Type  is new Wisi.Parse_Data_Type with private; --line 37, char pos 53 is right before the keyword 'with'.

The system compiler FSF gnat 10.2.1 doesn't like a generic parameter of a tagged type with a private part. Is that a new syntax?

  Rolf

[toc] | [prev] | [next] | [standalone]


#49433

FromR R <rrr.eee.27@gmail.com>
Date2021-09-05 13:58 -0700
Message-ID<aac69e0c-5043-4c8b-9b02-7314e5a406bfn@googlegroups.com>
In reply to#49430
On Sunday, September 5, 2021 at 8:32:23 PM UTC+2, R R wrote:

> The system compiler FSF gnat 10.2.1 doesn't like a generic parameter of a tagged type with a private part. Is that a new syntax? 

OK, I remember having seen that before, it was in the emacs ada-mode mailing list:
>> gen_run_wisi_lr_parse.ads:27:65: generic private child packages not
>> permitted
>
>This is a known bug in FSF gnat, triggered by the compiler option
>-gnat2020.
>
>The only workaround is to use Community GNAT 2019 or 2020 (from
>https://www.adacore.com/download), or possibly an earlier FSF version.

Seems very weird to me that I have to install the community edition in a Debian system...

Rolf

[toc] | [prev] | [next] | [standalone]


#49442

FromStephen Leake <stephen_leake@stephe-leake.org>
Date2021-09-06 10:02 -0700
Message-ID<86eea1r61y.fsf@stephe-leake.org>
In reply to#49430
R R <rrr.eee.27@gmail.com> writes:

> On Sunday, September 5, 2021 at 11:55:35 AM UTC+2, Simon Wright wrote:
>> R R  writes: 
>> 
>> > I recently upgraded my Debian machine to bullseye. By then Emacs' 
>> > ada-mode stopped working as it couldn't find some dynamic library. So 
>> > I reinstalled ada-mode 7.1.8 and now I have to compile the wisi 
>> > parser. First I had to install libgnatcoll19-dev. But I still get the 
>> > error messages: 
>> > 
>> > ada_mode_wisi_parse.gpr:22:06: imported project file "gnatcoll_sqlite" not found 
>> > ada_mode_wisi_parse.gpr:23:06: imported project file "gnatcoll_xref" not found 
>> > 
>> > So I tried to install libgnatcoll-sqlite20-dev, but that doesn't exist 
>> > and libgnatcoll-sqlite20 doesn't provide a gpr file.
>> I don't know about the Debian system, but wouldn't the numbers have to 
>> match (i.e., 19 vs 20)? 
>
> No, I don't think they have to match.

What evidence do you have for this?

In general, all GNAT code must come from the same compiler version; they
are free to change lots of internal stuff between versions. You might
get lucky mixing versions, but why waste time with stuff that probably
won't work?

> After successful installation of gnatcoll the compilation then fails at 
> gen_emacs_wisi_lr_parse.ads:37:53: missing ";"
>
> That line reads:
>
>     with WisiToken.Parse.LR.Parser;
>     with WisiToken.Syntax_Trees;
>     with Wisi;
>     generic
>        type Parse_Data_Type  is new Wisi.Parse_Data_Type with private; --line 37, char pos 53 is right before the keyword 'with'.
>
> The system compiler FSF gnat 10.2.1 doesn't like a generic parameter of a tagged type with a private part. Is that a new syntax?

not new, just broken in FSF gnat 10.2.1 with -gnat2020

-- 
-- Stephe

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.ada


csiph-web