Fwd: Testing OpenJDK under Windows 7 64, problem with Makefile
Daniel López
d.lopez.j at gmail.com
Mon Mar 4 05:33:17 PST 2013
Cool, that's why I wanted to check first if something was already there to
handle those cases.
The issue seems to be twofold:
1) Some paths that end up using ':' are not handled on the vmsqe_tests
target, so I processed them like the other paths are:
-------------
@@ -771,7 +771,7 @@
RUNVMSQE_BIN = $(RUNVMSQE_HOME)/bin/runvmsqe
-vmsqe_tests: prep $(VMSQE_HOME)/vm $(TONGA3_HOME) $(RUNVMSQE_BIN)
$(PRODUCT_HOME)
+vmsqe_tests: prep $(shell $(GETMIXEDPATH) "$(VMSQE_HOME)")/vm $(shell
$(GETMIXEDPATH) "$(TONGA3_HOME)") $(RUNVMSQE_BIN) $(PRODUCT_HOME)
$(RM) -r $(ABS_TEST_OUTPUT_DIR)/vmsqe
( $(CD) $(ABS_TEST_OUTPUT_DIR) && \
$(RUNVMSQE_BIN) \
-----------------
2) The Java command does not understand the cygwin paths so they have to be
changed for the windows equivalents when calling jtreg itself
(GETMIXEDPATH_JAVA is the opposite routine of GETMIXEDPATH, from Linux like
paths to Windows paths):
-----------------
@@ -668,14 +668,14 @@
| $(CUT) -d' ' -f1 \
| $(SED) -e 's@^@Excluding: @'
( \
- ( JT_HOME=$(shell $(GETMIXEDPATH) "$(JT_HOME)"); \
+ ( JT_HOME=$(shell $(GETMIXEDPATH_JAVA) "$(JT_HOME)"); \
export JT_HOME;
\
- $(shell $(GETMIXEDPATH) "$(JTREG)")
\
+ $(shell $(GETMIXEDPATH_JAVA) "$(JTREG)")
\
$(JTREG_BASIC_OPTIONS)
\
- -r:$(shell $(GETMIXEDPATH)
"$(ABS_TEST_OUTPUT_DIR)")/JTreport \
- -w:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTwork
\
- -jdk:$(shell $(GETMIXEDPATH) "$(PRODUCT_HOME)")
\
- -exclude:$(shell $(GETMIXEDPATH) "$(EXCLUDELIST)")
\
+ -r:$(shell $(GETMIXEDPATH_JAVA)
"$(ABS_TEST_OUTPUT_DIR)")/JTreport \
+ -w:$(shell $(GETMIXEDPATH_JAVA)
"$(ABS_TEST_OUTPUT_DIR)")/JTwork \
+ -jdk:$(shell $(GETMIXEDPATH_JAVA) "$(PRODUCT_HOME)")
\
+ -exclude:$(shell $(GETMIXEDPATH_JAVA) "$(EXCLUDELIST)")
\
$(JTREG_TEST_OPTIONS)
\
$(TESTDIRS)
\
) ; $(BUNDLE_UP_AND_EXIT)
-----------------
I hope it helps,
D.
2013/3/4 Erik Joelsson <erik.joelsson at oracle.com>
> Contributions are of course always appreciated, but the model for solving
> this in the new build is different. We have a utility, fixpath.exe, created
> by configure, which we prepend to all the windows executables that make
> runs. It rewrites all arguments containing /cygdrive/ paths to
> driveletter-colon paths before running the windows executable. This way we
> don't need to worry about converting paths in make, we just use unix style
> all over. I haven't looked at the test targets yet, so I don't know the
> details of what goes wrong there. Getting to look at your patch would give
> a better idea of what the problems are.
>
> /Erik
>
>
> On 2013-03-04 13:39, Daniel López wrote:
>
>> Well, I have been able to modify the Makefile so it does not depend on
>> make
>> hanlding the ':', by transforming paths into linux style paths inside
>> Make.
>> Then the problem is that Java itself seems not to like the Cygwin paths
>> (/cygdrive/c/...), maybe because it thinks it's running in windows?, so
>> the
>> paths passed to Java have to be properly formatted as well.
>>
>> So I have a working version of the Makefile, in Cygwin, and the question
>> would be if we want to investigate further how to get make to work with
>> that version or use the modified make-independent version. And in the
>> latter case, I can provide I diff of my changes so they can be revised and
>> tested. They are fairly simple changes but... :).
>>
>> S!
>> D.
>>
>>
>> 2013/3/4 Erik Joelsson<erik.joelsson at oracle.**com<erik.joelsson at oracle.com>
>> >
>>
>> I see. Yes, this is the new build. The test targets haven't been
>>> addressed
>>> yet though so the problem with : probably persists there. You might need
>>> to
>>> build make with some special option to enable the : feature. I have never
>>> done this myself so I don't know the details.
>>>
>>> /Erik
>>>
>>>
>>> On 2013-03-04 12:18, Daniel López wrote:
>>>
>>> I just tried downloading and building myself make 3.80 (as Mozilla guys
>>>> suggest) or the newest 3.82 and none of them is able to run the Makefile
>>>> unmodified :(.
>>>>
>>>> S!
>>>> D.
>>>>
>>>>
>>>> 2013/3/4 Daniel López<d.lopez.j at gmail.com>
>>>>
>>>> This happens trying to test Java 8 following the instructions
>>>> described
>>>>
>>>>> in
>>>>> http://java.net/projects/****adoptopenjdk/pages/****BuildWindows<http://java.net/projects/**adoptopenjdk/pages/**BuildWindows>
>>>>> <http://java.net/**projects/adoptopenjdk/pages/**BuildWindows<http://java.net/projects/adoptopenjdk/pages/BuildWindows>>that
>>>>> I thought
>>>>>
>>>>> were related to the new system and then trying to test the installation
>>>>> using the instructions provided here
>>>>> http://java.net/projects/****adoptopenjdk/pages/****InstallJtreg<http://java.net/projects/**adoptopenjdk/pages/**InstallJtreg>
>>>>> <http://java.net/**projects/adoptopenjdk/pages/**InstallJtreg<http://java.net/projects/adoptopenjdk/pages/InstallJtreg>
>>>>> >
>>>>>
>>>>> .
>>>>>
>>>>> Is this the old system of testing the jdk? The building itself
>>>>> succeeds,
>>>>> it's the test Makefile that gives me troubles
>>>>> (OpenJDK/jdk8_tl/jdk/test)
>>>>> to
>>>>> be precise.
>>>>> Nevertheless, I'll try to build the make from the sources and see if
>>>>> that
>>>>> also fixes it.
>>>>>
>>>>> Thanks,
>>>>> D.
>>>>>
>>>>>
>>>>> 2013/3/4 Erik Joelsson<erik.joelsson at oracle.****com<
>>>>> erik.joelsson at oracle.com**>
>>>>>
>>>>> I'm assuming this is concerning jdk7 (and the old build system) so
>>>>>
>>>>>> moving
>>>>>> to the build-dev list. This is a known issue in the cygwin version of
>>>>>> make.
>>>>>> It can be addressed by building it yourself from source, enabling the
>>>>>> feature to accept ':' in paths. See the build readme for more details.
>>>>>>
>>>>>> http://hg.openjdk.java.net/******jdk7/build/raw-file/tip/**<http://hg.openjdk.java.net/****jdk7/build/raw-file/tip/**>
>>>>>> <ht**tp://hg.openjdk.java.net/****jdk7/build/raw-file/tip/**<http://hg.openjdk.java.net/**jdk7/build/raw-file/tip/**>
>>>>>> >
>>>>>> README-builds.html#gmake<http:****//hg.openjdk.java.net/jdk7/****<http://hg.openjdk.java.net/jdk7/**>
>>>>>> build/raw-file/tip/README-****builds.html#gmake<http://hg.**
>>>>>> openjdk.java.net/jdk7/build/**raw-file/tip/README-builds.**html#gmake<http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html#gmake>
>>>>>> >
>>>>>>
>>>>>>
>>>>>> (In the new build system in jdk8, this is solved differently and
>>>>>> should
>>>>>> not be an issue.)
>>>>>>
>>>>>> /Erik
>>>>>>
>>>>>>
>>>>>> On 2013-02-27 13:05, Daniel López wrote:
>>>>>>
>>>>>> Hi there,
>>>>>>
>>>>>>> I've been redirected here from the Adopt OpenJDK programme, as the
>>>>>>> investigation while trying to "adopt" the OpenJDK build using Windows
>>>>>>> has
>>>>>>> led me to some issues involving the build scripts.
>>>>>>> Back to the point, I was able to successfully build the OpenJDK
>>>>>>> following
>>>>>>> the instructions from the programme, but when it was time to verify
>>>>>>> the
>>>>>>> build, the make did not succeed. After some research, I found out
>>>>>>> that
>>>>>>> one
>>>>>>> of the issues is that, under Cygwin, the JDK does not like being
>>>>>>> passed
>>>>>>> the
>>>>>>> Unix equivalent paths, so you need the DOS adapted ones, but the
>>>>>>> Makefile
>>>>>>> is unable to work with the DOS adapted ones (due to the presence of
>>>>>>> ':'
>>>>>>> in
>>>>>>> the paths that is interpreted as path separators). The Makefile is
>>>>>>> transforming that paths and use them in several places (using cygpath
>>>>>>> -m
>>>>>>> -s
>>>>>>> ) but then it fails with a "multiple targets" error due to ':' being
>>>>>>> used
>>>>>>> in some paths.
>>>>>>>
>>>>>>> The solution I found was to convert the paths that are used
>>>>>>> internally
>>>>>>> inside the Makefile using 'cygpath -u' and use the DOS paths when
>>>>>>> they
>>>>>>> are
>>>>>>> passed to call the jtreg tool (a Java call). It surely needs some
>>>>>>> testing
>>>>>>> and MK might have a similar problem (I have not tested it, I don't
>>>>>>> have
>>>>>>> it
>>>>>>> installed) but just I wanted to let you know about the issue, in case
>>>>>>> someone else has the same troubles.
>>>>>>>
>>>>>>> How would you like to proceed with it? Google did not produce any bug
>>>>>>> report that covered that and I'm quite new to the Adop OpenJDK
>>>>>>> programme
>>>>>>> and the whole OpenJDK contribution (the documentation is not too
>>>>>>> clear
>>>>>>> as
>>>>>>> it assumes a bug is already created and the bugDatabase page is a
>>>>>>> WIP).
>>>>>>>
>>>>>>> Cheers!
>>>>>>> D.
>>>>>>>
>>>>>>> To follow the whole discussion, the topic at the Adopt OpenJDK google
>>>>>>> group
>>>>>>> should be here:
>>>>>>> https://groups.google.com/******forum/?hl=es&fromgroups=#!**<https://groups.google.com/****forum/?hl=es&fromgroups=#!**>
>>>>>>> <h**ttps://groups.google.com/****forum/?hl=es&fromgroups=#!**<https://groups.google.com/**forum/?hl=es&fromgroups=#!**>
>>>>>>> >
>>>>>>> topic/adopt-openjdk/******qRdMlWFgrhc<https://groups.**
>>>>>>> google.com/forum/?hl=es&****fromgroups=#!topic/adopt-**<http://google.com/forum/?hl=es&**fromgroups=#!topic/adopt-**>
>>>>>>> openjdk/qRdMlWFgrhc<https://**groups.google.com/forum/?hl=**
>>>>>>> es&fromgroups=#!topic/adopt-**openjdk/qRdMlWFgrhc<https://groups.google.com/forum/?hl=es&fromgroups=#!topic/adopt-openjdk/qRdMlWFgrhc>
>>>>>>> >
>>>>>>>
>>>>>>>
More information about the build-infra-dev
mailing list