Do you have a different machine to test on? Could also be a factor, alpine
gave me a segfault (see attached) but slim works OK.

[john@toaster jni-inchi-docker]$ more Dockerfile
> FROM openjdk:8u171-slim
> COPY smi2inchi.jar .


John

On Tue, 11 Sep 2018 at 16:23, John Mayfield <[email protected]>
wrote:

> I'll have a poke around in an alpine container this evening, does seem odd.
>
> A third option is nested-vm version, we used this in JChemPaint when it
> was an Applet - (see inchi-nestedvm in
> https://github.com/JChemPaint/jchempaint).
>
> On Tue, 11 Sep 2018 at 16:03, Maria Sorokina <[email protected]>
> wrote:
>
>> I am building my jar with Maven, but I don’t think that it is the
>> problem, as I tried tu run the jar on a Centos7 VM having just Java and it
>> worked without any problem.
>> I also desperately tried the dirty solution of downloading the manifest
>> and the jniinchi-1.03_1-LINUX-AMD64.so files the ini-inchi seems to
>> search for and put them where it seems to search them within the container,
>> but, of course it failed.
>>
>> I’ll try to search for a solution, but for now I’ll just do my thing
>> without containerizing this part of my app. If I find a solution, I’ll post
>> it here. Meanwhile, I’m still very open to any suggestion!
>>
>> Kind regards,
>>
>> Maria Sorokina, PhD
>> Steinbeck Research Group
>> Analytical Chemistry - Cheminformatics and Chemometrics
>> Friedrich-Schiller-University Jena, Germany
>> http://cheminf.uni-jena.de
>>
>> Le 11 sept. 2018 à 14:51, John Mayfield <[email protected]> a
>> écrit :
>>
>> Right, alpine was probably a red herring. Looking again I presume you
>> build app.jar yourself? It looks like you've removed the MANIFEST.xml that
>> is needed by JNI InChI to locate the native dependency. How are you
>> building the JAR?
>>
>> Unfortunately v1.03 of InChI is all we have for JNI ATM. My former
>> colleague has been looking at JNA InChI version (
>> https://github.com/dan2097/jna-inchi) but this is very different to the
>> JNI bindings and not a drop in replacement.
>>
>> John
>>
>> On Tue, 11 Sep 2018 at 09:48, Maria Sorokina <[email protected]>
>> wrote:
>>
>>> I tried the ubuntu 16.04 based image with Java 8 added, I get exactly
>>> the same error, only at the InChi generation. I have the feeling that
>>> something is missing in this minimal linux images for the InChi generator
>>> to run correctly, but I cannot find what.
>>>
>>> I also noticed that for an old version of ini-inchi (1.03, and the
>>> latest and only available is 1.6):
>>> npls-db-filler_1  | 2181 [main] INFO
>>> net.sf.jnati.deploy.repository.RemoteRepository  - Searching remote
>>> repository for: jniinchi-1.03_1-LINUX-AMD64 (
>>> http://jnati.sourceforge.net/jnati-repo)
>>>
>>> What am I missing in my configuration ? Knowing that everything works
>>> fine outside of Docker?
>>>
>>> The Dockerfile using Ubuntu:
>>>
>>> FROM ubuntu:16.04
>>> LABEL maintainer="[email protected]"
>>>
>>>
>>> RUN apt-get update && \
>>>     apt-get upgrade -y && \
>>>     apt-get install -y  software-properties-common && \
>>>     add-apt-repository ppa:webupd8team/java -y && \
>>>     apt-get update && \
>>>     echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select 
>>> true | /usr/bin/debconf-set-selections && \
>>>     apt-get install -y oracle-java8-installer && \
>>>     apt-get clean
>>>
>>> EXPOSE 8080
>>> VOLUME /tmp
>>> ARG JAR_FILE
>>> COPY ${JAR_FILE} app.jar
>>> ENTRYPOINT 
>>> ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
>>>
>>> Thank you for your help!
>>>
>>> Kind regards,
>>>
>>>
>>> Maria Sorokina, PhD
>>> Steinbeck Research Group
>>> Analytical Chemistry - Cheminformatics and Chemometrics
>>> Friedrich-Schiller-University Jena, Germany
>>> http://cheminf.uni-jena.de
>>>
>>> Le 11 sept. 2018 à 00:13, John Mayfield <[email protected]> a
>>> écrit :
>>>
>>> Unlikely to work in alpine, have you tried ubuntu/debian slim?
>>>
>>> John
>>>
>>> On Mon, 10 Sep 2018 at 18:16, Maria Sorokina <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I developed an app using CDK, and in particular it’s InChi Generator.
>>>> It runs perfectly with IntelliJ, and as a jar on MacOS and on CentOS. I
>>>> wanted to make it run within a Docker container (openjdk:8-jdk-alpine with
>>>> additional installation of gcc), the image is created without any problem,
>>>> but when I run the container, I get the following error just once:
>>>>
>>>>
>>>> npls-db-filler_1  | 0    [main] INFO
>>>> net.sf.jnati.deploy.artefact.ConfigManager  - Loading global configuration
>>>> npls-db-filler_1  | 4    [main] DEBUG
>>>> net.sf.jnati.deploy.artefact.ConfigManager  - Loading defaults:
>>>> jar:file:/app.jar!/BOOT-INF/lib/jnati-deploy-0.3.jar!/META-INF/jnati/jnati.default-properties
>>>> npls-db-filler_1  | 5    [main] INFO
>>>> net.sf.jnati.deploy.artefact.ConfigManager  - Loading artefact
>>>> configuration: jniinchi-1.03_1
>>>> npls-db-filler_1  | 6    [main] DEBUG
>>>> net.sf.jnati.deploy.artefact.ConfigManager  - Loading instance defaults:
>>>> jar:file:/app.jar!/BOOT-INF/lib/jnati-deploy-0.3.jar!/META-INF/jnati/jnati.instance.default-properties
>>>> npls-db-filler_1  | 9    [main] INFO
>>>> net.sf.jnati.deploy.repository.ClasspathRepository  - Searching classpath
>>>> for: jniinchi-1.03_1-LINUX-AMD64
>>>> npls-db-filler_1  | 14   [main] INFO
>>>> net.sf.jnati.deploy.repository.LocalRepository  - Searching local
>>>> repository for: jniinchi-1.03_1-LINUX-AMD64
>>>> npls-db-filler_1  | 16   [main] DEBUG
>>>> net.sf.jnati.deploy.repository.LocalRepository  - Artefact path:
>>>> /root/.jnati/repo/jniinchi/1.03_1/LINUX-AMD64
>>>> npls-db-filler_1  | 16   [main] INFO
>>>> net.sf.jnati.deploy.repository.LocalRepository  - Creating artefact:
>>>> /root/.jnati/repo/jniinchi/1.03_1/LINUX-AMD64
>>>> npls-db-filler_1  | 18   [main] DEBUG
>>>> net.sf.jnati.deploy.source.JarSource  - Opening jar: /app.jar
>>>> npls-db-filler_1  | 19   [main] WARN
>>>> net.sf.jnati.deploy.NativeArtefactLocator  - Error resolving artefact to
>>>> local repository
>>>> npls-db-filler_1  | java.io.FileNotFoundException: File not found:
>>>> MANIFEST.xml
>>>> npls-db-filler_1  | at
>>>> net.sf.jnati.deploy.source.JarSource.openFile(JarSource.java:67)
>>>> npls-db-filler_1  | at
>>>> net.sf.jnati.deploy.source.ArtefactSource.loadManifest(ArtefactSource.java:41)
>>>>
>>>>
>>>> And this  every time the InChiGenerator is called in my code:
>>>>
>>>>
>>>>  Error loading JNI InChI native code.
>>>> npls-db-filler_1  | You may need to compile the native code for your
>>>> platform.
>>>> npls-db-filler_1  | See http://jni-inchi.sourceforge.net for
>>>> instructions.
>>>> npls-db-filler_1  |
>>>> npls-db-filler_1  | 1033 [main] INFO
>>>> net.sf.jnati.deploy.artefact.ConfigManager  - Loading artefact
>>>> configuration: jniinchi-1.03_1
>>>> npls-db-filler_1  | 1037 [main] DEBUG
>>>> net.sf.jnati.deploy.artefact.ConfigManager  - Loading instance defaults:
>>>> jar:file:/app.jar!/BOOT-INF/lib/jnati-deploy-0.3.jar!/META-INF/jnati/jnati.instance.default-properties
>>>> npls-db-filler_1  | 1039 [main] INFO
>>>> net.sf.jnati.deploy.repository.ClasspathRepository  - Searching classpath
>>>> for: jniinchi-1.03_1-LINUX-AMD64
>>>> npls-db-filler_1  | 1039 [main] INFO
>>>> net.sf.jnati.deploy.repository.LocalRepository  - Searching local
>>>> repository for: jniinchi-1.03_1-LINUX-AMD64
>>>> npls-db-filler_1  | 1039 [main] DEBUG
>>>> net.sf.jnati.deploy.repository.LocalRepository  - Artefact path:
>>>> /root/.jnati/repo/jniinchi/1.03_1/LINUX-AMD64
>>>> npls-db-filler_1  | 1040 [main] INFO
>>>> net.sf.jnati.deploy.repository.LocalRepository  - Creating artefact:
>>>> /root/.jnati/repo/jniinchi/1.03_1/LINUX-AMD64
>>>> npls-db-filler_1  | 1040 [main] DEBUG
>>>> net.sf.jnati.deploy.source.JarSource  - Opening jar: /app.jar
>>>> npls-db-filler_1  | 1041 [main] WARN
>>>> net.sf.jnati.deploy.NativeArtefactLocator  - Error resolving artefact to
>>>> local repository
>>>> npls-db-filler_1  | java.io.FileNotFoundException: File not found:
>>>> MANIFEST.xml
>>>> npls-db-filler_1  | at
>>>> net.sf.jnati.deploy.source.JarSource.openFile(JarSource.java:67)
>>>>
>>>>
>>>>
>>>> Have anybody tried and succeed using InChiGenerator within a Docker
>>>> container? Which package/library/software I should add to either my Docker
>>>> image, either to my Maven repo to make it work within this container?
>>>>
>>>> Thank you for your help!
>>>>
>>>> Kind regards,
>>>>
>>>> Maria Sorokina, PhD
>>>> Steinbeck Research Group
>>>> Analytical Chemistry - Cheminformatics and Chemometrics
>>>> Friedrich-Schiller-University Jena, Germany
>>>> http://cheminf.uni-jena.de
>>>>
>>>> _______________________________________________
>>>> Cdk-user mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user
>>>>
>>>
>>>
>>

Attachment: 8u171-alpine.log
Description: Binary data

Attachment: 8u171-slim.log
Description: Binary data

_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to