Re: Duplicate class definition
Jeroen Frijters <[email protected]> Thu, 17 Dec 2015 17:56:05 +0000
| Newsgroups | gmane.comp.java.ikvm.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Yves, The classes that it can't compile are included as resources (for compatibility). If you're willing to do the work, you can create a file listing the classes that should be excluded and pass it to the ikvmc -exclude:<filename> option. Regards, Jeroen > -----Original Message----- > From: Yves Langisch [mailto:[email protected]] > Sent: Thursday, December 17, 2015 18:26 > To: Jeroen Frijters <[email protected]>; ikvm-developers <ikvm- > [email protected]> > Subject: Re: [Ikvm-developers] Duplicate class definition > > Hi Jeroen, > > Thanks a lot, that fixed the linkage error. > > Another issue in this scenario I have is that the secondly generated DLL > (app.dll) which should only contain a few additional classes has at > least the same size as the referenced core.dll (12MB). The jar set to > convert is more or less the same for both DLLs (cannot easily changed > due to our build process). For me it looks like the classes that ikvmc > correctly claims as duplicates are still part of the resulting app.dll > but not visible (at least invisible in the object browser). > > Any ideas? > > Thanks > Yves > > On 16.11.2015 15:00, Jeroen Frijters wrote: > > Hi, > > > > This is now fixed in cvs. > > > > Regards, > > Jeroen > > > >> -----Original Message----- > >> From: Yves Langisch [mailto:[email protected]] > >> Sent: Friday, November 13, 2015 15:20 > >> To: ikvm-developers <[email protected]> > >> Subject: [Ikvm-developers] Duplicate class definition > >> > >> Hi there, > >> > >> Sometimes during authentication in my application I get the following > >> exception: > >> > >> Caused by: java.util.concurrent.ExecutionException: > >> java.lang.LinkageError: duplicate class definition: > >> com.jcraft.jsch.agentproxy.connector.PageantConnector$User32 > >> at java.util.concurrent.FutureTask.report(FutureTask.java:122) > >> at java.util.concurrent.FutureTask.get(FutureTask.java:192) > >> ... > >> Caused by: java.lang.LinkageError: duplicate class definition: > >> com.jcraft.jsch.agentproxy.connector.PageantConnector$User32 > >> at Java_java_lang_ClassLoader.defineClass1(Unknown Source) > >> at IKVM.Internal.AssemblyClassLoader.DefineDynamic(Unknown Source) > >> at IKVM.Internal.AssemblyClassLoader.LoadDynamic(Unknown Source) > >> at IKVM.Internal.AssemblyClassLoader.LoadClassImpl(Unknown Source) > >> at IKVM.Internal.ClassLoaderWrapper.LoadClass(Unknown Source) > >> at IKVM.Runtime.ByteCodeHelper.LoadTypeWrapper(Unknown Source) > >> at IKVM.Runtime.ByteCodeHelper.DynamicLoadMethodHandleImpl(Unknown > >> Source) > >> at IKVM.Runtime.ByteCodeHelper.DynamicBinderMemberLookup(Unknown > >> Source) > >> at > >> com.jcraft.jsch.agentproxy.connector.PageantConnector.<init>(PageantC > >> onn > >> ector.java:57) > >> … > >> > >> Background: > >> > >> * two relevant DLLs (app.dll, core.ll) > >> * core.dll is an IKVM converted library containing many 3rd party > >> Java jars > >> * app.dll is converted with /reference:core.dll and contains most of > >> the jars in core.dll already (and some more) -> conversion leads to > >> duplicate class warnings > >> > >> As far as I can see there are no duplicate classes in both DLLs. > >> Referring to the stack trace, PageantConnector is in core.dll, the > >> User32 interface in app.dll, if this makes any difference. > >> > >> Any ideas? Thanks! > >> > >> - > >> Yves > >> > >> --------------------------------------------------------------------- > >> --- > >> ------ > >> _______________________________________________ > >> Ikvm-developers mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/ikvm-developers ------------------------------------------------------------------------------ _______________________________________________ Ikvm-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ikvm-developers