Hi Kaz,
I have updated the .jar files in ADViewers/ImageJ/EPICS_areaDetector on Github as follows:
caj-1.1.10.jar Deleted, not needed.
epics-ntypes-0.3.5.jar Updated from 0.3.1
epics-pvaccess-5.1.5.jar Updated from 5.1.1
epics-pvdata-6.1.5.jar Updated from 6.1.1
epics-pvdatabase-4.3.1.jar Deleted, not needed
epics-util-1.0.3.jar New file, needed by new version of pvAccess
jca-2.4.5.jar Updated from 2.3.6
I have tested on Centos 7 and Windows 10 using a fresh ImageJ/plugins/EPICS_areaDetector from the master branch ADViewers. Both the EPICS_AD_Viewer (Channel Access) and the EPICS_NTNDA_Viewer (pvAccess) work fine using the latest ImageJ
(1.53d) and the jre that comes with that.
Kaz, please test to see if the master branch works with your Java 11 system. The dependency on Corba should be gone, so it should work.
Answers to your questions:
Ø
epics-pvaclient-4.3.2.jar {Source location}
Source location is
https://github.com/epics-base/pvaClientJava. However, unlike epicsCoreJava the .tar.gz files for pvaClientJava do not include .jar files.
Ø
jna-5.1.0.jar {What is this}
This is Java Native Access.
https://github.com/java-native-access/jna. It is used to call the decompression codecs (JPEG, Blosc, bitshuffle, etc.) from ImageJ for compressed NTNDArrays.
Ø
NetCDF_.jar {Source location}
Source location is
https://lmb.informatik.uni-freiburg.de/resources/opensource/imagej_plugins/netcdf.html.
Mark
From: Gofron, Kazimierz <kgofron at bnl.gov>
Sent: Tuesday, August 25, 2020 9:55 AM
To: Mark Rivers <rivers at cars.uchicago.edu>; 'J. Lewis Muir' <jlmuir at imca-cat.org>
Cc: tech-talk at aps.anl.gov
Subject: Re: ADViewers: EPICS_NTNDA_VIEWER' does not connect - ADViewers
The .jar files in current ADViewer distribution:
- caj-1.1.10.jar
- epics-ntypes-0.3.1.jar
- epics-pvaccess-5.1.1.jar
- epics-pvaclient-4.3.2.jar
- epics-pvdata-6.1.1.jar
- epics-pvdatabase-4.3.1.jar
- jca-2.3.6.jar
- jna-5.1.0.jar
- NetCDF_.jar
I am not sure where sources for
·
epics-pvaclient-4.3.2.jar {Source location}
·
jna-5.1.0.jar {What is this}
·
NetCDF_.jar {Source location}
Is epics-pvdatabase-4.3.1.jar needed?
Remaining most recent .jar files are distributed. The jca and caj is combined into jca, I think.
It appears that the CORBA dependency in pvAccess was removed in this commit in June 2018.
https://github.com/epics-base/epicsCoreJava/commit/1d300d365c91b7fdc89bb93ee4d7b4b3241c734a#diff-91dff54d9f3689d9045dbd98eea6b1f2
I will work on updating ADViewers to use the most recent pvAccess jar files.
Mark
-----Original Message-----
From: J. Lewis Muir <jlmuir at imca-cat.org>
Sent: Wednesday, August 19, 2020 5:45 PM
To: Gofron, Kazimierz <kgofron at bnl.gov>
Cc: Mark Rivers <rivers at cars.uchicago.edu>;
tech-talk at aps.anl.gov
Subject: Re: ADViewers: EPICS_NTNDA_VIEWER' does not connect - ADViewers
On 08/19, Gofron, Kazimierz via Tech-talk wrote:
> The problem is in the epics-pvaccess-5.1.1.jar. Were these jar files created with Java 8?
>
> kaz@kaz-desktop:/epics/utils/ADViewers/ImageJ/EPICS_areaDetector$
> strings epics-pvaccess-5.1.1.jar | grep BlockingTCPConnector
> org/epics/pvaccess/client/impl/remote/tcp/BlockingTCPConnector$Transpo
> rtFactory.class
> org/epics/pvaccess/client/impl/remote/tcp/BlockingTCPConnector.class
> org/epics/pvaccess/client/impl/remote/tcp/BlockingTCPConnector$Transpo
> rtFactory.classPK
> org/epics/pvaccess/client/impl/remote/tcp/BlockingTCPConnector.classPK
Where's the source code for the epics-pvaccess-5.1.1.jar? Is it the following?
https://github.com/epics-rip/pvAccessJava/tree/5.1.1
If so, that code contains three classes that reference classes in the org.omg.CORBA package that have been removed in Java 11:
src/org/epics/pvaccess/impl/remote/IntrospectionRegistry.java
src/org/epics/pvaccess/util/IntHashMap.java
src/org/epics/pvaccess/util/ShortHashMap.java
I don't know anything about pvAccessJava, but if the latest version is at
https://github.com/epics-base/epicsCoreJava
then a search for "corba" there shows that it does not contain references to classes in the org.omg.CORBA package, so if you can upgrade to a newer version of pvAccessJava that does not reference CORBA classes, then I think the problem would go away.
Another solution would be to add JARs to the Java classpath providing the CORBA classes such as from JacORB:
https://github.com/JacORB/JacORB
Yet another solution would of course be to use a Java 8 VM instead of a Java 11 VM.
Lewis