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