Where does 'make sanity' look for the ANT version? (original) (raw)
Mike Duigou mike.duigou at oracle.com
Wed Mar 28 21🔞47 UTC 2012
- Previous message (by thread): Where does 'make sanity' look for the ANT version?
- Next message (by thread): javadoc and API docs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, 27 Mar 2012 17:22:02 -0700, Stuart Marks <stuart.marks at oracle.com> wrote:
Hi Martijn!
One of my colleagues ran into this the other day. I don't know all the details and the solution but I have a clue that might help you move forward. In make/common/shared/Sanity.gmk there are the lines,
ANTVER:=$(shell $(ANT) -version 2>&1 ) ANTVER:=$(call GetVersion,"$(ANTVER)") The GetVersion function (defined in Defs.gmk) extracts the version number from the shell output using a regexp. Unfortunately there seem to be circumstances -- not sure exactly what they are though -- when the shell output includes a java version number, either in the output or in a path. Clearly you're using Java 7 -- that is, JDK 1.7.0 -- and the GetVersion regexp is happily picking this up thinking it's the ant version number. One path forward would be to investigate why "shell $(ANT) -version" is returning some unexpected output and is possibly not even running ant at all
I ran into this and found that the problem was with my ALT_BOOTDIR -- it was pointing at the wrong directory.
I had
ALT_BOOTDIR=/Library/Java/JavaVirtualMachines/1.7.0.jdk/
whereas I should have had
ALT_BOOTDIR=/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
And this produced an error message indicating that no java executable could be found at
/Library/Java/JavaVirtualMachines/1.7.0.jdk/bin/java
(because it's not there).
I found the problem by changing the sanity script to print the full response $(_ANT_VER) in the error message.
HTH,
Mike
I'll forward this to my colleague to see whether he has anything to add.
s'marks
On 3/26/12 3:55 AM, Martijn Verburg wrote: Hi all,
So I'm building new VMs to try the various OpenJDK builds and have run across a pretty consistent problem using Lubuntu 11.10 (32-bit) with the detection of ANT. I have ANT 1.8.2 installed (Ant 1.7 is clearly removed) but 'make sanity' insists that the ANT version I have is 1.7.0. * My DEVTOOLSPATH is pointing at /usr/bin which has the correct version of ANT * When I set ANTHOME (export ANTHOME=/usr/share/ant) before running 'make sanity' it doesn't appear to take hold (the output from make sanity shows ANTHOME to be blank) I'm not sure where else it might be reading this from, does anyone where I should go spelunking to see where it makes this check? Cheers, Martijn ------------------------------ Message: 2 Date: Wed, 28 Mar 2012 08:06:51 +0200 From: Martijn Verburg <martijnverburg at gmail.com> Subject: Re: Where does 'make sanity' look for the ANT version? To: Stuart Marks <stuart.marks at oracle.com> Cc: build-dev at openjdk.java.net Message-ID: <CAP7YuASNqDU8zy+XeNgo=-P2N7VkJDHB0eP=rLgdA4gOwrwtzQ at mail.gmail.com> Content-Type: text/plain; charset=UTF-8 Hi Stuart, Thanks for looking into that for me, I'll keep a note of the location of Sanity.gmk going forwards. I have managed to resolve the issue, it was a curious case where my 1.8.2 ANT install couldn't find $ALTBOOTDIR//lib/tools.jar and therefore 'failed', the build then defaulted back to an ant under the langtools folder. I corrected a permissions problem on the tools.jar file and make sanity ran smoothly after that. Now having fun trying to find the exact Ubnutu package that contains the X11 headers the build needs, but that's a different story :-) Cheers, Martijn On 28 March 2012 02:22, Stuart Marks <stuart.marks at oracle.com> wrote: Hi Martijn! One of my colleagues ran into this the other day. I don't know all the details and the solution but I have a clue that might help you move forward. In make/common/shared/Sanity.gmk there are the lines,
ANTVER:=$(shell $(ANT) -version 2>&1 ) ANTVER:=$(call GetVersion,"$(ANTVER)")
The GetVersion function (defined in Defs.gmk) extracts the version number from the shell output using a regexp. Unfortunately there seem to be circumstances -- not sure exactly what they are though -- when the shell output includes a java version number, either in the output or in a path. Clearly you're using Java 7 -- that is, JDK 1.7.0 -- and the GetVersion regexp is happily picking this up thinking it's the ant version number. One path forward would be to investigate why "shell $(ANT) -version" is returning some unexpected output and is possibly not even running ant at all. I'll forward this to my colleague to see whether he has anything to add. s'marks
On 3/26/12 3:55 AM, Martijn Verburg wrote: Hi all, So I'm building new VMs to try the various OpenJDK builds and have run across a pretty consistent problem using Lubuntu 11.10 (32-bit) with the detection of ANT. I have ANT 1.8.2 installed (Ant 1.7 is clearly removed) but 'make sanity' insists that the ANT version I have is 1.7.0. * My DEVTOOLSPATH is pointing at /usr/bin which has the correct version of ANT * When I set ANTHOME (export ANTHOME=/usr/share/ant) before running 'make sanity' it doesn't appear to take hold (the output from make sanity shows ANTHOME to be blank) I'm not sure where else it might be reading this from, does anyone where I should go spelunking to see where it makes this check? Cheers, Martijn End of build-dev Digest, Vol 59, Issue 53 *****************************************
- Previous message (by thread): Where does 'make sanity' look for the ANT version?
- Next message (by thread): javadoc and API docs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]