Hello guys,
I tried the rebaseall and it worked. Tbh, I hadn't really looked into
cygwin that much since I wanted to avoid having PATH conflicts between 3
different versions of tools (one windows, one msys, and one cygwin). I
should have done that right away though since it was really easy to get
working, and also runs 'configure' about 10x faster (although having to
use the installer to install packages is somewhat annoying).
I think I'll just shelf msys2 for now, since it's not that important to
me, and building openjdk is more of a hobby thing any ways. Btw, the
patch that you linked, Magnus, is private, i.e. it returns a '403 -
Forbidden'.
I have thought about using virtualbox to emulate linux to build in
there, but it requires me to enable virtualization in my BIOS and doing
that makes my machine boot up significantly slower. Fast startup is more
important to me (like I said, building ojdk is more of a hobby thing). I
also have a decade old PC that runs Ubuntu, but I'm sharing the monitor
with someone else, so I can't always use it. That's why I've settled on
getting the build to work natively.
Any ways, I ran configure and ended up with the following (I'm trying to
build the amber repo btw):
```
====================================================
The existing configuration has been successfully updated in
/cygdrive/j/cygwin64/home/Jorn/cygwin-projects/amber/build/windows-x86_64-normal-server-release
using default settings.
Configuration summary:
* Debug level: release
* HS debug level: product
* JVM variants: server
* JVM features: server: 'aot cds cmsgc compiler1 compiler2 g1gc graal
jfr jni-check jvmci jvmti management nmt parallelgc serialgc services
vm-structs'
* OpenJDK target: OS: windows, CPU architecture: x86, address length: 64
* Version string: 11-internal+0-adhoc.Jorn.amber (11-internal)
Tools summary:
* Environment: cygwin version 2.10.0(0.325/5/3) (root at
/cygdrive/j/cygwin64)
* Boot JDK: java version "10.0.1" 2018-04-17 Java(TM) SE Runtime
Environment 18.3 (build 10.0.1+10) Java HotSpot(TM) 64-Bit Server VM
18.3 (build 10.0.1+10, mixed mode) (at
/cygdrive/c/progra~1/java/jdk-10)
* Toolchain: microsoft (Microsoft Visual Studio 2012)
* C Compiler: Version 17.00.61030 (at
/cygdrive/j/progra~2/micros~3.0/vc/bin/x86_am~1/cl)
* C++ Compiler: Version 17.00.61030 (at
/cygdrive/j/progra~2/micros~3.0/vc/bin/x86_am~1/cl)
Build performance summary:
* Cores to use: 7
* Memory limit: 8124 MB
WARNING: The result of this configuration has overridden an older
configuration. You *should* run 'make clean' to make sure you get a
proper build. Failure to do so might result in strange build problems.
```
I tried with VS 2015 community, but it was warning about not being
supported? I guess that change hasn't propagated to the amber repo yet,
so I'm using VS 2012 express. (I have also tried installing VS 2010
express, which I believe is recommended, but it doesn't seem to include
a compiler? There's a service pack which I think includes the compiler,
but it requires windows SDK 7.1 which 'encountered some problems during
installation' *sigh*).
Then running `make clean images` I had an error about inttypes.h
missing, which I downloaded to fix that error, but now it's also
complaining about other stuff like:
```
j:\cygwin64\home\Jorn\cygwin-projects\amber\test\fmw\gtest\include\gtest/gtest-printers.h(550)
: error C2977: 'std::tuple' : too many template arguments
j:\progra~2\micros~3.0\vc\include\utility(73) : see declaration
of 'std::tuple'
```
And many more such errors after that. So I suppose VS 2012 express isn't
supported either (even though it doesn't give a warning)? Maybe I'm
missing something, I only installed VS 2012 express from here:
https://www.visualstudio.com/vs/older-downloads/ . Or does the amber
repo require some tricks to get working?
Close yet so far. Thanks,
Jorn Vernee
Thomas Stüfe schreef op 2018-06-12 11:49:
I second the advice to get cygwin up and running. Cygwin is the
canonical way to build on windows. Unless you have really pressing
reasons to use something else, I would use what (almost) everyone else
uses.
I have my windows build env up and running on a fresh windows machine
usually in ~30 minutes. It should not be rocket science. I use both
windows 7 and 10 for my work.
Some more points, in additions to what the others wrote:
- 64bit seems to be the standard: 64bit windows, building 64bit ojdk
with a 64bit cygwin. Other configurations may work but are less well
tested. Just something to keep in mind.
- If you do not trust your windows machine and suspect its software
stack may be messed up somehow, there is always the option of
installing a fresh copy of windows in a virtual machine, e.g.
VirtualBox, and install the tool chain from scratch (cygwin + vistual
studio).
Best Regards & good luck,
Thomas
On Tue, Jun 12, 2018 at 8:53 AM, Magnus Ihse Bursie
<magnus.ihse.bur...@oracle.com> wrote:
Hi Jorn,
As you probably have understood by now, porting OpenJDK to msys2 is
not just
a simple quick fix. If all you want is to build OpenJDK on your
Windows
computer, you are probably better off by trying to fix your Cygwin
installation. From your description, it sounds like you'll need to
rebase
it: http://cygwin.wikia.com/wiki/Rebaseall.
If you want to pursue the msys2 path (and I'd appreciate it; it would
be
good to get OpenJDK working on msys again), I suggest you start by
looking
at the work that had been done before (but never merged into
mainline). See
this conversation:
http://mail.openjdk.java.net/pipermail/build-dev/2017-October/019897.html
Peter Budai got the msys part working, but he had more ambitious goals
of
getting gcc to build on Windows, which is magnitudes more work, so his
patch
was never finished. Nevertheless, he published a patch in [1] which
got
stripped by the mailing list. I've put it up here:
http://cr.openjdk.java.net/~ihse/msys2/jdk9-mingw.patch
It is for jdk9 so it's not possibly to apply out of the box, but you
can
probably see what's been done and trying to reimplement it. I think
the
"magic" part is setting MSYS2_ARG_CONV_EXCL= (the empty string), which
disables msys2 path mangling.
Good luck!
/Magnus
[1]
http://mail.openjdk.java.net/pipermail/build-dev/2017-October/019883.html