JDK-6561870 : Long javac compile lines fail due to command line length issues (agent compiles?)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: svc
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-05-24
  • Updated: 2011-04-23
  • Resolved: 2011-04-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u25Fixed 7Fixed hs20Fixed
Related Reports
Relates :  
Description
The javac compile lines in building the hotspot agent can fail on some Linux systems if the base directory of the workspace exceeds 55 characters or so. The command line length limit is being exceeded.

This makes it awkward for anyone building the openjdk or open hotspot in any arbitrary directory.

Comments
SUGGESTED FIX This fix causes sa-jdi.jar to be rebuilt every time. See 6985848.
17-09-2010

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/ea175c1b79ce
15-09-2010

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/ea175c1b79ce
08-09-2010

SUGGESTED FIX See the attached 6561870-webrev-cr1.tgz for the proposed fix for both Linux and Solaris after changes from code review round 0.
04-09-2010

SUGGESTED FIX See the attached 6561870-webrev-cr0.tgz for the proposed fix for both Linux and Solaris.
01-09-2010

EVALUATION The description pretty much says it all. Matthias Klose has provided a fix for this so I'll shepherd it through JPRT into RT_Baseline.
25-08-2010

SUGGESTED FIX The javac compiles should be done with the '@filename' option, where the list of filenames is in a file that is read in. And you can't just echo "all filenames" > filename, because that echo line would be too long too. You need to somehow create this filename without having really long command lines.
24-05-2007