Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
On 11/21/13 2:28 PM, Magnus Ihse Bursie wrote: There is not likely to be much work spend in fixing the old build system in JDK7 either, nor is it likely that the new JDK8 build system will be backported to JDK7. .. or that a backport would be accepted into JDK 7u at this stage of the Project - switching build systems is a very invasive, major long term change, and as such better suited to JDK Release Projects then to update releases. cheers, dalibor topic -- Oracle http://www.oracle.com Dalibor Topic | Principal Product Manager Phone: +494089091214 tel:+494089091214 | Mobile: +491737185961 tel:+491737185961 Oracle Java Platform Group ORACLE Deutschland B.V. Co. KG | Kühnehöfe 5 | 22761 Hamburg ORACLE Deutschland B.V. Co. KG Hauptverwaltung: Riesstr. 25, D-80992 München Registergericht: Amtsgericht München, HRA 95603 Geschäftsführer: Jürgen Kunz Komplementärin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher Green Oracle http://www.oracle.com/commitment Oracle is committed to developing practices and products that help protect the environment
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
On 2013-11-21 07:57, Francis ANDRE wrote: Hi Erik Le 20/11/2013 11:06, Erik Joelsson a écrit : We identified cygwin make's inability to handle driveletter paths as one of the big problems with the old build system when starting the build-infra work for jdk8. So we designed the new build system to not use any mixed paths to avoid this problem. Yes, you are right for the building of the jdk but that's only a part of the whole job. When talking about tests -- jtreg in particular --, you need to go back to the path handled by Java on windows and in that case, cygwin path does not work at all, only windows path with letter and '/' are working... So mixed path is a good compromise on windows for building, testing and delivering the full product Then this is something we still need to fix. I wasn't aware of this until now. /Erik
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
On 2013-11-21 07:45, Francis ANDRE wrote: A build system should be ideally self contained, including its documentation. This means that there should be no need to gogol for finding out additional help. There is already the problem of non proprietary additional software for building OpenJDK and centralizing all pieces in a single place seems to me a good idea. Francis, In JDK8, we have completely rewritten the build system from scratch. One of the guiding principles was that it should be, as far as possible, self diagnostic. If a dependency is missing, it should be clearly written, and -- if possible -- with guidelines on how to fix the problem. We are not 100% there, but much closer than in the old (pre-JDK8) build system. It is also much more robust on platforms such as Windows. If you need to build JDK7, then that will unfortunately not help you. There is not likely to be much work spend in fixing the old build system in JDK7 either, nor is it likely that the new JDK8 build system will be backported to JDK7. If it is possible, I'd suggest that you try to build and use JDK8 instead. It will definitely provide a much smoother experience for you. /Magnus
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
On 2013-11-21 10:10, Erik Joelsson wrote: On 2013-11-21 07:57, Francis ANDRE wrote: Hi Erik Le 20/11/2013 11:06, Erik Joelsson a écrit : We identified cygwin make's inability to handle driveletter paths as one of the big problems with the old build system when starting the build-infra work for jdk8. So we designed the new build system to not use any mixed paths to avoid this problem. Yes, you are right for the building of the jdk but that's only a part of the whole job. When talking about tests -- jtreg in particular --, you need to go back to the path handled by Java on windows and in that case, cygwin path does not work at all, only windows path with letter and '/' are working... So mixed path is a good compromise on windows for building, testing and delivering the full product Then this is something we still need to fix. I wasn't aware of this until now. I wanted to investigate this so configured using --with-jtreg=/path/to/jtreg/dir and the ran make test. Looks to me like a lot of tests are running and passing. What specific issue do you have with testing on windows? /Erik
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
Le 20/11/2013 08:37, Ivan Krylov a écrit : I went through the exercise of building openjdk 7-8 on Windows and concur it isn't trivial. But google helps and I found very the helpful Volker's blogpost very quickly. A build system should be ideally self contained, including its documentation. This means that there should be no need to gogol for finding out additional help. There is already the problem of non proprietary additional software for building OpenJDK and centralizing all pieces in a single place seems to me a good idea. Moreover, the day the Simonis'blog is removed for any reason, one looses this Window's focused paper... This problem should not be solved by adding extra pointer to workarounds. The build system on Windows should work with the latest Cygwin's make. I think that the openjdk community is big enough to influence and push through all necessary fixes into make. I already exchange with the Cygwin guys for making ksh recognizing windows path for the webrev.ksh script...they said clearly no way... Francis Ivan On 11/19/13 11:05 AM, Francis ANDRE wrote: Hi Dalibor Everybody at Oracle and may be elsewhere knows how difficult is the task of building OpenJDK on WXP/W7. There was even in a previous OpenJDK contest a proposal for making this windows build smoother... Thus, the blog of Volker SIMONIS is really of a great help to avoid loosing time, energy and aspirine for building OpenJDK on Windows. I was specially redevable to Volker on the chapter about the specific version of Make 3.82 which in the standard cygwin delivery does not understand the Windows Letter based path. Without his guide on compiling and running the latest Make out of cygwin, NO ONE, and I repeat, NO ONE can make the OpenJDK because it fails without a clear and understandable errors. Moreover, when asking the build list about those errors, no one answers because no one can imagine that the Cygwin make cannot manage Windows letter based path. So, yes, adding the blog of Wolker SIMONIS or may be a reformatted text*is a major help for building OpenJDK on windows*. Please, reconsider your position on adding this blog post as a README file. Francis Le 18/11/2013 20:11, Dalibor Topic a écrit : On 10/6/13 8:37 PM, Francis ANDRE wrote: Hi I submit this patch for review for this Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The webrev.ksh is broken on WXP/Cygwin. So I am providing here the hg outgoing report as well as the new file README-Windows-Cygwin-VS2010 I don't think that it's necessary to include blog posts in the source code archives. ;) cheers, dalibor topic
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
Hi Erik Le 20/11/2013 11:06, Erik Joelsson a écrit : We identified cygwin make's inability to handle driveletter paths as one of the big problems with the old build system when starting the build-infra work for jdk8. So we designed the new build system to not use any mixed paths to avoid this problem. Yes, you are right for the building of the jdk but that's only a part of the whole job. When talking about tests -- jtreg in particular --, you need to go back to the path handled by Java on windows and in that case, cygwin path does not work at all, only windows path with letter and '/' are working... So mixed path is a good compromise on windows for building, testing and delivering the full product The problem with driveletter paths is also stated in the current README-builds.html and a number of workarounds are mentioned. True, but all specific turn arounds for windows and cygwin and dependent third party software builds are disseminated all along the README-builds.html, which are making the build not so obvious. Even if one dislikes Windows, it is a so important platform for the Java ecosystem that it would make sense, from my point of view, to have a specific, Windows focused README... I agree that documentation can always be improved however, and would encourage suggesting improvements to the current documentation rather than duplicating and making it redundant. Ok..got the point /Erik On 2013-11-20 08:37, Ivan Krylov wrote: I went through the exercise of building openjdk 7-8 on Windows and concur it isn't trivial. But google helps and I found very the helpful Volker's blogpost very quickly. This problem should not be solved by adding extra pointer to workarounds. The build system on Windows should work with the latest Cygwin's make. I think that the openjdk community is big enough to influence and push through all necessary fixes into make. Ivan On 11/19/13 11:05 AM, Francis ANDRE wrote: Hi Dalibor Everybody at Oracle and may be elsewhere knows how difficult is the task of building OpenJDK on WXP/W7. There was even in a previous OpenJDK contest a proposal for making this windows build smoother... Thus, the blog of Volker SIMONIS is really of a great help to avoid loosing time, energy and aspirine for building OpenJDK on Windows. I was specially redevable to Volker on the chapter about the specific version of Make 3.82 which in the standard cygwin delivery does not understand the Windows Letter based path. Without his guide on compiling and running the latest Make out of cygwin, NO ONE, and I repeat, NO ONE can make the OpenJDK because it fails without a clear and understandable errors. Moreover, when asking the build list about those errors, no one answers because no one can imagine that the Cygwin make cannot manage Windows letter based path. So, yes, adding the blog of Wolker SIMONIS or may be a reformatted text*is a major help for building OpenJDK on windows*. Please, reconsider your position on adding this blog post as a README file. Francis Le 18/11/2013 20:11, Dalibor Topic a écrit : On 10/6/13 8:37 PM, Francis ANDRE wrote: Hi I submit this patch for review for this Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The webrev.ksh is broken on WXP/Cygwin. So I am providing here the hg outgoing report as well as the new file README-Windows-Cygwin-VS2010 I don't think that it's necessary to include blog posts in the source code archives. ;) cheers, dalibor topic
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
Hi, On 11/19/2013 11:05 AM, Francis ANDRE wrote: Hi Dalibor Everybody at Oracle and may be elsewhere knows how difficult is the task of building OpenJDK on WXP/W7. There was even in a previous OpenJDK contest a proposal for making this windows build smoother... Thus, the blog of Volker SIMONIS is really of a great help to avoid loosing time, energy and aspirine for building OpenJDK on Windows. I was specially redevable to Volker on the chapter about the specific version of Make 3.82 which in the standard cygwin delivery does not understand the Windows Letter based path. Without his guide on compiling and running the latest Make out of cygwin, NO ONE, and I repeat, NO ONE can make the OpenJDK because it fails without a clear and understandable errors. Moreover, when asking the build list about those errors, no one answers because no one can imagine that the Cygwin make cannot manage Windows letter based path. About make versions - I recommend using this one (http://www.cmake.org/files/cygwin/make.exe-cygwin1.7) for jdk7 windows builds. I tried some make versions (binary and source) and only this binary worked for me with amd64 builds. Some make versions fail immediately, some work on i386 but fail on amd64 during hotspot build. I haven't tried make 4.0 though (it was not available at the time). So, yes, adding the blog of Wolker SIMONIS or may be a reformatted text*is a major help for building OpenJDK on windows*. Please, reconsider your position on adding this blog post as a README file. Francis Le 18/11/2013 20:11, Dalibor Topic a écrit : On 10/6/13 8:37 PM, Francis ANDRE wrote: Hi I submit this patch for review for this Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The webrev.ksh is broken on WXP/Cygwin. So I am providing here the hg outgoing report as well as the new file README-Windows-Cygwin-VS2010 I don't think that it's necessary to include blog posts in the source code archives. ;) cheers, dalibor topic -- Regards, Alex Kasko
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
I went through the exercise of building openjdk 7-8 on Windows and concur it isn't trivial. But google helps and I found very the helpful Volker's blogpost very quickly. This problem should not be solved by adding extra pointer to workarounds. The build system on Windows should work with the latest Cygwin's make. I think that the openjdk community is big enough to influence and push through all necessary fixes into make. Ivan On 11/19/13 11:05 AM, Francis ANDRE wrote: Hi Dalibor Everybody at Oracle and may be elsewhere knows how difficult is the task of building OpenJDK on WXP/W7. There was even in a previous OpenJDK contest a proposal for making this windows build smoother... Thus, the blog of Volker SIMONIS is really of a great help to avoid loosing time, energy and aspirine for building OpenJDK on Windows. I was specially redevable to Volker on the chapter about the specific version of Make 3.82 which in the standard cygwin delivery does not understand the Windows Letter based path. Without his guide on compiling and running the latest Make out of cygwin, NO ONE, and I repeat, NO ONE can make the OpenJDK because it fails without a clear and understandable errors. Moreover, when asking the build list about those errors, no one answers because no one can imagine that the Cygwin make cannot manage Windows letter based path. So, yes, adding the blog of Wolker SIMONIS or may be a reformatted text*is a major help for building OpenJDK on windows*. Please, reconsider your position on adding this blog post as a README file. Francis Le 18/11/2013 20:11, Dalibor Topic a écrit : On 10/6/13 8:37 PM, Francis ANDRE wrote: Hi I submit this patch for review for this Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The webrev.ksh is broken on WXP/Cygwin. So I am providing here the hg outgoing report as well as the new file README-Windows-Cygwin-VS2010 I don't think that it's necessary to include blog posts in the source code archives. ;) cheers, dalibor topic
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
On 10/6/13 8:37 PM, Francis ANDRE wrote: Hi I submit this patch for review for this Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The webrev.ksh is broken on WXP/Cygwin. So I am providing here the hg outgoing report as well as the new file README-Windows-Cygwin-VS2010 I don't think that it's necessary to include blog posts in the source code archives. ;) cheers, dalibor topic -- Oracle http://www.oracle.com Dalibor Topic | Principal Product Manager Phone: +494089091214 tel:+494089091214 | Mobile: +491737185961 tel:+491737185961 Oracle Java Platform Group ORACLE Deutschland B.V. Co. KG | Kühnehöfe 5 | 22761 Hamburg ORACLE Deutschland B.V. Co. KG Hauptverwaltung: Riesstr. 25, D-80992 München Registergericht: Amtsgericht München, HRA 95603 Geschäftsführer: Jürgen Kunz Komplementärin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher Green Oracle http://www.oracle.com/commitment Oracle is committed to developing practices and products that help protect the environment
Re: RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
Hi Dalibor Everybody at Oracle and may be elsewhere knows how difficult is the task of building OpenJDK on WXP/W7. There was even in a previous OpenJDK contest a proposal for making this windows build smoother... Thus, the blog of Volker SIMONIS is really of a great help to avoid loosing time, energy and aspirine for building OpenJDK on Windows. I was specially redevable to Volker on the chapter about the specific version of Make 3.82 which in the standard cygwin delivery does not understand the Windows Letter based path. Without his guide on compiling and running the latest Make out of cygwin, NO ONE, and I repeat, NO ONE can make the OpenJDK because it fails without a clear and understandable errors. Moreover, when asking the build list about those errors, no one answers because no one can imagine that the Cygwin make cannot manage Windows letter based path. So, yes, adding the blog of Wolker SIMONIS or may be a reformatted text*is a major help for building OpenJDK on windows*. Please, reconsider your position on adding this blog post as a README file. Francis Le 18/11/2013 20:11, Dalibor Topic a écrit : On 10/6/13 8:37 PM, Francis ANDRE wrote: Hi I submit this patch for review for this Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The webrev.ksh is broken on WXP/Cygwin. So I am providing here the hg outgoing report as well as the new file README-Windows-Cygwin-VS2010 I don't think that it's necessary to include blog posts in the source code archives. ;) cheers, dalibor topic
RFR: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop
Hi I submit this patch for review for this Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The webrev.ksh is broken on WXP/Cygwin. So I am providing here the hg outgoing report as well as the new file README-Windows-Cygwin-VS2010 Francis $ hg outgoing -v comparing with http://hg.openjdk.java.net/jdk7u/jdk7u40-dev searching for changes changeset: 723:ca9d79ba85a6 tag: tip user:fandre francis.andre.kampb...@orange.fr date:Sun Oct 06 19:11:23 2013 +0100 files: README-Windows-Cygwin-VS2010 description: Bug ID: 9007227: - make/sanity-rules.gmk:61: *** multiple target patterns. Stop The multiple target patterns error is coming from the version of GNU make.exe in the Cygwin distribu tion that does not recognize drive letter in path. The solution is to fully explained in a blog of Volker SIMONIS which is printed in this new file. *N o one* will succeed to build the OpenJDK on windows with cygwin and VS2010 without following the Volker's paper. That's why IMO, it is mandatory to join this README-Windows-Cygwin-VS2010 in the distribution. YAOJOWBI - Yet another OpenJDK on Windows Build Instruction By simonis Created 2011-10-28 11:00 Posted by simonis [1] on October 28, 2011 at 11:00 AM PDT Printed from https://weblogs.java.net/blog/simonis/archive/2011/10/28/yaojowbi-yet-another-openjdk-windows-build-instruction?force=510 This blog describes how to build both, a 64-bit and a 32-bit version of OpenJDK 8 on a plain, vanilla WindowsXP 64-bit operating system using only free (as in free beer) tools. Contents Getting started VisualC++ Express Windows SDK DirectX SDK TortoiseHg Java 7 JDK Ant Cygwin GNU make FreeType PATH handling OpenJDK sources JAXP and JAX_WS msvcr100.dll Building There are several tutorials out there which explain in more or less detail how to build OpenJDK on Windows. The problem with most of them is that they are either outdated (will happen with this blog as well:) or they use compilers which either aren't available anymore or which are not free. This blog will describe how to build both, a 64-bit and a 32-bit version of OpenJDK 8 on a plain, vanilla WindowsXP 64-bit operating system using only free (as in free beer) tools. Unfortunately, building OpenJDK on Windows is still far away from being straightforward as can be seen from the regular desperate help requests on the OpenJDK mailing lists. This has many reasons and I neither want to discuss them nor do I want to blame anybody for this fact. Instead I hope this post can help to improve the OpenJDK build documentation [2] and perhaps even the build process itself. Getting started As stated above, I started with a fresh, 64-bit WindowsXP installation. In fact I used a VmWare-Image in Oracle VirtualBox 4.1.4 on 64-bit Ubuntu 10.04 and in the VmWare Player 3.1.4 on 64-bit Windows 7. The first step was to install the free Microsoft C/C++ compilers and various dependencies required by OpenJDK. If not mentioned otherwise, I've installed all the packages mentioned here in the default location that was suggested by the respective installers. VisualC++ 2010 Express Download and install the free VisualC++ 2010 Express compilers from: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express [3]. Notice that this will require the installation of the Windows Imaging Component (64-bit) which is not present in a clean XP installation, but the VisualC++ installer will point you to the right URL from where you can get it (just for any case, here's where I finally downloaded it from: http://www.microsoft.com/download/en/details.aspx?displaylang=enid=1385 [4]). Windows SDK for Windows 7 and .Net Unfortunately, the VisualC++ 2010 Express package only contains 32-bit compilers. So if we want to build a 64-bit JVM we have to additionally install the Windows SDK for Windows 7 and .Net from http://www.microsoft.com/download/en/details.aspx?id=8279 [5]. (Notice that the Windows SDK now also contains the Itanium cross compiler. So should there be a native IA64 port in the OpenJDK anytime soon, it will be possible to build it with this setup as well:) Microsoft DirectX 9.0 SDK Another build requirement is the Microsoft DirectX 9.0 SDK header files and libraries. It can be easily installed from http://www.microsoft.com/download/en/details.aspx?displaylang=enid=21416 [6] but be sure to check the corresponding Microsoft DirectX [7] section in the OpenJDK Readme [2] in the case the required version changed. TortoiseHg To get the OpenJDK source code, we need a Mercurial [8] client. TortoiseHg [9] is an easy to install Mercurial distribution for Windows which can be downloaded from http://tortoisehg.bitbucket.org/download [10]. The installation step will updated the system path automatically.