Hi all, When using the Yocto plugin in Kepler/Windos/X86_64 and MinGW/Toolchain deployed in /opt/poky/1.7, after setting up the options as: - Standard pre-built toolchain - Toolchain Root Location: C:\MinGW\msys\1.0\opt\poky\1.7 - Sysroot Location: C:\MinGW\msys\1.0\opt\poky\1.7\sysroots\i686-pokysdk-mingw32 and - Target options set to "External HW" I'm able to see how the Target Architecture is preset automatically to "core2-32-poky-linux" but when I apply the changes an error message is raised and the changes are lost if i come back to the plug propierties. The error log shows the following details: =============================================================================================== - Messsage: Unhandled event loop exception =============================================================================================== - Exception Stack Trace: java.lang.NullPointerException at org.yocto.sdk.ide.YoctoSDKChecker.checkYoctoSDK(Unknown Source) at org.yocto.sdk.ide.YoctoUISetting.validateInput(Unknown Source) at org.yocto.sdk.ide.preferences.YoctoSDKPreferencePage.performOk(Unknown Source) at org.eclipse.jface.preference.PreferencePage.performApply(PreferencePage.java:432) at org.eclipse.jface.preference.PreferencePage$2.widgetSelected(PreferencePage.java:281) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759) at org.eclipse.jface.window.Window.runEventLoop(Window.java:826) at org.eclipse.jface.window.Window.open(Window.java:802) at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215) at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450) at org.eclipse.equinox.launcher.Main.main(Main.java:1426) =============================================================================================== - Session Data: eclipse.buildId=4.3.2.M20140221-1700 java.version=1.6.0_29 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Framework arguments: -product org.eclipse.epp.package.standard.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.standard.product =============================================================================================== Thanks in advance, Regards JJ
This particular exception is caused the form validator which calls Linux specific commands do to some of the environment validation (in this case "uname -m" to get the machine architecture). There are quite a few other dependencies on Linux, I am working on them.
Hi JJ, This bug should be fixed by this commit: 31b6bc2 org.yocto.sdk.ide: add platform validation methods This should allow you to configure your toolchain and sysroot, but you still won't be able to build binaries because the build environment setup is not yet fully supported on Windows. Also if you are using a 64-bit build host, please use this variable in your local.conf when generating your SDK. SDKMACHINE ?= "x86_64-mingw32" Regards, Todor
Thanks a lot Todor, I'll check it tomorrow. By the way I was able to setup the toolchain just by editing and giving the values by hand in the builder C/C++ options. First i checked the "$CC -v" in Mingw and then adjusted the values in eclipse accordingly for the x-compiler and linker. GDB is also working. As a workaround it seems to be working and i can get the binary for the target platform. The host is a W7/64. Target is an intel Atom in this case. If I can help in any way please let me know. Regards JJ