Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-24493

P4 Plugin cannot sync symlinks

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Not A Defect
    • Component/s: p4-plugin
    • Labels:
    • Environment:
      Mac OS X 10.8.5
      java.runtime.version 1.6.0_65-b14-466.1-11M4716
    • Similar Issues:

      Description

      The P4 Plugin is not able to sync symlink files from Perforce. It produces the following error message in the job console:

      P4JAVA: symlink file /var/jenkins/workspace/test_build_1/qa/symlinksynctest/myfilesymlink can't be sync'd or created with this client program.
      ERROR: Unable to update workspace: hudson.AbortException: P4JAVA: symlink file /var/jenkins/workspace/test_build_1/qa/symlinksynctest/myfilesymlink can't be sync'd or created with this client program.

      I've confirmed that the same behavior happens whether the symlink is to a file or to a directory.

        Attachments

          Activity

          Hide
          p4paul Paul Allen added a comment -

          You need to be running Java 7 or later (symlinks were only recently supported in Java nio).

          Show
          p4paul Paul Allen added a comment - You need to be running Java 7 or later (symlinks were only recently supported in Java nio).
          Hide
          tsackett Tom Sackett added a comment -

          Ah. That makes sense. I had installed jre 7u67, but from the command-line (and Jenkins) I still get version 1.6. I had noticed the 1.6 number of the java-runtime.version above, but had assumed it must be part of another confusing version numbering scheme similar to what Sun did with Solaris.

          My Macs seem perfectly happy to run 1.7 in the browser, but can't find it on the command line. I'll keep trying.

          Show
          tsackett Tom Sackett added a comment - Ah. That makes sense. I had installed jre 7u67, but from the command-line (and Jenkins) I still get version 1.6. I had noticed the 1.6 number of the java-runtime.version above, but had assumed it must be part of another confusing version numbering scheme similar to what Sun did with Solaris. My Macs seem perfectly happy to run 1.7 in the browser, but can't find it on the command line. I'll keep trying.
          Show
          p4paul Paul Allen added a comment - For the Runtime (JRE): http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html If you want to Build/Compile (JDK): http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
          Hide
          tsackett Tom Sackett added a comment -

          I had installed the JRE for Java 1.7, but it turns out that it installs to a location on Mac OS that is really only useful for the browser (/Library/Internet Plug-Ins/JavaAppletPlugin.plugin). All command-line calls to Java were still going to Java 1.6. The solution was to install the JDK. This installed the JDK (and the JRE it contains) to /Library/Java/JavaVirtualMachines, and modifies the environment so that it is the default version available on the command line.

          In addition, to get java to talk to Perforce, I had to install the Java Cryptography Extension unlimited strength policy files: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html .

          I've confirmed that everything now works, and I can sync symlinks from Perforce using the P4 Plugin.

          Show
          tsackett Tom Sackett added a comment - I had installed the JRE for Java 1.7, but it turns out that it installs to a location on Mac OS that is really only useful for the browser (/Library/Internet Plug-Ins/JavaAppletPlugin.plugin). All command-line calls to Java were still going to Java 1.6. The solution was to install the JDK. This installed the JDK (and the JRE it contains) to /Library/Java/JavaVirtualMachines, and modifies the environment so that it is the default version available on the command line. In addition, to get java to talk to Perforce, I had to install the Java Cryptography Extension unlimited strength policy files: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html . I've confirmed that everything now works, and I can sync symlinks from Perforce using the P4 Plugin.
          Hide
          p4paul Paul Allen added a comment -

          Hi Tom, glad to hear all is ok. Thanks for the reminder about the Crypto libs.

          Closing the issue.

          Show
          p4paul Paul Allen added a comment - Hi Tom, glad to hear all is ok. Thanks for the reminder about the Crypto libs. Closing the issue.

            People

            Assignee:
            p4paul Paul Allen
            Reporter:
            tsackett Tom Sackett
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: