It's all about the answers!

Ask a question

What causes "the underlying platform does not support symbolic links" error when loading a workspace with scmtools


Karl Weinert (2.0k42636) | asked Sep 09 '13, 12:55 p.m.
JAZZ DEVELOPER
retagged Sep 16 '13, 8:21 a.m. by Ralph Earle (25738)
I get the following error when trying to load a workspace that contains symbolic links on Ubuntu
Unable to create symbolic link /General/link.ln to link.txt because the underlying platform does not support symbolic links
Ubuntu 10.04.4 LTS (Lucid Lynx)  64 bit Server (ubuntu-10.04.4-server-amd64)
uname -a
 Linux servername 2.6.32-50-server #112-Ubuntu SMP Tue Jul 9 20:45:08 UTC 2013 x86_64 GNU/Linux

4.0.2 version of SCM
scm -v
com.ibm.team.filesystem.cli.tools, version 3.1.200.v20120924_1445

32 bit sun java 1.6
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)

Full Stack trace
kweinert:~/scm32$ /opt/ibm/jazz64/scmtools/eclipse/scm load -r r -i PrimaryWS
com.ibm.team.filesystem.client.FileSystemStatusException: Status WARNING: com.ibm.team.filesystem.client code=0 There were 1 errors.  After correcting the problems, it is recommended that components be reloaded.  The reload will be incremental, loading only the missing items.  You can further reduce the reload time by reloading just the projects out of sync. null children=[Status WARNING: com.ibm.team.filesystem.client code=0 Unable to create symbolic link /General/link.ln to link.txt because the underlying platform does not support symbolic links null]
        at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.reportErrorsAsException(FileSystemOperation.java:235)
        at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.run(FileSystemOperation.java:102)
        at com.ibm.team.filesystem.client.internal.rest.util.LoadUtil.load(LoadUtil.java:563)
        at com.ibm.team.filesystem.rcp.core.internal.rest.FilesystemRestClient.postLoadCFA(FilesystemRestClient.java:774)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.ibm.team.filesystem.client.daemon.JSONHandler.handle(JSONHandler.java:322)
        at com.ibm.team.filesystem.client.internal.http.HttpConnection.readNextRequest(HttpConnection.java:628)
        at com.ibm.team.filesystem.client.internal.http.HttpConnection$1.run(HttpConnection.java:470)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
        at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(MarshallerUtil.java:326)
        at com.ibm.team.repository.common.serialize.internal.JSONDeserializer.deserializeErrorObj(JSONDeserializer.java:955)
        at com.ibm.team.filesystem.client.internal.marshalling.ExceptionHandlingJSONDeserializer.deserializeErrorObj(ExceptionHandlingJSONDeserializer.java:128)
        at com.ibm.team.repository.common.serialize.internal.JSONDeserializer.deserializeException(JSONDeserializer.java:933)
        at com.ibm.team.filesystem.client.internal.marshalling.EObjectJSONDeserializer.deserializeError(EObjectJSONDeserializer.java:71)
        at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.executeRequest(RestInvocationHandler.java:267)
        at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.executeAndReturnResult(RestInvocationHandler.java:221)
        at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.invokeInternal(RestInvocationHandler.java:368)
        at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.invoke(RestInvocationHandler.java:311)
        at $Proxy0.postLoadCFA(Unknown Source)
        at com.ibm.team.filesystem.cli.client.internal.subcommands.LoadCmd.run(LoadCmd.java:165)
        at com.ibm.team.filesystem.cli.client.internal.subcommands.LoadCmdLauncher.run(LoadCmdLauncher.java:177)
        at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:682)
        at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.doStart(SubcommandLauncher.java:403)
        at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:180)
        at com.ibm.team.filesystem.cli.core.internal.Application.start(Application.java:50)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
Contains : 0 Unable to create symbolic link /General/link.ln to link.txt because the underlying platform does not support symbolic links
Scm:
JVM terminated. Exit code=3
/opt/sun/jdk/bin/java
-Xmx1024m
-XX:-UseGCOverheadLimit
-Dosgi.requiredJavaVersion=1.6
-jar /opt/ibm/jazz64/scmtools/eclipse//plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /opt/ibm/jazz64/scmtools/eclipse/scm
-name Scm
--launcher.library /opt/ibm/jazz64/scmtools/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.2.R36x_v20101019_1345/eclipse_1310.so
-startup /opt/ibm/jazz64/scmtools/eclipse//plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
-exitdata 50000
-data @noDefault load
-r r
-i PrimaryWS
-vm /opt/sun/jdk/bin/java
-vmargs
-Xmx1024m
-XX:-UseGCOverheadLimit
-Dosgi.requiredJavaVersion=1.6
-jar /opt/ibm/jazz64/scmtools/eclipse//plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar

