[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tycho-user] Weird error when using p2-installable-unit
|
> <environments combine.self="override"> workaround works for the small
> example project I setup (see attached).
>
I can confirm that your example project works for me as discussed here.
trying to see if I can figure out why it doesn't work for my project.
/max
> For the proper solution I've opened
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=365090
>
> --
> Regards,
> Igor
>
> On 11-11-29 6:51 AM, Max Rydahl Andersen wrote:
>>> Looks like your build has multiple os/ws/arch configured and resolution
>>> fails when trying to resolve for win32/win32/x86 combo. Here is the
>>> relevant log message (from right above the error ;-) )
>>
>> Couldn't see the forrest for trees.
>>
>>> [INFO] Cannot complete the request. Generating details.
>>> [INFO] {org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1, osgi.ws=win32, osgi.arch=x86, osgi.os=win32, org.eclipse.update.install.features=true, org.osgi.framework.system.packages=}
>>> [ERROR] Cannot resolve project dependencies:
>>> [ERROR] You requested to install 'bundle org.eclipse.jdt.launching.macosx 3.2.100.v20110509' but it could not be found
>>>
>>>
>>> Try adding the following to your test project pom.xml (insert<version>,
>>> if you don't have corresponding<pluginManagement>).
>>>
>>>
>>> <build>
>>> <plugins>
>>> <plugin>
>>> <groupId>org.eclipse.tycho</groupId>
>>> <artifactId>target-platform-configuration</artifactId>
>>> <configuration>
>>> <environments combine.self="override">
>>> </environments>
>>> </configuration>
>>> </plugin>
>>> </plugins>
>>> </build>
>> When I do that I get:
>>
>> !ENTRY org.eclipse.osgi 4 0 2011-11-29 12:47:59.109
>> !MESSAGE An error occurred while automatically activating bundle org.eclipse.ui.workbench (147).
>> !STACK 0
>> org.osgi.framework.BundleException: The activator org.eclipse.ui.internal.WorkbenchPlugin for bundle org.eclipse.ui.workbench is invalid
>> at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:171)
>> at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679)
>> at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
>> …
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>> at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
>> at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
>> at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
>> at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
>> at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
>> at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
>> at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
>> at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:191)
>> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
>> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
>> Caused by: java.lang.NoClassDefFoundError: org/eclipse/swt/SWTError
>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>> at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
>> at java.lang.Class.getConstructor0(Class.java:2699)
>> at java.lang.Class.newInstance0(Class.java:326)
>> at java.lang.Class.newInstance(Class.java:308)
>> at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:166)
>> ... 34 more
>> Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.SWTError
>> at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
>> at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
>> at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
>> at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>> ... 40 more
>>
>> If I actually go and physically remove the other target platforms in my parent:
>>
>> <plugin>
>> <groupId>org.eclipse.tycho</groupId>
>> <artifactId>target-platform-configuration</artifactId>
>> <version>${tychoVersion}</version>
>> <configuration>
>> <resolver>p2</resolver>
>> <ignoreTychoRepositories>true</ignoreTychoRepositories>
>> <environments>
>> <environment>
>> <os>macosx</os>
>> <ws>cocoa</ws>
>> <arch>x86</arch>
>> </environment>
>> </environments>
>> </configuration>
>> </plugin>
>>
>>
>> Then it works!
>>
>> That is just weird because we got other stuff that is os specific.
>>
>> /max
>>
>>
>>
>>>
>>>
>>> This should tell Tycho to only resolve test project's dependencies for
>>> the current os/ws/arch. If this helps, please open a bugreport, Tycho
>>> should only resolve test runtime for the current system's os/ws/arch.
>>>
>>> --
>>> Regards,
>>> Igor
>>>
>>>
>>> On 11-11-28 7:45 PM, Max Rydahl Andersen wrote:
>>>>> You should see way more logs
>>>>
>>>> Yeah, I got it now.
>>>>
>>>>> For p2 you should see entire resolver data flow, separately for each os/ws/arch combo enabled in target resolver configuration
>>>>> * Available IUs: shows all installable units visible to the project
>>>>
>>>> Yes, launching.macosx is listed here
>>>>> * Root IUs: shows project installable unit(s)
>>>>
>>>>
>>>> Yes, launching.macosx is listed here
>>>>
>>>>> * Extra IUs: shows installable units generated from<dependency/>
>>>>> elements
>>>>
>>>>
>>>> Yes, launching.macosx is listed here
>>>>
>>>>> * Slice: shows installable units "reachable" from the root and extra IUs
>>>>
>>>> its not listed here and then I get the error about it being non resolvable with no explanation ;(
>>>>
>>>> I've taken the liberty to attach my raw log file for the output in case you can spot anything out of the ordinary.
>>>>
>>>> Note, i've got rid of the object team feature problem so now i'm just trying to grok why it won't install this plugin ;(
>>>>
>>>> I also tried the trick about only enabling it conditionally in a profile but when I did that it never gets attempted to be installed (which surprises me)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> * Resolved IUs: shows IUs after resolving all conflicts and duplicates
>>>>>
>>>>>
>>>>> For equinox
>>>>> * Resolved OSGi state: resolved OSGi state, i.e. RESOLVED lines you see
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Igor
>>>>>
>>>>> On 11-11-28 10:32 AM, Max Rydahl Andersen wrote:
>>>>>>>>> Running the build with -X -Dtycho.debug.resolver=<artifactId> will
>>>>>>>>> provide detailed information about dependency resolution, starting with
>>>>>>>>> all installable units visible to the project.
>>>>>>>>
>>>>>>>> Okey, I'll try see what that will give me.
>>>>>>>>
>>>>>>>> I looked in the code and I couldn't find a place where tycho.debug.resolver was used for anything beyond a boolean flag.
>>>>>>>> Where is the artifactid taken into account ?
>>>>>>>>
>>>>>>>
>>>>>>> DebugUtils checks for project artifactId
>>>>>>>
>>>>>>> http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/DebugUtils.java
>>>>>>
>>>>>>
>>>>>> Ah gothca!
>>>>>>
>>>>>> Thought you mean tycho.debug.resolver=<pluginid> so I had tycho.debug.resolver=org.eclipse.jdt.launching.macosx and saw no diff output.
>>>>>>
>>>>>> With tycho.debug.resolver=<my project artifactid> I get a lot of RESOLVED: lines - I assume that is what you referenced to?
>>>>>>
>>>>>> /max
>>>>>> http://about.me/maxandersen
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> tycho-user mailing list
>>>>>> tycho-user@xxxxxxxxxxx
>>>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>>>> _______________________________________________
>>>>> tycho-user mailing list
>>>>> tycho-user@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>>>
>>>> /max
>>>> http://about.me/maxandersen
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> tycho-user mailing list
>>>> tycho-user@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>> _______________________________________________
>>> tycho-user mailing list
>>> tycho-user@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>
>> /max
>> http://about.me/maxandersen
>>
>>
>>
>> _______________________________________________
>> tycho-user mailing list
>> tycho-user@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/tycho-user
> <multienv.zip>_______________________________________________
> tycho-user mailing list
> tycho-user@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/tycho-user
/max
http://about.me/maxandersen