Re: Help: jdk/make/common/shared/Defs.gmk:563: *** ERROR: Trouble with the absolute path for OUTPUTDIR '
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
Re: Help: jdk/make/common/shared/Defs.gmk:563: *** ERROR: Trouble with the absolute path for OUTPUTDIR '
On Nov 5 2013, at 09:37 , Francis ANDRE francis.andre.kampb...@orange.fr wrote: 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. Sorry, I had forgotten how the old build worked. When using the old build system I frequently used ALT_OUTPUTDIR and when using that it was always better to use an absolute path. 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! I was unaware that anyone had gotten this to work. This is actually very good news! I do note that this could be simplified using the new build system and some items like DirectX detection are no longer relevant. 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
Help: jdk/make/common/shared/Defs.gmk:563: *** ERROR: Trouble with the absolute path for OUTPUTDIR '
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? 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 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