-
Bug
-
Resolution: Fixed
-
P2
-
11.0.7-oracle, 15, 16
-
b32
-
windows
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8249480 | 16 | Erik Joelsson | P2 | Resolved | Fixed | b06 |
JDK-8250170 | 15.0.2 | Erik Joelsson | P2 | Resolved | Fixed | b01 |
JDK-8250469 | 15.0.1 | Erik Joelsson | P2 | Resolved | Fixed | b03 |
JDK-8256272 | 13.0.6 | Yuri Nesterenko | P2 | Resolved | Fixed | b01 |
JDK-8249559 | 11.0.9-oracle | Erik Joelsson | P2 | Closed | Fixed | b02 |
JDK-8249972 | 11.0.9 | Erik Joelsson | P2 | Resolved | Fixed | b01 |
This was discovered while trying to help with a build problem on build-dev:
https://mail.openjdk.java.net/pipermail/build-dev/2020-July/027917.html
The problem is the --disable-absolute-paths-in-output option, which is default set to disable on release builds. When not allowing absolute paths, we rewrite absolute paths to relative in several types of build command lines. This rewrite relies on the WORKSPACE_ROOT variable to be fully resolved. Currently, if the workspace is located inside the cygwin root dir, the WORKSPACE_ROOT variable will have a path looking like "/home/user/jdk" while all other paths that we resolve files from will look like "/cygdrive/c/cygwin64/home/user/jdk". This causes the rewrite to fail and results in build errors like this:
c1xx: fatal error C1083: Cannot open source file: '../../../..c:/cygwin64/home/young/jdk-master/jdk-master/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/BUILD_LIBJVM_pch.cpp': No such file or directory
The fix is to make sure WORKSPACE_ROOT in basics.m4 only gets values that have been fixed using UTIL_FIXUP_PATH.
This issue rarely occurs within Oracle, where Jib is already changing the working to be on the /cygdrive format, which is why we haven't seen it reported internally so far.
https://mail.openjdk.java.net/pipermail/build-dev/2020-July/027917.html
The problem is the --disable-absolute-paths-in-output option, which is default set to disable on release builds. When not allowing absolute paths, we rewrite absolute paths to relative in several types of build command lines. This rewrite relies on the WORKSPACE_ROOT variable to be fully resolved. Currently, if the workspace is located inside the cygwin root dir, the WORKSPACE_ROOT variable will have a path looking like "/home/user/jdk" while all other paths that we resolve files from will look like "/cygdrive/c/cygwin64/home/user/jdk". This causes the rewrite to fail and results in build errors like this:
c1xx: fatal error C1083: Cannot open source file: '../../../..c:/cygwin64/home/young/jdk-master/jdk-master/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/BUILD_LIBJVM_pch.cpp': No such file or directory
The fix is to make sure WORKSPACE_ROOT in basics.m4 only gets values that have been fixed using UTIL_FIXUP_PATH.
This issue rarely occurs within Oracle, where Jib is already changing the working to be on the /cygdrive format, which is why we haven't seen it reported internally so far.
- backported by
-
JDK-8249480 Build fails if source code in cygwin home dir
- Resolved
-
JDK-8249972 Build fails if source code in cygwin home dir
- Resolved
-
JDK-8250170 Build fails if source code in cygwin home dir
- Resolved
-
JDK-8250469 Build fails if source code in cygwin home dir
- Resolved
-
JDK-8256272 Build fails if source code in cygwin home dir
- Resolved
-
JDK-8249559 Build fails if source code in cygwin home dir
- Closed
(1 backported by, 2 links to)