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

Please provide a way of compiling/using AJIS GPL with latest Community release #5

Open
vsonnier opened this issue Sep 23, 2018 · 2 comments

Comments

@vsonnier
Copy link

First, thanks for the Community 2018 release !
No here is my problem:

I would like to be able to use the AJIS suite in Windows x64 with the lastest Community release.
That would need a Win64 build of the AJIS preferably in the latest version. (and a Win64 JDK of course)
Howver, the latest AJIS GPL was provided in 2014, and in x86 form at the time.
In addition, seeing the more recent GNAT Pro comparison chart the AJIS suite appears to be not available for the Community edition.

At the same time, AdaCore is showing an interesting AdaCoreU tutorial on the subject: Ada 004 - Lesson 4 - Ada and Java while it is not usable on the current Community edition, at least on Windows.

So, assuming AJIS GPL 2014 is the latest available release I decided to try to compile it from source on my GNAT Community 2018 Win64.
As far as I understood the structure, we only need to build the following GPR projects:

  • gnatjni in src\jni
  • ajis in prototypes\ada2java\runtime\ada
  • ada2java in prototypes\ada2java\src

and of course the Java ajis.jar.

Now after aplying some fixes in the gpr and source to be able to compile, I'm still stuck at the jni compilation with the following error: user-defined descendants of package Interfaces are not allowed.

I understand the error, but there must be a way to override this check otherwise the project would be impossible to build.
I've not seen in Makefile and gpr any such options.

Could you give me some pointers on how to compile AJIS properly ? Thank you.

@setton
Copy link
Member

setton commented Sep 24, 2018

Hello @vsonnier,
unfortunately this would require the latest sources of AJIS, and, as you can see, we are no longer releasing a community version of AJIS... this is a decision based on the fact that we think (or we thought) that AJIS is of interest to our Pro customers but not necessarily to the open-source community... we can perhaps revisit this decision - out of curiosity, and to help us argument this, is this something that you are interested in for learning purposes, or for a particular project?
Nico

@vsonnier
Copy link
Author

Hello @setton,

Well truth be told I'm also one of your customers, and I've in the past had support about AJIS on how to interface one of our tools with it...
Here, I'm only asking as a personnal interest and I don't have a project in mind right now.

I toyed a bit with the sources just to see if I could actually make it work, just in case.

As for a more general interest I would think that providing the necessary tooling to interface Ada with the widest used language and biggest ecosystem in existence easily would be indeed very intresting for the community at large, Imho.

In the simple case of our internal tool it was the easiest way to interface the graphical part which use JFreeChart.
Because no one sane is going to even try to re-create something like JFreeChart in GTKAda, ever. :)

That was just the example I know, there must be others. AJIS is really powerful and so much more than a simple Interfacing with C it may attract the community provided it is advertised properly...

For instance it is actually much easier to interface Ada-Java than Java-C using JNI thanks to AJIS.

Anyway thank you for your answer.

Regards,

Vincent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants