Loading symbolic links correctly when using the Rational Team Concert/Jenkins integration

When using the Jenkins plugin to load files from Jazz SCM it is possible that the symbolic links in the Jazz streams will not be loaded correctly. The problem is that the default Java runtime for Jenkins will not know how to deal with the symbolic links. It is necessary to manually include the .dll/.so files into the Jenkins library path so the symbolic links will load correctly. This article will detail how to setup Jenkins to get the symbolic links to load correctly.

The first consideration to get the loading of symbolic links to work is the JDK. In order to create working symbolic links, you need Java 1.7 or better. If the Jenkins server is on Linux you need the Eclipse native libraries to make it work. If the Jenkins server is on Windows then you would need the Rational Team Concert (RTC) and Eclipse native libraries. These files are located in the following plugins in the RTC Build Toolkit under <Build Toolkit root install>/buildsystem/buildengine/eclipse/plugins:
com.ibm.team.filesystem.client_<version>.jar
org.eclipse.core.filesystem.<os>_<version>.jar

From the com.ibm.team.filesystem.client plugin the Windows native library is called winfsnatives.dll under /os/win32/x86/ or /os/win32/x86_64/ depending on which Windows architecture you are using. From the org.eclipse.core.filesystem.<os> plugin you need all the .dll or .so files under /os/<os>/<architecture>. Copy all these files into a new folder location for example “c:/natives”. This will be the file location we will add the Jenkins library path. To add the files to the library path you will need to add the following property to the execution of Jenkins on Windows “-Djava.library.path=”c:natives;%Path%”” or the following on Linux “-Djava.library.path=”natives:${LD_LIBRARY_PATH}”. After this property is added to the Jenkins startup parameters, the server must be restarted for the new settings to take effect.

For more information


About the author

Spencer Murata has been working for IBM for 11 years. Currently he works on the RTC Level 3 Team in Littleton, MA. He can be contacted at murata@us.ibm.com.

Feedback
Was this information helpful? Yes No 0 people rated this as helpful.