If you have a perforce configuration on a Mac-based job, and you use the "Use SCM From another project" on a windows node, Jenkins tries to execute /usr/local/bin/p4 on the Windows node:
[FairyTales_Clients_CI] $ /usr/local/bin/p4 -P 1E1A3BD04B41325FB81040B21A0A9D05 workspace -o -S Caught exception communicating with perforce. No output for: /usr/local/bin/p4 -P 1E1A3BD04B41325FB81040B21A0A9D05 workspace -o -S at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:408)
at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:301)
at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:58)
at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:1641)
at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:1602)
at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:907)
at hudson.scm.SCM.checkout(SCM.java:473)
at hudson.plugins.templateproject.ProxySCM.checkout(ProxySCM.java:92)
at org.jenkinsci.plugins.multiplescms.MultiSCM.checkout(MultiSCM.java:129)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1276)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at hudson.model.Run.execute(Run.java:1738)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
ERROR: Unable to communicate with perforce. No output for: /usr/local/bin/p4 -P 1E1A3BD04B41325FB81040B21A0A9D05 workspace -o -S