Got another error I don't quite understand...

Kelly O'Hair Kelly.Ohair at Sun.COM
Thu Jul 19 02:36:01 UTC 2007



Ted Neward wrote:
> I'll flip them over and try again. So, just to make sure I understand
> correctly, all the ALT_* paths should use C-colon-forwardslash syntax, yes?
> Even though we're launching from inside a Cygwin shell?

Yes.

-kto

> 
> Ted Neward
> Java, .NET, XML Services
> Consulting, Teaching, Speaking, Writing
> http://www.tedneward.com 
> 
>> -----Original Message-----
>> From: Kelly.Ohair at Sun.COM [mailto:Kelly.Ohair at Sun.COM]
>> Sent: Wednesday, July 18, 2007 10:51 AM
>> To: Ted Neward
>> Cc: 'Jeroen Frijters'; build-dev at openjdk.java.net
>> Subject: Re: Got another error I don't quite understand...
>>
>>
>> Inside Sun we have used MKS (not cygwin) for a long long time, so
>> there is quite a bit of history here.
>>
>> In general, you need to try and use paths in what is called the
>> "mixed" format of drive letters and the '/' character, e.g. C:/
>> paths. It's extremely rare that a Windows utility you need will not accept
>> the C:/ style of pathnames (NMAKE is the only one I know about).
>>
>> In general shells like sh, bash, ksh, csh, tcsh, etc. treat the \
>> character as an escape character and they often disappear, so using
>> the \ path in any path you give to GNU make via the command line or
>> via environment variables is a often a bad idea. When you see things
>> like "C:\\\\path\\\\dir" in shell scripts, they are trying to get around
>> this \ problem by escaping the \ character, gets real ugly because it's
>> hard
>> to know how many passes the shell might make over a string.
>>
>> The cygwin paths look like /cygdrive/c/ and these aren't good to use
>> either because most Windows tools including java.exe don't understand
>> this path syntax. But the trick with CYGWIN is that the PATH variable
>> MUST use the /cygdrive/ form because they use the ':' character as a
>> path separator.
>>
>> The various tools spit out various path formats, I'd ignore that.
>>
>> Make sure all the paths you supply to GNU make and put in the ALT_*
>> variables are the C:/ style path names.
>>
>> -kto
>>
>>
>> Ted Neward wrote:
>>> The odd thing is, it goes for quite a while before it hits this error;
>>> intuition tells me if my paths were incorrect, this should have been
>> picked
>>> up long before this point in the build.
>>>
>>> Plus, "make sanity" returns everything OK. If it passes the "sanity"
>> check,
>>> I would assume (!) that the paths are OK.
>>>
>>> And FWIW, a quick check again reveals that they're all in the
>>> "/cygwin/c/..." format that the build scripts seem to demand; if the
>> Java
>>> tools need the traditional Win32 format (which I can believe), then
>> perhaps
>>> the build script needs to flip them back to C:\ format before
>> processing?
>>> Ted Neward
>>> Java, .NET, XML Services
>>> Consulting, Teaching, Speaking, Writing
>>> http://www.tedneward.com
>>>
>>>
>>>> -----Original Message-----
>>>> From: Jeroen Frijters [mailto:jeroen at sumatra.nl]
>>>> Sent: Tuesday, July 17, 2007 9:46 PM
>>>> To: Ted Neward; build-dev at openjdk.java.net
>>>> Subject: RE: Got another error I don't quite understand...
>>>>
>>>> Ted Neward wrote:
>>>>> Somehow, in this one run of the build, it appears that the forward-
>>>>> slashes are being turned into back-slashes:
>>>> [...]
>>>>> java.io.FileNotFoundException:
>>>>> \cygdrive\c\Prg\OpenJDK\BinaryPlugs\jdk1.7.0\jre\
>>>> [...]
>>>>> Notice that in the FileNotFoundException it reports
>>>>> "\cygwin\c\Prg\OpenJDK\...", using backslashes instead of forward-
>>>>> slashes. Not being any kind of Cygwin expert (or even journeyman), I'm
>>>>> not sure if this is just how Java is reporting the exception (which I
>>>>> doubt), or if there is some kind of translator that kicked in there to
>>>>> reverse them, or what. The file does exist at that location, honest.
>>>>> :-)
>>>> I got this message too. I think it is caused by one of your
>>>> BLAH_BLAH_WHATEVER paths being "incorrect". I too set them to
>>>> /cygdrive/c/.../, but given this error, I'm assuming that you must set
>>>> them to C:\...\.
>>>>
>>>> Remember that when java.exe runs, it runs in Win32, so it doesn't
>>>> understand the cygwin paths. Like you, I don't know very much about
>>>> cygwin, so I also don't understand what happens if you pass a path on
>> the
>>>> command line or in the environment in cygwin (to a Win32 executable).
>>>>
>>>> FWIW, I gave up trying to build on Windows for the time being (I'm
>> hoping
>>>> to let you do the hard work ;-)). It's really quite depressing how
>> feeble
>>>> the build process is on Windows. It took me only a few minutes to get
>> it
>>>> to build on Ubuntu (and I'm a Windows person).
>>>>
>>>> Regards,
>>>> Jeroen
>>>>
>>>> No virus found in this incoming message.
>>>> Checked by AVG Free Edition.
>>>> Version: 7.5.476 / Virus Database: 269.10.8/904 - Release Date:
>> 7/16/2007
>>>> 5:42 PM
>>>>
>>> No virus found in this outgoing message.
>>> Checked by AVG Free Edition.
>>> Version: 7.5.476 / Virus Database: 269.10.8/904 - Release Date:
>> 7/16/2007
>>> 5:42 PM
>>>
>>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.476 / Virus Database: 269.10.8/906 - Release Date: 7/17/2007
>> 6:30 PM
>>
> 
> No virus found in this outgoing message.
> Checked by AVG Free Edition. 
> Version: 7.5.476 / Virus Database: 269.10.8/906 - Release Date: 7/17/2007
> 6:30 PM
>  
> 



More information about the build-dev mailing list