2 answers



permanent link
Carlton Henderson (1323) | answered Dec 18 '13, 1:11 p.m.
I think you can get a similar error if you're using the RTC Build Toolkit (say, with the Jenkins Team Concert Plugin) and you forget to do the extra Team Concert Plugin setup required for the Build Toolkit to work with symlinks.

RTC : checkout...
RTC Checkout : Source control setup
RTC Checkout : Accepting changes into workspace "main Core-Build Workspace B" ...
RTC Checkout : Fetching files to fetch destination "/space/jenkins/workspace/Build-main-LinuxX64-RTC-Production" ...
FATAL: RTC : checkout failure: There were 2 errors. After correcting the problems, it is recommended that components be reloaded. The reload will be incremental, loading only the missing items. You can further reduce the reload time by reloading just the projects out of sync.
There were 2 errors. After correcting the problems, it is recommended that components be reloaded. The reload will be incremental, loading only the missing items. You can further reduce the reload time by reloading just the projects out of sync.
Unable to create symbolic link libfoo.so to libfoo.so.0.9.8 because the underlying platform does not support symbolic links
Unable to create symbolic link libbar.so to libbar.so.0.9.8 because the underlying platform does not support symbolic links

com.ibm.team.build.internal.scm.SourceControlUtility$3: Status WARNING: com.ibm.team.filesystem.client code=0 There were 2 errors. After correcting the problems, it is recommended that components be reloaded. The reload will be incremental, loading only the missing items. You can further reduce the reload time by reloading just the projects out of sync. null children=[Status WARNING: com.ibm.team.filesystem.client code=0 Unable to create symbolic link libfoo.so to libfoo.so.0.9.8 because the underlying platform does not support symbolic links null Status WARNING: com.ibm.team.filesystem.client code=0 Unable to create symbolic link libbar.so to libbar.so.0.9.8 because the underlying platform does not support symbolic links null]
at com.ibm.team.build.internal.scm.SourceControlUtility.updateFileCopyArea(SourceControlUtility.java:685)
at com.ibm.team.build.internal.hjplugin.rtc.RepositoryConnection.checkout(RepositoryConnection.java:429)
at com.ibm.team.build.internal.hjplugin.rtc.RTCFacade.checkout(RTCFacade.java:410)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at com.ibm.team.build.internal.hjplugin.RTCFacadeFactory$RTCFacadeWrapper.invoke(RTCFacadeFactory.java:96)
at com.ibm.team.build.internal.hjplugin.RTCCheckoutTask.invoke(RTCCheckoutTask.java:110)
at com.ibm.team.build.internal.hjplugin.RTCCheckoutTask.invoke(RTCCheckoutTask.java:31)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2387)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:738)
Contains : 0 Unable to create symbolic link libfoo.so to libfoo.so.0.9.8 because the underlying platform does not support symbolic links
Contains : 1 Unable to create symbolic link libbar.so to libbar.so.0.9.8 because the underlying platform does not support symbolic links
ERROR: RTC : checkout failure: There were 2 errors. After correcting the problems, it is recommended that components be reloaded. The reload will be incremental, loading only the missing items. You can further reduce the reload time by reloading just the projects out of sync.
There were 2 errors. After correcting the problems, it is recommended that components be reloaded. The reload will be incremental, loading only the missing items. You can further reduce the reload time by reloading just the projects out of sync.
Unable to create symbolic link libfoo.so to libfoo.so.0.9.8 because the underlying platform does not support symbolic links
Unable to create symbolic link libbar.so to libbar.so.0.9.8 because the underlying platform does not support symbolic links


permanent link
Karl Weinert (2.0k42636) | answered Sep 09 '13, 12:58 p.m.
JAZZ DEVELOPER
Problem was caused by running the 64 bit version of scm tools using 32 bit jvm
Switching to the 32 bit version of the scmtools allowed the workspace to load without any errors.
It also worked when switching to a 64 bit version of Java with the 64 bit version of scmtools

Verify the bit level of the scm tools by running file scm on Linux
>file scm

 ELF 32-bit LSB executable, Intel 80386, version 1

 ELF 64-bit LSB executable, x86-64, version 1

Also see This Question for other suggestions on finding the bit level of the installed version of scmtools

Your answer


Register or to post your answer.