Re: Duplicate class definition
Jeroen Frijters <[email protected]> Fri, 18 Dec 2015 11:33:12 +0000
| Newsgroups | gmane.comp.java.ikvm.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Yves, You can easily write a tool to list the duplicates to a file during your build process, so it's not that big a deal. Compatibility means that there is a lot of weird Java code that expects weird things. If you want to add a switch ikvmc, I'll certainly consider the patch if you submit it :-) Regards, Jeroen > -----Original Message----- > From: Yves Langisch [mailto:[email protected]] > Sent: Friday, December 18, 2015 9:48 > To: Jeroen Frijters <[email protected]>; ikvm-developers <ikvm- > [email protected]> > Subject: Re: [Ikvm-developers] Duplicate class definition > > Hi Jeroen, > > What does compatibility mean? Since the set of duplicate classes is > quite huge the exclude option is not a viable option for us. > > Is there any chance to add an additional flag to ikvmc whether duplicate > classes are included as resources or completely ignored? > > Thanks > Yves > > On 17.12.2015 18:56, Jeroen Frijters wrote: > > 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>(Pagean > >>>> tC > >>>> 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