What am I doing wrong? hg: lambda/lambda/langtools: More bug fixes:

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Aug 19 01:39:45 PDT 2010


On 19/08/10 02:53, Howard Lovatt wrote:
> Hi Maurizio,
>
> Latest push in Mercurial repository has ProxyHelper in javac.jar and
> hence it now works for me, thanks. However there is another issue,
> javac.jar has to be added to the runtime (because the runtime also
> needs ProxyHelper).
>    
That's true - in fact both the 'java' script generated during the 
langtools build and the 'java' command generated during a full build of 
the lambda repo add ProxyHelper to the bootclasspath...

Maurizio
> Cheers,
>
>   -- Howard.
>
> On 17 August 2010 18:41, Maurizio Cimadamore
> <maurizio.cimadamore at oracle.com>  wrote:
>    
>> On 17/08/10 02:02, Howard Lovatt wrote:
>>      
>>> Hi Maurizio,
>>>
>>> I am using the script generated by running make from the Mercurial
>>> repository, the pertinent line from the langtools/dist/bin/javac
>>> script is:
>>>
>>>
>>> "/System/Library/Frameworks/JavaVM.framework/Versions/1.7.0_2010_07_30/Home//bin/java"
>>> "${bcp:+-Xbootclasspath/p:"$bcp"}" ${ea} ${javaOpts} -jar
>>> "${mydir}"/../lib/javac.jar ${toolOpts}
>>>
>>>        
>> the script assumes to be in a NetBeans like structure in which you have a
>> dist/ folder with two subfolders, bin/ (where your javac/java scripts are)
>> and lib/ where (javac.jar is). I guess that a failure to locate
>> lib/javac.jar could cause the problem you are talking about - I'd suggest
>> verifying that javac.jar is really accessible using the ../lib/javac.jar
>> path (relative to the path in which the script you are calling is located).
>>
>> Maurizio
>>
>>
>>      
>>> Where the java VM called is the MLVM from:
>>>
>>> http://www.concord.org/~sbannasch/mlvm/
>>>
>>> The javac script mentioned above is called by:
>>>
>>> $jdk/javac -Xlint:all -source 7 -XDallowFunctionTypes -d
>>> ../build/classes $package/*.java
>>>
>>>
>>> Cheers,
>>>
>>>   -- Howard.
>>>
>>> On 16 August 2010 17:59, Maurizio Cimadamore
>>> <maurizio.cimadamore at oracle.com>    wrote:
>>>
>>>        
>>>> Hi
>>>>   From the message you are getting it seems like the special class
>>>> com.sun.runtime.ProxyHelper is not included in the boot classpath, this
>>>> causing the completion error to occur when the compiler tries to generate
>>>> code that depends on such class. How are you invoking the lambda compiler?
>>>>
>>>> Maurizio
>>>>
>>>> On 15/08/10 22:46, Howard Lovatt wrote:
>>>>
>>>>          
>>>>> @Remi,
>>>>>
>>>>> The syntaxes (sp ?) Person#compareByAge and Person#compareByAge(
>>>>> Person, Person ) result in:
>>>>>
>>>>> An exception has occurred in the compiler (1.7.0-internal). Please
>>>>> file a bug at the Java Developer Connection
>>>>> (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade
>>>>> for duplicates. Include your program and the following diagnostic in
>>>>> your report.  Thank you.
>>>>> com.sun.tools.javac.code.Symbol$CompletionFailure: class file for
>>>>> com.sun.runtime.ProxyHelper not found
>>>>>
>>>>> The syntax Person#compareByAge() results in:
>>>>>
>>>>> lambdas/Main.java:35: method compareByAge in class Person cannot be
>>>>> applied to given types
>>>>>      Arrays.sort( people, Person#compareByAge() );
>>>>>                                 ^
>>>>>    required: Person,Person
>>>>>    found: no arguments
>>>>>
>>>>> Implying that Person#compareByAge( Person, Person ) is the correct
>>>>> syntax, however that causes the above exception.
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>
>>>>          
>>>
>>> --
>>>    -- Howard.
>>>
>>>        
>>
>>      
>
>
>    



More information about the lambda-dev mailing list