Closed pshipton closed 5 years ago
@jdekonin
Currently there are problems in the configure step (#4582). 64-bit
20:12:46 + bash configure --with-freemarker-jar=/cygdrive/c/openjdk/freemarker.jar --with-boot-jdk=/cygdrive/c/openjdk/jdk7 --with-freetype-include=/cygdrive/c/openjdk/freetype-2.5.3/include --with-freetype-lib=/cygdrive/c/openjdk/freetype-2.5.3/lib64 --with-toolchain-version=2017 --disable-ccache --with-openssl=/cygdrive/c/OpenSSL-1.1.1-x86_64 --enable-openssl-bundling
20:12:48 Running custom generated-configure.sh
20:12:50 configure: Configuration created at Mon Feb 4 19:12:55 CST 2019.
20:12:50 configure: configure script generated at timestamp 1549028451.
20:12:50 checking for basename... /usr/bin/basename
20:12:50 checking for bash... /usr/bin/bash
20:12:50 checking for cat... /usr/bin/cat
20:12:50 checking for chmod... /usr/bin/chmod
20:12:50 checking for cmp... /usr/bin/cmp
20:12:50 checking for comm... /usr/bin/comm
20:12:50 checking for cp... /usr/bin/cp
20:12:50 checking for cut... /usr/bin/cut
20:12:50 checking for date... /usr/bin/date
20:12:50 checking for gdiff... no
20:12:50 checking for diff... /usr/bin/diff
20:12:50 checking for dirname... /usr/bin/dirname
20:12:50 checking for echo... /usr/bin/echo
20:12:50 checking for expr... /usr/bin/expr
20:12:50 checking for file... /usr/bin/file
20:12:50 checking for find... /usr/bin/find
20:12:50 checking for head... /usr/bin/head
20:12:50 checking for ln... /usr/bin/ln
20:12:50 checking for ls... /usr/bin/ls
20:12:50 checking for mkdir... /usr/bin/mkdir
20:12:50 checking for mktemp... /usr/bin/mktemp
20:12:50 checking for mv... /usr/bin/mv
20:12:50 checking for nawk... no
20:12:50 checking for gawk... /usr/bin/gawk
20:12:50 checking for printf... /usr/bin/printf
20:12:50 checking for rm... /usr/bin/rm
20:12:50 checking for sh... /usr/bin/sh
20:12:50 checking for sort... /usr/bin/sort
20:12:50 checking for tail... /usr/bin/tail
20:12:50 checking for tar... /usr/bin/tar
20:12:50 checking for tee... /usr/bin/tee
20:12:50 checking for touch... /usr/bin/touch
20:12:50 checking for tr... /usr/bin/tr
20:12:50 checking for uname... /usr/bin/uname
20:12:50 checking for uniq... /usr/bin/uniq
20:12:50 checking for wc... /usr/bin/wc
20:12:50 checking for which... /usr/bin/which
20:12:50 checking for xargs... /usr/bin/xargs
20:12:50 checking for gawk... gawk
20:12:51 checking for grep that handles long lines and -e... /usr/bin/grep
20:12:51 checking for egrep... /usr/bin/grep -E
20:12:51 checking for fgrep... /usr/bin/grep -F
20:12:51 checking for a sed that does not truncate output... /usr/bin/sed
20:12:51 checking for cygpath... /usr/bin/cygpath
20:12:51 checking for greadlink... no
20:12:51 checking for readlink... /usr/bin/readlink
20:12:51 checking for df... /usr/bin/df
20:12:51 checking for SetFile... no
20:12:51 checking for cpio... /usr/bin/cpio
20:12:51 checking build system type... x86_64-unknown-cygwin
20:12:51 checking host system type... x86_64-unknown-cygwin
20:12:51 checking target system type... x86_64-unknown-cygwin
20:12:51 checking openjdk-build os-cpu... windows-x86_64
20:12:51 checking openjdk-target os-cpu... windows-x86_64
20:12:51 checking compilation type... native
20:12:51 checking cygwin release... 2.10.0(0.325/5/3)
20:12:52 checking cygwin root directory as unix-style path... /cygdrive/c/cygwin64
20:12:52 checking what kind of 'find' is first on the PATH... unix style
20:12:52 checking for top-level directory... /cygdrive/c/Users/jenkins/workspace/PullRequest-Compile-JDK8-win_x86-64_cmprssptrs-OpenJ9
20:12:52 checking for presence of closed sources... no
20:12:52 checking if closed source is suppressed (openjdk-only)... no
20:12:52 checking which variant of the JDK to build... normal
20:12:52 checking which interpreter of the JVM to build... template
20:12:52 checking which variants of the JVM to build... server
20:12:52 checking which debug level to use... release
20:12:53 checking where to store configuration... in default location
20:12:53 checking what configuration name to use... windows-x86_64-normal-server-release
20:12:53 checking for cuda... no (default)
20:12:53 checking for ddr... yes (default for wa64)
20:12:53 checking for link... /usr/bin/link
20:12:53 checking if the first found link.exe is actually the Cygwin link tool... yes
20:12:53 configure: Found Visual Studio installation at /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2017/Community using well-known name
20:12:53 configure: Found Microsoft Visual Studio 2017 - CURRENTLY NOT WORKING
20:12:54 configure: Rewriting VS_ENV_CMD to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/auxili~1/build/vcvars~2.bat"
20:12:54 configure: Trying to extract Visual Studio environment variables
20:12:54 **********************************************************************
20:12:54 ** Visual Studio 2017 Developer Command Prompt v15.8.2
20:12:54 ** Copyright (c) 2017 Microsoft Corporation
20:12:54 **********************************************************************
20:12:56 [vcvarsall.bat] Environment initialized for: 'x86_x64'
20:12:56 configure: Setting extracted environment variables
20:12:56 checking for Visual Studio variables... ok
20:12:56 configure: Found msvcp100.dll at /cygdrive/c/Windows/system32/msvcp100.dll using well-known location in SYSTEMROOT
20:12:57 checking found msvcp100.dll architecture... ok
20:12:57 checking for msvcp100.dll... /cygdrive/c/Windows/system32/msvcp100.dll
20:12:57 checking for sysroot...
20:12:57 checking for toolchain path...
20:12:57 checking for extra path...
20:12:57 checking for apt-get... no
20:12:57 checking for yum... no
20:12:57 checking for port... no
20:12:57 checking for pkgutil... no
20:12:57 checking for pkgadd... no
20:12:57 checking for gmake... no
20:12:57 checking for make... /usr/bin/make
20:12:57 configure: Testing potential make at /usr/bin/make, found using make in PATH
20:12:58 configure: Using GNU make 3.81 (or later) at /usr/bin/make (version: GNU Make 4.2.1)
20:12:58 checking if find supports -delete... yes
20:12:58 checking for unzip... /usr/bin/unzip
20:12:58 checking for zip... /usr/bin/zip
20:12:58 checking for ldd... /usr/bin/ldd
20:12:58 checking for readelf... /usr/bin/readelf
20:12:58 checking for hg... /usr/bin/hg
20:12:58 checking for stat... /usr/bin/stat
20:12:58 checking for time... no
20:12:58 configure: WARNING: Ignoring value of COMM from the environment. Use command line variables instead.
20:12:58 checking for comm... (cached) /usr/bin/comm
20:12:58 checking for pkg-config... /usr/bin/pkg-config
20:12:58 checking pkg-config is at least version 0.9.0... yes
20:12:58 checking for 7z... no
20:12:58 checking for unzip... unzip
20:12:58 checking for wget... wget
20:12:58 checking headful support... include support for both headful and headless
20:12:58 configure: Found potential Boot JDK using configure arguments
20:12:59 checking for Boot JDK... /cygdrive/c/openjdk/jdk7
20:12:59 checking Boot JDK version... openjdk version "1.7.0_75" OpenJDK Runtime Environment (build 1.7.0_75-b13) OpenJDK Client VM (build 24.75-b04, mixed mode)
20:12:59 checking for java in Boot JDK... ok
20:12:59 checking for javac in Boot JDK... ok
20:12:59 checking for javah in Boot JDK... ok
20:12:59 checking for javap in Boot JDK... ok
20:12:59 checking for jar in Boot JDK... ok
20:12:59 checking for rmic in Boot JDK... ok
20:12:59 checking for native2ascii in Boot JDK... ok
20:12:59 checking if Boot JDK is 32 or 64 bits... 32
20:13:00 checking flags for boot jdk java command ...
20:13:01 checking flags for boot jdk java command for big workloads... -Xms64M -Xmx768M -XX:ThreadStackSize=768 -XX:PermSize=32m -XX:MaxPermSize=160m
20:13:02 checking flags for boot jdk java command for small workloads... -XX:+UseSerialGC -Xms32M -Xmx512M
20:13:02 configure: Using default toolchain microsoft (Microsoft Visual Studio)
20:13:02 checking for link... (cached) /usr/bin/link
20:13:02 checking if the first found link.exe is actually the Cygwin link tool... yes
20:13:02 configure: Found Visual Studio installation at /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2017/Community using well-known name
20:13:02 configure: Found Microsoft Visual Studio 2017 - CURRENTLY NOT WORKING
20:13:02 configure: Rewriting VS_ENV_CMD to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/auxili~1/build/vcvars~2.bat"
20:13:02 configure: Trying to extract Visual Studio environment variables
20:13:03 **********************************************************************
20:13:03 ** Visual Studio 2017 Developer Command Prompt v15.8.2
20:13:03 ** Copyright (c) 2017 Microsoft Corporation
20:13:03 **********************************************************************
20:13:04 [vcvarsall.bat] Environment initialized for: 'x86_x64'
20:13:04 configure: Setting extracted environment variables
20:13:04 checking for Visual Studio variables... ok
20:13:04 checking for cl... /cygdrive/c/PROGRA~2/MIB055~1/2017/COMMUN~1/VC/Tools/MSVC/14.15.26726/bin/HostX86/x64/cl
20:13:05 configure: Rewriting CC to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/cl"
20:13:05 checking resolved symbolic links for CC... no symlink
20:13:05 configure: Using microsoft C compiler version 19.15.26726 [Microsoft (R) C/C++ Optimizing Compiler Version 19.15.26726 for x64]
20:13:12 checking whether the C compiler works... yes
20:13:12 checking for C compiler default output file name... conftest.exe
20:13:12 checking for suffix of executables... .exe
20:13:13 checking whether we are cross compiling... no
20:13:13 checking for suffix of object files... obj
20:13:13 checking whether we are using the GNU C compiler... no
20:13:14 checking whether /cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/cl accepts -g... yes
20:13:14 checking for /cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/cl option to accept ISO C89... none needed
20:13:14 checking for cl... /cygdrive/c/PROGRA~2/MIB055~1/2017/COMMUN~1/VC/Tools/MSVC/14.15.26726/bin/HostX86/x64/cl
20:13:14 configure: Rewriting CXX to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/cl"
20:13:14 checking resolved symbolic links for CXX... no symlink
20:13:14 configure: Using microsoft C++ compiler version 19.15.26726 [Microsoft (R) C/C++ Optimizing Compiler Version 19.15.26726 for x64]
20:13:16 checking whether we are using the GNU C++ compiler... no
20:13:17 checking whether /cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/cl accepts -g... yes
20:13:18 checking how to run the C preprocessor... /cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/cl -E
20:13:19 checking how to run the C++ preprocessor... /cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/cl -E
20:13:19 checking for link... link
20:13:20 configure: Rewriting LD to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/link"
20:13:20 checking if the found link.exe is actually the Visual Studio linker... yes
20:13:20 checking for lib... lib
20:13:20 configure: Rewriting AR to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/lib"
20:13:20 checking for mt... mt
20:13:20 configure: Rewriting MT to "/cygdrive/c/progra~2/window~1/10/bin/100171~1.0/x86/mt"
20:13:20 checking for rc... rc
20:13:21 configure: Rewriting RC to "/cygdrive/c/progra~2/window~1/10/bin/100171~1.0/x86/rc"
20:13:21 checking for dumpbin... dumpbin
20:13:21 configure: Rewriting DUMPBIN to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x64/dumpbin"
20:13:21 checking for msbuild.exe... msbuild.exe
20:13:21 checking for gobjdump... no
20:13:21 checking for objdump... objdump
20:13:22 configure: Rewriting OBJDUMP to "/usr/bin/objdump"
20:13:22 checking for jtreg... no
20:13:23 checking for ANSI C header files... yes
20:13:23 checking for sys/types.h... yes
20:13:23 checking for sys/stat.h... yes
20:13:24 checking for stdlib.h... yes
20:13:24 checking for string.h... yes
20:13:25 checking for memory.h... yes
20:13:25 checking for strings.h... no
20:13:25 checking for inttypes.h... yes
20:13:26 checking for stdint.h... yes
20:13:26 checking for unistd.h... no
20:13:26 checking stdio.h usability... yes
20:13:26 checking stdio.h presence... yes
20:13:26 checking for stdio.h... yes
20:13:27 checking size of int *... 8
20:13:27 checking for target address size... 64 bits
20:13:28 checking whether byte ordering is bigendian... no
20:13:28 checking if the C compiler supports "-m64"... yes
20:13:28 checking if the C++ compiler supports "-m64"... yes
20:13:28 checking if both compilers support "-m64"... yes
20:13:28 checking if the C compiler supports "-m64"... yes
20:13:29 checking if the C++ compiler supports "-m64"... yes
20:13:29 checking if both compilers support "-m64"... yes
20:13:29 checking if we should generate debug symbols... true
20:13:29 checking if we should zip debug-info files... yes
20:13:29 checking what type of native debug symbols to use (this will override previous settings)... not specified
20:13:29 configure: --with-native-debug-symbols not specified. Using values from --disable-debug-symbols and --disable-zip-debug-info
20:13:31 checking if fixpath can be created... yes
20:13:31 checking if fixpath.exe works... yes
20:13:31 checking what is not needed on Windows?... alsa cups pulse x11
20:13:34 checking for X... no
20:13:34 checking for X11/extensions/shape.h... no
20:13:34 configure: Found freetype include files at /cygdrive/c/openjdk/freetype-2.5.3/include using --with-freetype
20:13:35 checking for freetype includes... /cygdrive/c/openjdk/freetype-2.5.3/include
20:13:35 checking for freetype libraries... /cygdrive/c/openjdk/freetype-2.5.3/lib64
20:13:36 checking if we can compile and link with freetype... no
20:13:36 configure: Could not compile and link with freetype. This might be a 32/64-bit mismatch.
20:13:36 configure: Using FREETYPE_CFLAGS=-I/cygdrive/c/openjdk/freetype-2.5.3/include and FREETYPE_LIBS=/cygdrive/c/openjdk/freetype-2.5.3/lib64/freetype.lib
20:13:36 configure: error: Can not continue without freetype.
20:13:36 The freetype library can now be build during the configure process.
20:13:36 Download the freetype sources and unpack them into an arbitrary directory:
20:13:36
20:13:36 wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz
20:13:36 tar -xzf freetype-2.5.3.tar.gz
20:13:36
20:13:36 Then run configure with '--with-freetype-src=<freetype_src>'. This will
20:13:36 automatically build the freetype library into '<freetype_src>/lib64' for 64-bit
20:13:36 builds or into '<freetype_src>/lib32' for 32-bit builds.
20:13:36 Afterwards you can always use '--with-freetype-include=<freetype_src>/include'
20:13:36 and '--with-freetype-lib=<freetype_src>/lib32|64' for other builds.
20:13:36 configure exiting with result code 1
32-bit
19:51:30 + bash configure --with-freemarker-jar=/cygdrive/c/openjdk/freemarker.jar --with-boot-jdk=/cygdrive/c/openjdk/jdk7 --with-freetype-include=/cygdrive/c/openjdk/freetype-2.5.3/include --with-freetype-lib=/cygdrive/c/openjdk/freetype-2.5.3/lib32 --with-target-bits=32 --with-toolchain-version=2017 --disable-ccache --with-openssl=/cygdrive/c/OpenSSL-1.1.1-x86_32 --enable-openssl-bundling
19:51:32 Running custom generated-configure.sh
19:51:35 configure: Configuration created at Mon Feb 4 18:51:34 CST 2019.
19:51:35 configure: configure script generated at timestamp 1549028451.
19:51:35 checking for basename... /usr/bin/basename
19:51:35 checking for bash... /usr/bin/bash
19:51:35 checking for cat... /usr/bin/cat
19:51:35 checking for chmod... /usr/bin/chmod
19:51:35 checking for cmp... /usr/bin/cmp
19:51:35 checking for comm... /usr/bin/comm
19:51:35 checking for cp... /usr/bin/cp
19:51:35 checking for cut... /usr/bin/cut
19:51:35 checking for date... /usr/bin/date
19:51:35 checking for gdiff... no
19:51:35 checking for diff... /usr/bin/diff
19:51:35 checking for dirname... /usr/bin/dirname
19:51:35 checking for echo... /usr/bin/echo
19:51:35 checking for expr... /usr/bin/expr
19:51:35 checking for file... /usr/bin/file
19:51:35 checking for find... /usr/bin/find
19:51:35 checking for head... /usr/bin/head
19:51:35 checking for ln... /usr/bin/ln
19:51:35 checking for ls... /usr/bin/ls
19:51:35 checking for mkdir... /usr/bin/mkdir
19:51:35 checking for mktemp... /usr/bin/mktemp
19:51:35 checking for mv... /usr/bin/mv
19:51:35 checking for nawk... no
19:51:35 checking for gawk... /usr/bin/gawk
19:51:35 checking for printf... /usr/bin/printf
19:51:35 checking for rm... /usr/bin/rm
19:51:35 checking for sh... /usr/bin/sh
19:51:35 checking for sort... /usr/bin/sort
19:51:35 checking for tail... /usr/bin/tail
19:51:35 checking for tar... /usr/bin/tar
19:51:35 checking for tee... /usr/bin/tee
19:51:35 checking for touch... /usr/bin/touch
19:51:35 checking for tr... /usr/bin/tr
19:51:35 checking for uname... /usr/bin/uname
19:51:35 checking for uniq... /usr/bin/uniq
19:51:35 checking for wc... /usr/bin/wc
19:51:35 checking for which... /usr/bin/which
19:51:35 checking for xargs... /usr/bin/xargs
19:51:35 checking for gawk... gawk
19:51:35 checking for grep that handles long lines and -e... /usr/bin/grep
19:51:35 checking for egrep... /usr/bin/grep -E
19:51:35 checking for fgrep... /usr/bin/grep -F
19:51:35 checking for a sed that does not truncate output... /usr/bin/sed
19:51:35 checking for cygpath... /usr/bin/cygpath
19:51:35 checking for greadlink... no
19:51:35 checking for readlink... /usr/bin/readlink
19:51:35 checking for df... /usr/bin/df
19:51:35 checking for SetFile... no
19:51:35 checking for cpio... /usr/bin/cpio
19:51:35 checking build system type... x86_64-unknown-cygwin
19:51:35 checking host system type... x86_64-unknown-cygwin
19:51:35 checking target system type... x86_64-unknown-cygwin
19:51:35 checking openjdk-build os-cpu... windows-x86_64
19:51:35 checking openjdk-target os-cpu... windows-x86_64
19:51:35 checking compilation type... reduced
19:51:35 checking cygwin release... 2.10.0(0.325/5/3)
19:51:35 checking cygwin root directory as unix-style path... /cygdrive/c/cygwin64
19:51:36 checking what kind of 'find' is first on the PATH... unix style
19:51:36 checking for top-level directory... /cygdrive/c/Users/jenkins/workspace/PullRequest-Compile-JDK8-win_x86-OpenJ9
19:51:36 checking for presence of closed sources... no
19:51:36 checking if closed source is suppressed (openjdk-only)... no
19:51:36 checking which variant of the JDK to build... normal
19:51:36 checking which interpreter of the JVM to build... template
19:51:36 checking which variants of the JVM to build... server
19:51:36 checking which debug level to use... release
19:51:37 checking where to store configuration... in default location
19:51:37 checking what configuration name to use... windows-x86-normal-server-release
19:51:37 checking for cuda... no (default)
19:51:37 checking for ddr... yes (default for wi32)
19:51:37 checking for link... /usr/bin/link
19:51:37 checking if the first found link.exe is actually the Cygwin link tool... yes
19:51:38 configure: Found Visual Studio installation at /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2017/Community using well-known name
19:51:38 configure: Found Microsoft Visual Studio 2017 - CURRENTLY NOT WORKING
19:51:38 configure: Rewriting VS_ENV_CMD to "/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/auxili~1/build/vcvars32.bat"
19:51:38 configure: Trying to extract Visual Studio environment variables
19:51:38 **********************************************************************
19:51:38 ** Visual Studio 2017 Developer Command Prompt v15.8.2
19:51:38 ** Copyright (c) 2017 Microsoft Corporation
19:51:38 **********************************************************************
19:51:39 [vcvarsall.bat] Environment initialized for: 'x86'
19:51:40 configure: Setting extracted environment variables
19:51:40 checking for Visual Studio variables... ok
19:51:40 configure: Found msvcp100.dll at /cygdrive/c/Windows/system32/msvcp100.dll using well-known location in SYSTEMROOT
19:51:40 checking found msvcp100.dll architecture... incorrect, ignoring
19:51:40 configure: The file type of the located msvcp100.dll is PE32+ executable (DLL) (GUI) x86-64, for MS Windows
19:51:44 checking for msvcp100.dll... no
19:51:44 configure: error: Could not find msvcp100.dll. Please specify using --with-msvcp-dll.
19:51:44 configure exiting with result code 1
@pshipton I'm guessing we need to update https://eclipse.github.io/openj9-docs/openj9_support/#openjdk-8_1?
If so, please add a docs:external label.
Removing the freetype configure options for 64 bit get you to the next failure point.
00:17:41.625 Compiling OpenJ9 in /cygdrive/c/Users/jenkins/workspace/Build-JDK8-win_x86-64_cmprssptrs/build/windows-x86_64-normal-server-release/vm
00:17:47.191 rebase: unknown option -- R
00:17:47.191 usage: rebase [-b BaseAddress] [-o Offset] [-48dOsvV] [-T [FileList | -]] Files...
00:17:47.191 rebase -i [-48Os] [-T [FileList | -]] Files...
00:17:47.191 rebase --help or --usage for full help text
00:17:47.191 make[2]: *** [makefile:1204: rebase] Error 1
00:17:47.191 make[1]: *** [/cygdrive/c/Users/jenkins/workspace/Build-JDK8-win_x86-64_cmprssptrs/closed/OpenJ9.gmk:442: build-j9] Error 2
00:17:47.191 make: *** [/cygdrive/c/Users/jenkins/workspace/Build-JDK8-win_x86-64_cmprssptrs/closed/make/Main.gmk:39: j9vm-build] Error 2
I'm fairly certain its originating from sourcetools/com.ibm.uma/com/ibm/j9/uma/platform/PlatformWindows.java
and uma makefile generation. This is going to be a problem for 32bit windows as well, we just hadn't gotten past the error with msvcp100.dll yet.
VS2010 sets up rebase on the path from here; /cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/bin/x64/rebase
, whereas VS2017 doesn't at all. rebase being found is from cygwin tooling, which doesn't support the -R
.
It also appears that rebase was replaced with editbin. https://docs.microsoft.com/en-us/cpp/build/reference/editbin-reference?view=vs-2017
Once I removed rebase activity I have a new problem.
00:32:29.566 Creating library C:\Users\jenkins\workspace\Build-JDK8-win_x86-64_cmprssptrs\build\windows-x86_64-normal-server-release\vm\j9jit29.lib and object C:\Users\jenkins\workspace\Build-JDK8-win_x86-64_cmprssptrs\build\windows-x86_64-normal-server-release\vm\j9jit29.exp
00:32:29.566 j9utilcore.lib(j9argscan.obj) : error LNK2001: unresolved external symbol memcpy
00:32:29.566 j9stackmap.lib(stackmap.obj) : error LNK2001: unresolved external symbol memcpy
00:32:29.566 j9hashtable.lib(hashtable.obj) : error LNK2001: unresolved external symbol memcpy
...
00:32:29.571 OMRInstruction.obj : error LNK2001: unresolved external symbol __CxxFrameHandler3
00:32:29.571 OMRLinkage.obj : error LNK2001: unresolved external symbol __CxxFrameHandler3
00:32:29.571 OMRMachine.obj : error LNK2001: unresolved external symbol __CxxFrameHandler3
00:32:29.571 DataSnippet.obj : error LNK2001: unresolved external symbol __CxxFrameHandler3
...
00:32:29.575 DebugExtSegmentProvider.obj : error LNK2001: unresolved external symbol __std_exception_destroy
00:32:29.575 ClassUnloadAssumption.obj : error LNK2001: unresolved external symbol __std_exception_destroy
00:32:29.575 J9JitPersistentMemory.obj : error LNK2001: unresolved external symbol __std_exception_destroy
00:32:29.575 VMJ9.obj : error LNK2001: unresolved external symbol __std_exception_destroy
...
00:32:29.581 C:\Users\jenkins\workspace\Build-JDK8-win_x86-64_cmprssptrs\build\windows-x86_64-normal-server-release\vm\j9jit29.dll : fatal error LNK1120: 72 unresolved externals
00:32:29.581 make[4]: *** [C:/Users/jenkins/workspace/Build-JDK8-win_x86-64_cmprssptrs/build/windows-x86_64-normal-server-release/vm/compiler/build/rules/win-msvc/common.mk:57: C:/Users/jenkins/workspace/Build-JDK8-win_x86-64_cmprssptrs/build/windows-x86_64-normal-server-release/vm/j9jit29.dll] Error 96
https://github.com/eclipse/openj9/blob/99e024af1e763969da4a3030ec72543dd3d4ea88/runtime/compiler/build/rules/win-msvc/common.mk#L57
$(SOLINK_CMD) -DLL -subsystem:windows $(SOLINK_FLAGS) $(patsubst %,-libpath:%,$(call FIXPATH,$(SOLINK_LIBPATH))) -OUT:$(call FIXPATH,$@) -MAP:$(call FIXPATH,$@.map) -BASE:$(SOLINK_ORG) -DEF:$(call FIXPATH,$(SOLINK_DEF)) @$(call FIXPATH,$@.objlist) $(call FIXPATH,$(patsubst %,%.lib,$(SOLINK_SLINK))) $(SOLINK_EXTRA_ARGS)
I've tried performing the compile manually but I am having other unrelated issues getting a clean build. My believe is that there is something environmental that vs2010 sets up that vs2017 does not; specifically a globally defined LIB and INCLUDE path, but I do not have evidence of this as yet. But if this is the case, why do other libraries not have an issue building?? fyi @vij.singh
Seems there is a environment variable expected to be set within the code. https://github.com/eclipse/openj9/blob/2f4bf3bc2c2c20124019e3a13cf5ae1c3e2ea97b/runtime/compiler/build/toolcfg/win-msvc/common.mk#L217
ifneq (,$(filter 2015 2017, $(MSVC_VERSION)))
SOLINK_SLINK+=ucrt vcruntime
endif
Problem resolved if I set MSVC_VERSION as expected, at least on 64bit. The next challenge to tackle is the 32bit Could not find msvcp100.dll.
which can be bypassed with --with-msvcp-dll=/cygdrive/c/progra~2/micros~2.0/vc/redist/x86/micros~1.crt/msvcp100.dll
. Although I think that the right path is find out why its looking for that when it should be using 140 with vs2017. And while I get past that error the same freetype error is happening with 32bit but using --with-freetype-src
instead does not work. Error is Could not compile and link with freetype. This might be a 32/64-bit mismatch.
jenkins@win2012x64rt3-1 /cygdrive/c/openjdk/freetype-2.5.3
$ file lib32/freetype.dll
lib32/freetype.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
jenkins@win2012x64rt3-1 /cygdrive/c/openjdk/freetype-2.5.3
$ file lib64/freetype.dll
lib64/freetype.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows
This is blocked waiting on OpenJDK to add support for VS2017. We can re-open if this ever occurs.
Now that OpenJDK supports it, change OpenJ9 builds of Java 8 to use VS2017 instead of VS2010. After the switch, VS2017 will become the minimum supported level for OpenJ9.