user1321824
user1321824

Reputation: 445

ANT:exec command

i have a set of Environment variables in ANT exec command as follows,

<exec dir="${basedir}/src/" command="/usr/local/covidien/HDE/x86.linux2.6/bin/idlpp -S -l java ${basedir}/src/HelloWorldData.idl" >         
                <env key="OSPL_HOME" value="/usr/local/covidien/HDE/x86.linux2.6"/>
                <env key="OSPL_TARGET" value="x86.linux2.6"/>
                <env key="PATH" value="$OSPL_HOME/bin:$PATH"/>
                <env key="LD_LIBRARY_PATH" value="$OSPL_HOME/lib:$LD_LIBRARY_PATH"/>
                <env key="CPATH" value="$OSPL_HOME/include:$OSPL_HOME/include/sys:$CPATH"/>
                <env key="OSPL_TMPL_PATH" value="$OSPL_HOME/etc/idlpp"/>
                <env key="OSPL_URI" value="$OSPL_HOME/etc/idlpp"/>
                <env key="CLASSPATH" value="$OSPL_HOME/jar/dcpssaj.jar:$CLASSPATH"/>
                <env key="CLASSPATH" value="$OSPL_HOME/jar/dcpscj.jar:$CLASSPATH"/>
        </exec>

but it throws error as error while loading shared libraries: libddsutil.so:.I have an external lib which contains *.so files.I need to include it with exec command.How to add external lib with exec command

Upvotes: 3

Views: 5712

Answers (1)

Mark O&#39;Connor
Mark O&#39;Connor

Reputation: 78011

Unix environment variables do not work within the ANT file, need to be imported as ANT properties. Also the arguments to the command must be specified separately. See the exec task doco

Try something like this:

<property environment="env"/>

<exec dir="${basedir}/src/" executable="/usr/local/covidien/HDE/x86.linux2.6/bin/idlpp">
        <arg line="-S -l java ${basedir}/src/HelloWorldData.idl" >         
        <env key="OSPL_HOME" value="/usr/local/covidien/HDE/x86.linux2.6"/>
        <env key="OSPL_TARGET" value="x86.linux2.6"/>
        <env key="PATH" value="${env.OSPL_HOME}/bin:${env.PATH}"/>
        <env key="LD_LIBRARY_PATH" value="${env.OSPL_HOME}/lib:${env.LD_LIBRARY_PATH}"/>
        <env key="CPATH" value="${env.OSPL_HOME}/include:${env.OSPL_HOME}/include/sys:${env.CPATH}"/>
        <env key="OSPL_TMPL_PATH" value="${env.OSPL_HOME}/etc/idlpp"/>
        <env key="OSPL_URI" value="${env.OSPL_HOME}/etc/idlpp"/>
        <env key="CLASSPATH" value="${env.OSPL_HOME}/jar/dcpssaj.jar:${env.CLASSPATH}"/>
</exec>

Upvotes: 5

Related Questions