Hi,
The relevant code is the following:
DynamicSite<object, object, object> mapSite;
if (func != null) mapSite =
CallSiteFactory.CreateSimpleCallSite<object, object,
object>(DefaultContext.DefaultPythonBinder);
IEnumerator i = PythonOps.GetEnumerator(param[1]);
while (i.MoveNext()) {
if (func == null) ret.AddNoLock(i.Current);
else
ret.AddNoLock(mapSite.Invoke(DefaultContext.Default, func,
i.Current));
Here, mapSite is not initialized. I'm not sure why the MS.NET C#
compiler allows this.
There is another similar case in the same method:
DynamicSite<object, object[], object> mapSite;
while (true) {
bool done = true;
for (int i = 0; i < enums.Length; i++) {
if (enums[i].MoveNext()) {
args[i] = enums[i].Current;
done = false;
} else {
args[i] = null;
}
}
if (done) {
return ret;
}
if (func != null) {
// splat call w/ args, can't use site here yet...
if (!mapSite.IsInitialized) {
As for the resource problem, try this in the nant build file:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<resgen input="Microsoft.Scripting.Core/Microsoft.Scripting.txt"
output="Microsoft.Scripting.Core/Microsoft.Scripting.Core.resources"/>
<csc target="library" define="${defines}"
output="Microsoft.Scripting.Core.dll">
<sources>
<include
name="Microsoft.Scripting.Core/**/*.cs"/>
</sources>
<resources dynamicprefix="true"
basedir="Microsoft.Scripting.Core">
<include
name="Microsoft.Scripting.Core.resources"/>
</resources>
<references>
<include name="System.Configuration.dll"/>
</references>
</csc>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Zoltan
On Mon, May 19, 2008 at 8:52 PM, Douglas S. Blank <[EMAIL PROTECTED]> wrote:
> I'm attempting to bring the IronPython Community Edition up to date with
> IP2B2, and having a couple of issues. I've documented everything needed to
> build it here:
>
> http://wiki.roboteducation.org/IronPython2B2
>
> The first is a problem with mapSite in Src/IronPython/Runtime/Builtin.cs.
> The Mono csharp compiler is complaining that mapSite is uninitialized. Any
> ideas?
>
> The second is comping up with a valid nant xml with the right pieces
> defined. I can get it to build, and run, but it crashes with:
>
> $ mono Src/ipy.exe
> IronPython 2.0 Beta (0.0.0.0) on .NET 2.0.50727.42
> Copyright (c) Microsoft Corporation. All rights reserved.
>>>> 1
> Unhandled exception:
>
> Unhandled Exception: System.Resources.MissingManifestResourceException:
> Could not find any resources appropriate for the specified culture or the
> neutral culture. Make sure "Microsoft.Scripting.Core.resources" was
> correctly embedded or linked into assembly "Microsoft.Scripting.Core" at
> compile time, or that all the satellite assemblies required are loadable and
> fully signed.
> at System.Resources.ResourceManager.AssemblyResourceMissing (System.String
> fileName) [0x00000]
> at System.Resources.ResourceManager.InternalGetResourceSet
> (System.Globalization.CultureInfo culture, Boolean Createifnotexists,
> Boolean tryParents) [0x00000]
> ...
>
> I suspect that the nant xml is incorrect. The relevant part I have added is:
>
> <csc target="library" output="Microsoft.Scripting.Core.dll"
> warninglevel="${warn}">
> <sources>
> <include name="Microsoft.Scripting.Core/**/*.cs"/>
> </sources>
> <references>
> <include name="System.Configuration.dll"/>
> </references>
> </csc>
>
> Any ideas on these two points would be very helpful.
>
> -Doug
>
> Douglas S. Blank wrote:
>>
>> On Fri, May 9, 2008 11:37 pm, Curt Hagenlocher said:
>>>
>>> We added Microsoft.Scripting.Core.dll in Beta2; you'll probably need to
>>> add
>>> a reference to that.
>>
>> Curt, thanks for the quick feedback! You are right, and now I need to
>> figure out how to make that happen.
>>
>> Seo, et al: any chance of updating the IPCE build to work with IP2Beta2?
>> It looks like the Microsoft.Scripting.Core.dll requirement isn't going
>> away, so it won't be wasted effort. (Or someone point me in the right
>> direction, and I'll try to do it).
>>
>> I did try using the MS .dll's directly from CodePlex in Mono, and it
>> almost works. It builds fine, but *looks* like there is a bug that
>> prevents Mono from evaluating some statements (like "import sys"). The
>> stack trace from inside my c# code is below. If you think it is something
>> else, please let me know.
>>
>> I'd also be interested in other options to using IP2B2 (other than
>> retreating to an earlier IP). I fairly new to all of this, so maybe I am
>> missing something obvious.
>>
>> -Doug
>>
>> System.Reflection.TargetInvocationException: Exception has been thrown by
>> the target of an invocation. ---> System.ArgumentException: The method
>> should be static.
>> Parameter name: method
>> at System.Delegate.CreateDelegate (System.Type type,
>> System.Reflection.MethodInfo method, Boolean throwOnBindFailure)
>> [0x00000]
>> at System.Delegate.CreateDelegate (System.Type type,
>> System.Reflection.MethodInfo method) [0x00000]
>> at
>>
>> Microsoft.Scripting.Utils.InvokeHelper`3[Microsoft.Scripting.Actions.CallSite`1[Microsoft.Scripting.Actions.DynamicSiteTarget`6[System.Object,System.String,Microsoft.Scripting.IAttributesCollection,Microsoft.Scripting.IAttributesCollection,IronPython.Runtime.PythonTuple,System.Object]],Microsoft.Scripting.Actions.DynamicSiteTarget`6[System.Object,System.String,Microsoft.Scripting.IAttributesCollection,Microsoft.Scripting.IAttributesCollection,IronPython.Runtime.PythonTuple,System.Object],Microsoft.Scripting.Actions.CallSite`1[Microsoft.Scripting.Actions.DynamicSiteTarget`6[System.Object,System.String,Microsoft.Scripting.IAttributesCollection,Microsoft.Scripting.IAttributesCollection,IronPython.Runtime.PythonTuple,System.Object]]]..ctor
>> (System.Reflection.MethodInfo ) [0x00000]
>> at <0x00000> <unknown method>
>> at (wrapper managed-to-native)
>> System.Reflection.MonoCMethod:InternalInvoke (object,object[])
>> at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags
>> invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,
>> System.Globalization.CultureInfo culture) [0x00000] --- End of inner
>> exception stack trace ---
>>
>> at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags
>> invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,
>> System.Globalization.CultureInfo culture) [0x00000]
>> at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr,
>> System.Reflection.Binder binder, System.Object[] parameters,
>> System.Globalization.CultureInfo culture) [0x00000]
>> at System.Activator.CreateInstance (System.Type type, BindingFlags
>> bindingAttr, System.Reflection.Binder binder, System.Object[] args,
>> System.Globalization.CultureInfo culture, System.Object[]
>> activationAttributes) [0x00000]
>> at System.Activator.CreateInstance (System.Type type, System.Object[]
>> args, System.Object[] activationAttributes) [0x00000]
>> at System.Activator.CreateInstance (System.Type type, System.Object[]
>> args) [0x00000]
>> at Microsoft.Scripting.Utils.ReflectedCaller.SlowCreate
>> (System.Reflection.MethodInfo info, System.Reflection.ParameterInfo[]
>> pis) [0x00000]
>> at Microsoft.Scripting.Utils.ReflectedCaller.FastCreate
>> (System.Reflection.MethodInfo target, System.Reflection.ParameterInfo[]
>> pi) [0x00000]
>> at Microsoft.Scripting.Utils.ReflectedCaller.Create
>> (System.Reflection.MethodInfo info) [0x00000]
>>>
>>> On Fri, May 9, 2008 at 8:25 PM, Douglas S. Blank <[EMAIL PROTECTED]>
>>> wrote:
>>>
>>>> Does anyone have an example of IronPython2 Beta2 Hosting in C# working
>>>> with Mono 1.9? I think I have all of the pieces in place, but get an
>>>> error
>>>> that ScriptRuntime can not be found on build.
>>>>
>>>> Any pointers appreciated!
>>>>
>>>> -Doug
>>>>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com