Build failure with gnu make 4.0 on Arch Linux
Hi, I am trying to setup build environment on a new installation, and encounter following build error. I suspect this is because of missing some required tools and software, however, the error message is not helpful. Tried to echo the make commang used, but as you can see the output seems to be scrambled. Is there a way to find out what exact command causing problem? I tried to configure --with-jobs=1, that doesn't help. The Gnu make version is 4.0, let me know what else information I can collect to help diagnosis the problem. Cheers, Henry INFO: ZIP_DEBUGINFO_FILES=1 /usr/bin/make -s VERBOSE=-s LOG_LEVEL=warn -R -I /home/hjen/ws/tl/common/makefiles -f adlc.make -r -rRs -I/home/h -j3 -en/ws/tl/common/makefiles -I/home/hjen/ws/tl/common/makefiles -I/home/hjen/ws/tl/common/makefiles -I/home/hjen/ws/tl/common/makefiles -I/home/hjen/ws/tl/common/makefiles /usr/bin/make: invalid option -- '/' /usr/bin/make: invalid option -- '/' Usage: make [options] [target] ... Options: -b, -m Ignored for compatibility. -B, --always-make Unconditionally make all targets. -C DIRECTORY, --directory=DIRECTORY Change to DIRECTORY before doing anything. -d Print lots of debugging information. --debug[=FLAGS] Print various types of debugging information. -e, --environment-overrides Environment variables override makefiles. --eval=STRING Evaluate STRING as a makefile statement. -f FILE, --file=FILE, --makefile=FILE Read FILE as a makefile. -h, --help Print this message and exit. -i, --ignore-errors Ignore errors from recipes. -I DIRECTORY, --include-dir=DIRECTORY Search DIRECTORY for included makefiles. -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg. -k, --keep-goingKeep going when some targets can't be made. -l [N], --load-average[=N], --max-load[=N] Don't start multiple jobs unless load is below N. -L, --check-symlink-times Use the latest mtime between symlinks and target. -n, --just-print, --dry-run, --recon Don't actually run any recipe; just print them. -o FILE, --old-file=FILE, --assume-old=FILE Consider FILE to be very old and don't remake it. -O[TYPE], --output-sync[=TYPE] Synchronize output of parallel jobs by TYPE. -p, --print-data-base Print make's internal database. -q, --question Run no recipe; exit status says if up to date. -r, --no-builtin-rules Disable the built-in implicit rules. -R, --no-builtin-variables Disable the built-in variable settings. -s, --silent, --quiet Don't echo recipes. -S, --no-keep-going, --stop Turns off -k. -t, --touch Touch targets instead of remaking them. --trace Print tracing information. -v, --version Print the version number of make and exit. -w, --print-directory Print the current directory. --no-print-directoryTurn off -w, even if it was turned on implicitly. -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE Consider FILE to be infinitely new. --warn-undefined-variables Warn when an undefined variable is referenced. This program built for x86_64-unknown-linux-gnu Report bugs to make[5]: *** [ad_stuff] Error 2 /home/hjen/ws/tl/hotspot/make/linux/makefiles/top.make:91: recipe for target 'ad_stuff' failed make[4]: *** [product] Error 2 /home/hjen/ws/tl/hotspot/make/linux/Makefile:289: recipe for target 'product' failed make[3]: *** [generic_build2] Error 2 Makefile:216: recipe for target 'generic_build2' failed make[2]: *** [product] Error 2 Makefile:167: recipe for target 'product' failed make[1]: *** [/home/hjen/ws/tl/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp] Error 2 HotspotWrapper.gmk:44: recipe for target '/home/hjen/ws/tl/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp' failed /export/home/hjen/ws/tl//common/makefiles/Main.gmk:108: recipe for target 'hotspot-only' failed make: *** [hotspot-only] Error 2
Re: RFR: JDK-8027698: Platform specific jars are not being signed by the sign-jars target
I didn't see any word on ucrypto.jar. Does that "wildcard" function automatically include it? Thanks Max On 11/1/13, 18:34, Erik Joelsson wrote: Please review this simple fix, adding sunmscapi.jar and ucrypto.jar to the list of jars to be signed by the sign-jars target. Since these jars are platform dependent, they aren't always present. Bug: https://bugs.openjdk.java.net/browse/JDK-8027698 Webrev: http://cr.openjdk.java.net/~erikj/8027698/webrev.jdk.01/ /Erik
Re: RFR: JDK-8027698: Platform specific jars are not being signed by the sign-jars target
On 11/1/2013 3:34 AM, Erik Joelsson wrote: Please review this simple fix, adding sunmscapi.jar and ucrypto.jar to the list of jars to be signed by the sign-jars target. Since these jars are platform dependent, they aren't always present. Bug: https://bugs.openjdk.java.net/browse/JDK-8027698 Webrev: http://cr.openjdk.java.net/~erikj/8027698/webrev.jdk.01/ /Erik makefiles/SignJars.gmk == Overall: Some of the existing/new lines are greater than the standard 80 chars. 2: Some people update the Copyright date instead of waiting for RE to do it. Feel free if you're one of those. 48 & 108: The RE process for signing jars for JDK 7/8 is completely different than what was originally written/described for JDK 7. There is an additional separate script that RE uses to include the source_tips into the jar files, and then do the actual signing. SignJars.gmk is here primarily for developer support. 47: Suggest changing to: # SPECIAL NOTE TO JCE/JDK developers: The source files must eventually # be built, signed, and then the resulting jar files MUST BE CHECKED # INTO THE CLOSED PART OF THE WORKSPACE*. This separate step *MUST NOT # BE FORGOTTEN*, otherwise a bug fixed in the source code will not be # reflected in the shipped binaries. # # Please consult with Release Engineering, which is responsible for # creating the final JCE builds suitable for checkin. # 94: I don't see ucrypto.jar listed here. 108: Can you please update the code here to output: The jar files built by the 'sign-jars' target are developer builds only and *MUST NOT* be checked into the closed workspace. Please consult with Release Engineering: they will generate the proper binaries for the closed workspace. @$(PRINTF) $(README-MAKEFILE_WARNING) Since this bug is a subtask of JDK-8027266, I'll add a few more comments to that bug. I'm guessing you'll probably want to address separately. Thanks, Erik! Brad
Re: Heads up: New version of CYGWIN's cache breaks the windows build.
My bug was closed as a dup, I've captured some of the pertinent info in both bugs. Hopefully people can easily find the error condition if they hit it. Internally, we have a minimal CYGWIN distribution that will likely be updated to remove ccache. Tim just pinged me on that. Brad On 10/31/2013 4:51 PM, Mike Duigou wrote: Magnus indicated in another thread earlier today that ccache doesn't do anything on windows since we use the microsoft compilers. --disable-ccache or uninstall it. I filed an RFE to disable ccache on windows. Mike On Oct 31 2013, at 15:50 , Bradford Wetmore wrote: P.S. This version of ccache was added two days ago. Brad On 10/31/2013 3:42 PM, Bradford Wetmore wrote: I just rebuilt my CYGWIN, and got ccache 3.1.9-2, which enables ccache in the new build environment. fixpath.exe does not play well with it. Please see: https://bugs.openjdk.java.net/browse/JDK-8027683 JDK-8027683: New version of CYGWIN includes ccache 3.1.9-2, breaks the windows build. The symptom is: Could not start process! Failed with error 2: The system cannot find the file specified. Brad
[7u] WXP/Cygwin/VS2010 patch to remove invali option from the SA compilation
Hi Following is a patch to avoid warning messages produced by the VS2010 compiler when compiling SA as cl: Ligne de commande warning D9035: l'option 'GZ' est deconseille et sera supprime dans une version ulterieure cl: Ligne de commande warning D9036: utilisez 'RTC1' … la place de 'GZ' cl: Ligne de commande warning D9035: l'option 'o' est deconseille et sera supprime dans une version ultrieure cl: Ligne de commande warning D9002: option '-YX' inconnue ignoree here the patch --- diff --git a/make/windows/makefiles/sa.make b/make/windows/makefiles/sa.make --- a/make/windows/makefiles/sa.make +++ b/make/windows/makefiles/sa.make @@ -94,7 +94,7 @@ SA_LD_FLAGS = bufferoverflowU.lib !endif !else -SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 -Gm $(GX_OPTION) -Od -D "WIN32" -D "_WINDOWS" -D "_DEB UG" -D "_CONSOLE" -D "_MBCS" -YX -FD -GZ -c +SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 -Gm $(GX_OPTION) -Od -D "WIN32" -D "_WINDOWS" -D "_DEB UG" -D "_CONSOLE" -D "_MBCS" -FD -RTC1 -c !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" SA_CFLAGS = $(SA_CFLAGS) -ZI !endif Francis
Removal of the old build system, partial and preliminary review (part 2)
Here is part 2 of the old build system removal. This review is based against the previous part, i.e. where the lion's share of the old make files had been removed. What remained was a handful or two of different types of files, scattered all around. I have checked each file and/or directory individually, and if it was not used, I removed it. (This was the case usually because the prior attempt was too conservative.) If the files were only used by the closed parts of the source code, it was moved to a suitable place in the closed repos. (A separate review for the closed part is coming up shortly). If it was actually used by the new build system, and it was source code that should be compiled, I moved it to make/src/classes or make/src/native, correspondingly. If it was actually used by the new build system, and it was a data file that was used as input for a build tool, or some other part of the build process, I created a descriptive directory in make/data (e.g. classlist) and moved it there. Finally, a few files belonged to utilities that is not used during the build. The comments on the utilities indicate that they are run manually and sporadically, such as CommentChecker or the tool to create the reorder files for native libs. Such tools will typically bit rot between uses, and while no-one has explicitely mentioned that they still use them, I did not want to remove them. I tested some of them, like the reorder tool, and it was indeed broken. I moved these toos into make/non-build-utils. Going forward, I believe these tools should probably find a better location and be used automatically so that they are tested, or they should be removed. I did these changes one at a time, committing to a local sandbox after every individual step. Here is a (somewhat filtered) list of the commit comments. I hope they are self-descriptive enough to explain the changes I've made. * Remove make/common. (Move to closed sources.) * Remove PatchList.solaris (makefiles copy was unused) and move to closed sources. * Remove make/tools/GenerateCharacter, save what's needed in make/data/characterdata. * Move contents of make/tools/UnicodeData/ to make/data/unicodedata. * Move files actually used from make/tools/CharsetMapping to make/data/charsetmapping. * Move contents of make/tools/dtdbuilder/dtds to make/data/dtdbuilder, and remove rest of make/tools/dtdbuilder. * GendataTimeZone is not used anymore. * Delete make/sun/javazic, and move remaining useful data to make/data/tzdata. * Move SwingBeanInfo.template, beaninfo/images/*.gif and source code (which is only copied, not compiled) from make/tools/swing-beans to make/data/swingbeaninfo. * Move make/javax/swing/beaninfo/manifest to make/data/swingbeaninfo/manifest.mf. * Move make/tools/manifest.mf to make/data/mainmanifest/manifest.mf. * Move make/javax/crypto/policy/ to make/data/cryptopolicy. * Move make/tools/add_gnu_debuglink and make/tools/fix_empty_sec_hdr_flags to make/src/native. * Move java source code from make/tools/src to make/src/classes. * Move refs.allowed to data/checkdeps. (That was the last file in make/tools/src). * Moving DocBeanInfo.java, GenDocletBeanInfo.java and GenSwingBeanInfo.java into make/src/classes/build/tools/swingbeaninfo. (This also means moving them to package build.tools.swingbeaninfo.) * Move make/tools/sharing/classlist.* to make/data/classlist. * Move the remaining tools, which are not used in the build process, to non-build-utils. * Move java utilities that are not used in the build from make/src to make/non-build-utils/src. * Prepare merging between makefiles and make by moving files in makefiles into corresponding positions. This means jpda/jdwp/jdwp.spec moved to data/jdwp/jdwp.spec, and sun/*/ToBin.java moved to src/classes/build/tools/icondata/*. And here is the WebRev: http://cr.openjdk.java.net/~ihse/remove-old-build-part-2/webrev.01 /Magnus
Re: RFR: JDK-8027698: Platform specific jars are not being signed by the sign-jars target
Hi Erik: Please review this simple fix, adding sunmscapi.jar and ucrypto.jar to the list of jars to be signed by the sign-jars target. Since these jars are platform dependent, they aren't always present. Bug: https://bugs.openjdk.java.net/browse/JDK-8027698 Webrev: http://cr.openjdk.java.net/~erikj/8027698/webrev.jdk.01 Looks good to me. Tim
Re: RFR: JDK-8027698: Platform specific jars are not being signed by the sign-jars target
On 2013-11-01 11:34, Erik Joelsson wrote: Please review this simple fix, adding sunmscapi.jar and ucrypto.jar to the list of jars to be signed by the sign-jars target. Since these jars are platform dependent, they aren't always present. Bug: https://bugs.openjdk.java.net/browse/JDK-8027698 Webrev: http://cr.openjdk.java.net/~erikj/8027698/webrev.jdk.01/ Looks good to me. /Magnus
[patch] Building with Xcode 5 on OS X 10.9
Hi, the appended changesets for build and hotspot allow building with "USE_CLANG=true make" on OS X 10.9 using Xcode 5.0.1. Juergen # HG changeset patch # User Jürgen Kreileder # Date 1383086029 -3600 # Node ID 5cf40fd518ba9df9ef1806e9c2d6ace3ebc5366c # Parent 4f2011496393a26dcfd7b1f7787a3673ddd32599 Allow building with "USE_CLANG=true make" on OS X Mavericks with Xcode 5.0.1 diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -3865,7 +3865,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1382702260 +DATE_WHEN_GENERATED=1383085981 ### # @@ -20069,11 +20069,15 @@ # Check that this is likely to be GCC. $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null if test $? -ne 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5 + COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 2 | $TAIL -n 1 ` + $COMPILER --version 2>&1 | $GREP "Apple LLVM" > /dev/null + if test $? -ne 0; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5 $as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&5 $as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&6;} - as_fn_error $? "GCC compiler is required. Try setting --with-tools-dir." "$LINENO" 5 +as_fn_error $? "GCC compiler is required. Try setting --with-tools-dir." "$LINENO" 5 + fi fi # First line typically looks something like: @@ -21648,11 +21652,15 @@ # Check that this is likely to be GCC. $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null if test $? -ne 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5 + COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 2 | $TAIL -n 1 ` + $COMPILER --version 2>&1 | $GREP "Apple LLVM" > /dev/null + if test $? -ne 0; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5 $as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&5 $as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&6;} - as_fn_error $? "GCC compiler is required. Try setting --with-tools-dir." "$LINENO" 5 +as_fn_error $? "GCC compiler is required. Try setting --with-tools-dir." "$LINENO" 5 + fi fi # First line typically looks something like: diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 --- a/common/autoconf/toolchain.m4 +++ b/common/autoconf/toolchain.m4 @@ -65,9 +65,13 @@ # Check that this is likely to be GCC. $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null if test $? -ne 0; then - AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler.]) - AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION_TEST"]) - AC_MSG_ERROR([GCC compiler is required. Try setting --with-tools-dir.]) + COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 2 | $TAIL -n 1 ` + $COMPILER --version 2>&1 | $GREP "Apple LLVM" > /dev/null + if test $? -ne 0; then +AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler.]) +AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION_TEST"]) +AC_MSG_ERROR([GCC compiler is required. Try setting --with-tools-dir.]) + fi fi # First line typically looks something like: = # HG changeset patch # User Jürgen Kreileder # Date 1383086084 -3600 # Node ID d02d1e0b9c8deeaa9e1bc59b723aef6de593e7fd # Parent 7fd913010dbbf75260688fd2fa8964763fa49a09 Allow building wi
RFR: JDK-8027698: Platform specific jars are not being signed by the sign-jars target
Please review this simple fix, adding sunmscapi.jar and ucrypto.jar to the list of jars to be signed by the sign-jars target. Since these jars are platform dependent, they aren't always present. Bug: https://bugs.openjdk.java.net/browse/JDK-8027698 Webrev: http://cr.openjdk.java.net/~erikj/8027698/webrev.jdk.01/ /Erik