Legato 16.01 Linux command line install

For Legato 15.10 the file [quote]poky-swi-ext-glibc-x86_64-meta-toolchain-swi-ext-armv7a-vfp-neon-toolchain-swi-ext-1.7.2.sh[/quote]

Was available to install cross-toolchain on Linux hosts like this

[quote]Toolchain

You’ll need to install the cross-toolchain for building ARM applications. Copy either the 64-bit or 32-bit [Legato-Toolchain-file] to /opt/swi and then extract it.

$ mkdir -p /opt/swi
$ chmod u+x [toolchain.sh file]
$ [toolchain.sh file][/quote]
Will something similar be available for Legato 16.01? or is is already out there but I don’t know how to find it?

Thanks

John

Hi John,

pre-built packages (including toolchain) will be available very soon (today) for install and usage from the command line.
Will keep you updated ASAP.

Hi John,

everything is now online.
Please refer to this post

Thanks daav

I notice that the Linux toolchain link
source.sierrawireless.com/resour … hain64bit/

Gets file

poky-swi-ext-glibc-x86_64-meta-toolchain-swi-ext-armv7a-vfp-neon-toolchain-swi-ext-1.7.2.sh

It’s a 149.7MB file

I downloaded in a similar way on the 12 Jan 2016 a file with the same name

poky-swi-ext-glibc-x86_64-meta-toolchain-swi-ext-armv7a-vfp-neon-toolchain-swi-ext-1.7.2.sh

It’s a 119.2MB file

Does the new file (with the same name) support both 16.01 and 15.10?
Maybe different names perhaps with a timestamp should be used?

Cheers

John

Hi,

this Legato download page may not be maintained in the future.
The preferred way is to use the legato-spm tool, which allows you to install a complete development kit for Legato apps, including the toolchain.
And it’s managing versions numbers.
And you can have several toolchains installed at the same time (they’re not installed in the same directory).

Please just give a try

Hi Daav

Some reasons for using the original tool.

  • it doesn’t need java - in some companies java gives major support issues
  • it’s really easy to build legacy command line apps with
  • it’s fast
  • It took a while but now I’m pretty familiar with it

Is it possible to command line install with the legato-spm method which doesn’t need java?

Is the file here
source.sierrawireless.com/resour … hain64bit/

Suitable to use with 16-01?

I am trying the legato-spm command line as well :smiley:

Cheers

John

Yes it will be suitable.
Please can you share your experience on what kind of support issues can be given by Java?

Once the things installed with legato-spm, you should get a development experience quite similar to the one you’re familiar with.

Hi Daav

I’ve decided to test the legato-spm install on:

  • windows 8 machine
    – running virtualBox 5.0.14
    — with installed Ubuntu 15.04

The install fails at
[url]http://source.sierrawireless.com/resources/airprime/software/legato_application_development_kit_linux/[/url]

legato-spm --install --module WP85XX --update-link

.log contains (I’ve no idea how to debug this)

!SESSION 2016-02-26 15:57:04.341 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_45-internal
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Framework arguments:  --install --module WP85XX --update-link
Command-line arguments:  --install --module WP85XX --update-link

!ENTRY org.eclipse.osgi 4 0 2016-02-26 15:57:05.969
!MESSAGE Application error
!STACK 1
java.lang.NullPointerException: null values not allowed
	at org.eclipse.core.internal.registry.ReferenceMap.put(ReferenceMap.java:351)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.getBundle(RegistryStrategyOSGI.java:151)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:166)
	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:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1488)

By the way the pure linux command line install worked and functions fine :smiley:

I also have the previous Dev Studio IDE installed and running fine in a clone copy of this VM / ubuntu

Cheers

John

Hi John,

Thanks for reporting, we’re reproducing it here. It looks to be some special handling of default configuration files handling when some core Eclipse bundles are installed as root user.
We’re working on a fix.
If you want to go further, you can clean your $HOME/.eclipse folder, this will workaround the issue.

Except this unexpected hassle, I hope you finally agree that installing legato-spm itself is not that terrible :wink:

Just FYI, we have a fix.
We pushed a fixed version of legato-spm, if you want to give a try.
(don’t forget the sudo apt-get update before installing, to refresh the packets database)

Hi daav

I tried the fix - no joy. Then I deleted ~/.eclipse folder. The legato-spm install then worked.

But - I looked at the Legato version files.

The legato-spm installs
/home/john/legato/packages/legato.framework.16.1.0.Beta/resources/legato/version
16.01.0.Beta

The no java command line installs
/home/john/legato-af/version
16.01.2 

So it looks like the legato-spm version is older than the standard command line version???

Anyway to test the legato-spm install I copied the helloWorld example to another folder then

source ~/legato/packages/legato.sdk.latest/resources/configlegatoenv 
make wp85

Built OK

The framework version running on WP85 latest release is Legato 16.01.0, indeed a bit older than what is published on github.
The pre-built packages aim to stick with the versions that are integrated in the official images.

I hit another linux legato-spm install issue - a different machine this time running Ubuntu 15-04 - it previously has had most of the Legato releases installed since this time last year.

~$ legato-spm --install --module WP85XX --update-link An error has occurred. See the log file

[attachment=0]1457694083779.log[/attachment]

A bit of guess work here but the problem was due to the wrong java version running - I had 8 installed but previous versions were also installed and one of them was being selected (I’ve no idea why)
Running

sudo update-alternatives --config java

Gave me this list

[code]There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status

0 /opt/java/64/jre1.7.0_55/bin/java 2000 auto mode
1 /opt/java/64/jre1.7.0_55/bin/java 2000 manual mode

  • 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode[/code]

Question is what does auto mode mean - and should (2) have status auto mode?

Anyway after switching from (0) to (2) the install worked

Cheers John

Hi John,

you were right, this was the way to fix it.
By the way, we’ll probably need to add a more friendly error message in such cases.

I guess that the auto mode just highlights what will be automatically selected when you do

sudo update-alternatives --auto java

Hey,
Just FYI, we have a fix.
We pushed a fixed version of legato-spm, if you want to give a try.
(don’t forget the sudo apt-get update command before installing, to refresh the packets database)