Mike
Le 05/11/2013 07:16, Mike Duigou a écrit :
Hi
Using a fresh copy of the jdk7u repository, and running make -d sanity, I got
the error below. Why OUTPUTDIR must be absolute or if it must be absolute, why
it is not when running make sanity?
In general, using absolute paths always helps for this kind of configuration
work.
I do not understand your remark. I did not specify anything for OUTPUTDIR,
neither on the command line, neither as exported variable. OUTPUT is computed by
one of the included makefile and no one should have to specify it by default
since by the end, its value is build/windows-i586 relative to the top level
directory.
It seems to me that OUTPUTDIR is computed in the jdk subdirectory makefiles
while it is not in the top level Makefile. Thus, the check that it must be
absolute in the included jdk/make/common/shared/Defs.gmk fails. The only way I
found to bypass this error is to set
ALT_OUTPUTDIR=Z:/JDK/hsx/jdk7u/build/windows-i586
It seems like passing an absolute OUTPUTDIR is the solution and I suspect it
should be a /cydrive path not a native path.
From my point of view, it seems more a conflicting option setting between the
top level single Makefile and all the jdk subdir makefiles.
Be aware that it is not possible to build OpenJDK on Windows. There are
components and build logic missing (FreeType among them) that would be
necessary to build a working JDK. Unless you are working on adding the missing
components, attempting to build OpenJDK on Windows is probably destined to be a
fruitless endeavour. If you are interested in working on adding support for
Windows to OpenJDK builds (as opposed to Oracle Java which does have Windows
builds) then the jdk 8 project is probably a more worthwhile direction.
Please look at this URL:
https://weblogs.java.net/blog/simonis/archive/2011/10/28/yaojowbi-yet-another-openjdk-windows-build-instruction?force=510
where Volker SIMONIS explains all bits and bytes for building OpenJDK on
Windows. This works!
Mike
Francis
FrancisANDRE@idefix /cygdrive/Z/JDK/hsx/jdk7u
$ make -d sanity
GNU Make 3.82
Built for i686-pc-cygwin
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Reading makefile `Makefile'...
Reading makefile `jdk/make/common/shared/Defs-control.gmk' (search path) (no ~
expansion)...
Reading makefile `jdk/make/common/shared/Platform.gmk' (search path) (no ~
expansion)...
Reading makefile `jdk/make/common/shared/Defs.gmk' (search path) (no ~
expansion)...
Reading makefile `jdk/make/common/shared/Defs-utils.gmk' (search path) (no ~
expansion)...
Reading makefile `jdk/make/common/shared/Defs-versions.gmk' (search path) (no ~
expansion)...
Reading makefile `jdk/make/common/shared/Defs-windows.gmk' (search path) (no ~
expansion)...
jdk/make/common/shared/Defs.gmk:563: *** "ERROR: Trouble with the absolute path
for OUTPUTDIR './bui
ld/windows-i586'". Stop.
FrancisANDRE@idefix /cygdrive/Z/JDK/hsx/jdk7u
$ env | grep ALT
ALT_SLASH_JAVA=C:/Progra~1/Java/jdk1.7.0_45
ALT_FREETYPE_HEADERS_PATH=Z:/JDK/freetype-2.4.7/include
ALT_JDK_IMPORT_PATH=C:/Progra~1/Java/jdk1.7.0_45
ALT_FREETYPE_LIB_PATH=Z:/JDK/freetype-2.4.7/objs/win32/vc2010
ALT_DXSDK_PATH=C:/PROGRA~1/MI7482~1
ALT_BOOTDIR=C:/Progra~1/Java/jdk1.7.0_45