Hi all,
I have a simple Talend job
that reads the version of librsvg2-bin
library, writes it to a file and sends it to Azure Blob.
Component tSystem needs to execute this command: rsvg-convert -v
.
When I run the container I got this message:
java.io.IOException: Cannot run program "rsvg-convert": error=2, No such file or directory
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at runscriptdemo.containersdemo_0_1.ContainersDemo.tSystem_1Process(ContainersDemo.java:1581)
at runscriptdemo.containersdemo_0_1.ContainersDemo.tFileInputXML_1Process(ContainersDemo.java:1218)
at runscriptdemo.containersdemo_0_1.ContainersDemo.runJobInTOS(ContainersDemo.java:3145)
at runscriptdemo.containersdemo_0_1.ContainersDemo.main(ContainersDemo.java:2963)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 8 more
I suppose it’s about rsvg-convert library paths. Is there any idea how to resolve this thing?
This is my docker file:
FROM centos:7.3.1611
# Java arguments
ARG java_jre_version=8u131
ARG java_jre_build_num=b11
ARG java_jre_download_hash=d54c1d3a095b4ff2b6607d096fa80163
ARG java_jre_checksum=ebebfd327e67c4bbe47dabe6b9f6e961
ARG java_home=/usr/java/latest
ARG talend_job=simple_job
ARG talend_version=0.1
#talend job variables
ENV TALEND_JOB ${talend_job}
ENV TALEND_VERSION ${talend_version}
ENV ARGS ""
# envrionment variables
ENV JAVA_HOME ${java_home}
ENV PATH $JAVA_HOME/bin:$PATH
# Java Installation
RUN yum install -y wget && \
wget --quiet --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/${java_jre_version}-${java_jre_build_num}/${java_jre_download_hash}/jre-${java_jre_version}-linux-x64.rpm" && \
echo "${java_jre_checksum} jre-${java_jre_version}-linux-x64.rpm" >> MD5SUM && \
md5sum -c MD5SUM && \
yum install -y "jre-${java_jre_version}-linux-x64.rpm" \
&& yum clean all \
&& rm -rf "jre-${java_jre_version}-linux-x64.rpm" \
&& update-alternatives --install /usr/bin/java java ${JAVA_HOME}/bin/java 999999
WORKDIR /opt/talend
COPY ${TALEND_JOB}_${talend_version}.zip .
RUN yum install -y unzip && \
unzip ${TALEND_JOB}_${TALEND_VERSION}.zip && \
rm -rf ${TALEND_JOB}_${TALEND_VERSION}.zip && \
chmod +x ${TALEND_JOB}/${TALEND_JOB}_run.sh
RUN yum -y install librsvg2
VOLUME /data/context
CMD ["/bin/sh","-c","${TALEND_JOB}/${TALEND_JOB}_run.sh ${ARGS}"]
What do I do wrong?
BR,
Tanja