Forum

Failed to install a native app into webOS (raspberrypi4)

Hi,
I met an error while install a "external native app" to webOS (raspberrypi4).

My steps are the followings:

  1. Setup all dev environment
  1. build webOS OSE image and flashing sd card
    --> raspberrypi4 boot up success
  1. install ares cli, install "external web-app"
    --> ares-pacakge, ares-install, ares-launch all work well with "web-app sample example"

  2. build NDK toolchain for rpi4
    --> install ndk, execute environment-setup

  3. build "external native app"
    --> cmake, make success

  4. ares-package done

  5. ares-install failed with error code -5

log ::
ares-install verb argv {
ares-install verb argv device: 'rpi4',
ares-install verb argv level: 'verbose',
ares-install verb argv argv: {
ares-install verb argv remain: [ './com.sample.waylandegl_0.0.1_arm.ipk' ],
ares-install verb argv cooked: [
ares-install verb argv '--device',
ares-install verb argv 'rpi4',
ares-install verb argv './com.sample.waylandegl_0.0.1_arm.ipk',
ares-install verb argv '--level',
ares-install verb argv 'verbose'
ares-install verb argv ],
ares-install verb argv original: [ '-d', 'rpi4', './com.sample.waylandegl_0.0.1_arm.ipk', '-v' ]
ares-install verb argv }
ares-install verb argv }
ares-install info install(): pkgPath: ./com.sample.waylandegl_0.0.1_arm.ipk
ares-install info installer#install(): installing ./com.sample.waylandegl_0.0.1_arm.ipk
ares-install info novacom.Session() opening session to 'rpi4'
ares-install verb Resolver#load()
ares-install verb Resolver#load#_replaceBuiltinSshKey()
ares-install verb Resolver#load#_adjustList()
ares-install verb Resolver#load#_loadString()
ares-install verb Resolver#_loadOne() Regist privateKey : need to set a SSH private key in /home/eidola/.ssh for'rpi4'
...
...
ares-install verb Session#begin() ssh session event: connected
ares-install verb Session#run() cmd=/bin/rm -rf /media/developer/temp && /bin/mkdir -p /media/developer/temp && /bin/chmod 777 /media/developer/temp, opt={}
ares-install verb Session#run() exec cmd=/bin/rm -rf /media/developer/temp && /bin/mkdir -p /media/developer/temp && /bin/chmod 777 /media/developer/temp, opt={}, err:undefined
ares-install verb Session#run() event EOF from (cmd: /bin/rm -rf /media/developer/temp && /bin/mkdir -p /media/developer/temp && /bin/chmod 777 /media/developer/temp)
ares-install verb Session#run() event exit code=0, signal=undefined (cmd: /bin/rm -rf /media/developer/temp && /bin/mkdir -p /media/developer/temp && /bin/chmod 777 /media/developer/temp)
ares-install verb Session#run() event close (cmd: /bin/rm -rf /media/developer/temp && /bin/mkdir -p /media/developer/temp && /bin/chmod 777 /media/developer/temp)
Installing package ./com.sample.waylandegl_0.0.1_arm.ipk
ares-install verb Session#put() uploding into device: /media/developer/temp/com.sample.waylandegl_0.0.1_arm.ipk from host: ./com.sample.waylandegl_0.0.1_arm.ipk
ares-install verb Session#put() sftpPut() :: start
...
...
ares-install verb installer#install(): lineObj: {"statusValue":35,"details":{"packageId":"","verified":false,"installBasePath":"","client":"com.webos.lunasendpub-29032","state":"ipk parsing","ipkUrl":"/media/developer/temp/com.sample.waylandegl_0.0.1_arm.ipk"},"id":"com.ares.defaultName"}
ares-install verb installer#install(): waiting
ares-install verb luna#send() err: null value: null
ares-install verb luna#send() JSON line:
ares-install verb Session#run() on data (stdout)
ares-install verb luna#send() JSON line: {"statusValue":37,"details":{"packageId":"com.sample.waylandegl","verified":false,"installBasePath":"/media/developer","client":"com.webos.lunasendpub-29032","state":"ipk parsing","ipkUrl":"/media/developer/temp/com.sample.waylandegl_0.0.1_arm.ipk"},"id":"com.ares.defaultName"}
ares-install verb luna#send() JSON object: {
ares-install verb luna#send() statusValue: 37,
ares-install verb luna#send() details: {
ares-install verb luna#send() packageId: 'com.sample.waylandegl',
ares-install verb luna#send() verified: false,
ares-install verb luna#send() installBasePath: '/media/developer',
ares-install verb luna#send() client: 'com.webos.lunasendpub-29032',
ares-install verb luna#send() state: 'ipk parsing',
ares-install verb luna#send() ipkUrl: '/media/developer/temp/com.sample.waylandegl_0.0.1_arm.ipk'
ares-install verb luna#send() },
ares-install verb luna#send() id: 'com.ares.defaultName'
ares-install verb luna#send() }
...
...
ares-install verb luna#send() JSON line: {"statusValue":24,"details":{"packageId":"com.sample.waylandegl","reason":"FAILED_IPKG_INSTALL","ipkUrl":"/media/developer/temp/com.sample.waylandegl_0.0.1_arm.ipk","state":"install failed","verified":false,"installBasePath":"/media/developer","client":"com.webos.lunasendpub-29032","errorCode":-5},"id":"com.ares.defaultName"}
ares-install verb luna#send() JSON object: {
ares-install verb luna#send() statusValue: 24,
ares-install verb luna#send() details: {
ares-install verb luna#send() packageId: 'com.sample.waylandegl',
ares-install verb luna#send() reason: 'FAILED_IPKG_INSTALL',
ares-install verb luna#send() ipkUrl: '/media/developer/temp/com.sample.waylandegl_0.0.1_arm.ipk',
ares-install verb luna#send() state: 'install failed',
ares-install verb luna#send() verified: false,
ares-install verb luna#send() installBasePath: '/media/developer',
ares-install verb luna#send() client: 'com.webos.lunasendpub-29032',
ares-install verb luna#send() errorCode: -5
ares-install verb luna#send() },
ares-install verb luna#send() id: 'com.ares.defaultName'
ares-install verb luna#send() }
ares-install verb installer#install(): lineObj: {"statusValue":24,"details":{"packageId":"com.sample.waylandegl","reason":"FAILED_IPKG_INSTALL","ipkUrl":"/media/developer/temp/com.sample.waylandegl_0.0.1_arm.ipk","state":"install failed","verified":false,"installBasePath":"/media/developer","client":"com.webos.lunasendpub-29032","errorCode":-5},"id":"com.ares.defaultName"}
ares-install verb installer#install(): failure
ares-install info errMsgHdlr#getErrMsg(): errKey: FAILED_CALL_LUNA option: FAILED_IPKG_INSTALL value: null heading: com.webos.appInstallService
ares-install info errMsgHdlr#getErrStr(): errKey: FAILED_CALL_LUNA option: FAILED_IPKG_INSTALL value: null
ares-install info errMsgHdlr#getErrStr(): errKey: FAILED_IPKG_INSTALL option: value:
ares-install verb luna#send() err: [
ares-install verb luna#send() Error
ares-install verb luna#send() at new CLIError (/usr/lib/node_modules/@webosose/ares-cli/lib/base/error-handler.js:231:22)
ares-install verb luna#send() at Object.errMsgHdlr.getErrMsg (/usr/lib/node_modules/@webosose/ares-cli/lib/base/error-handler.js:173:29)
ares-install verb luna#send() at /usr/lib/node_modules/@webosose/ares-cli/lib/install.js:230:46
ares-install verb luna#send() at _onLine (/usr/lib/node_modules/@webosose/ares-cli/lib/base/luna.js:92:25)
ares-install verb luna#send() at Array.forEach ()
ares-install verb luna#send() at _onData (/usr/lib/node_modules/@webosose/ares-cli/lib/base/luna.js:74:36)
ares-install verb luna#send() at Channel. (/usr/lib/node_modules/@webosose/ares-cli/lib/base/novacom.js:887:56)
ares-install verb luna#send() at Channel.emit (events.js:400:28)
ares-install verb luna#send() at addChunk (internal/streams/readable.js:293:12)
ares-install verb luna#send() at readableAddChunk (internal/streams/readable.js:267:9)
ares-install verb luna#send() at Channel.Readable.push (internal/streams/readable.js:206:10)
ares-install verb luna#send() at SSH2Stream. (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2/lib/Channel.js:167:15)
ares-install verb luna#send() at SSH2Stream.emit (events.js:400:28)
ares-install verb luna#send() at parsePacket (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2-streams/lib/ssh.js:3191:10)
ares-install verb luna#send() at SSH2Stream._transform (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2-streams/lib/ssh.js:701:13)
ares-install verb luna#send() at SSH2Stream.Transform._read (internal/streams/transform.js:205:10) {
ares-install verb luna#send() heading: '[com.webos.appInstallService failure]:',
ares-install verb luna#send() message: 'luna-send command failed <FAILED_IPKG_INSTALL>'
ares-install verb luna#send() }
ares-install verb luna#send() ] value: undefined
ares-install verb luna#send() closing exec stream
ares-install verb installer#waterfall callback err: [
ares-install verb installer#waterfall callback err: Error
ares-install verb installer#waterfall callback err: at new CLIError (/usr/lib/node_modules/@webosose/ares-cli/lib/base/error-handler.js:231:22)
ares-install verb installer#waterfall callback err: at Object.errMsgHdlr.getErrMsg (/usr/lib/node_modules/@webosose/ares-cli/lib/base/error-handler.js:173:29)
ares-install verb installer#waterfall callback err: at /usr/lib/node_modules/@webosose/ares-cli/lib/install.js:230:46
ares-install verb installer#waterfall callback err: at _onLine (/usr/lib/node_modules/@webosose/ares-cli/lib/base/luna.js:92:25)
ares-install verb installer#waterfall callback err: at Array.forEach ()
ares-install verb installer#waterfall callback err: at _onData (/usr/lib/node_modules/@webosose/ares-cli/lib/base/luna.js:74:36)
ares-install verb installer#waterfall callback err: at Channel. (/usr/lib/node_modules/@webosose/ares-cli/lib/base/novacom.js:887:56)
ares-install verb installer#waterfall callback err: at Channel.emit (events.js:400:28)
ares-install verb installer#waterfall callback err: at addChunk (internal/streams/readable.js:293:12)
ares-install verb installer#waterfall callback err: at readableAddChunk (internal/streams/readable.js:267:9)
ares-install verb installer#waterfall callback err: at Channel.Readable.push (internal/streams/readable.js:206:10)
ares-install verb installer#waterfall callback err: at SSH2Stream. (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2/lib/Channel.js:167:15)
ares-install verb installer#waterfall callback err: at SSH2Stream.emit (events.js:400:28)
ares-install verb installer#waterfall callback err: at parsePacket (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2-streams/lib/ssh.js:3191:10)
ares-install verb installer#waterfall callback err: at SSH2Stream._transform (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2-streams/lib/ssh.js:701:13)
ares-install verb installer#waterfall callback err: at SSH2Stream.Transform._read (internal/streams/transform.js:205:10) {
ares-install verb installer#waterfall callback err: heading: '[com.webos.appInstallService failure]:',
ares-install verb installer#waterfall callback err: message: 'luna-send command failed <FAILED_IPKG_INSTALL>'
ares-install verb installer#waterfall callback err: }
ares-install verb installer#waterfall callback err: ]
ares-install ERR! [com.webos.appInstallService failure]: luna-send command failed <FAILED_IPKG_INSTALL>
ares-install verb Error
at new CLIError (/usr/lib/node_modules/@webosose/ares-cli/lib/base/error-handler.js:231:22)
at Object.errMsgHdlr.getErrMsg (/usr/lib/node_modules/@webosose/ares-cli/lib/base/error-handler.js:173:29)
at /usr/lib/node_modules/@webosose/ares-cli/lib/install.js:230:46
at _onLine (/usr/lib/node_modules/@webosose/ares-cli/lib/base/luna.js:92:25)
at Array.forEach ()
at _onData (/usr/lib/node_modules/@webosose/ares-cli/lib/base/luna.js:74:36)
at Channel. (/usr/lib/node_modules/@webosose/ares-cli/lib/base/novacom.js:887:56)
at Channel.emit (events.js:400:28)
at addChunk (internal/streams/readable.js:293:12)
at readableAddChunk (internal/streams/readable.js:267:9)
at Channel.Readable.push (internal/streams/readable.js:206:10)
at SSH2Stream. (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2/lib/Channel.js:167:15)
at SSH2Stream.emit (events.js:400:28)
at parsePacket (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2-streams/lib/ssh.js:3191:10)
at SSH2Stream._transform (/usr/lib/node_modules/@webosose/ares-cli/node_modules/ssh2-streams/lib/ssh.js:701:13)
at SSH2Stream.Transform._read (internal/streams/transform.js:205:10)

Does anyone know about the -5 error??
Thanks.

Hi @eidola, welcome to the forum!

This is the known issue and will be fixed in the next release.
Another way to test the external native app is to use the webOS OSE emulator. For more details on the emulator, see Emulator User Guide.

Thanks,

Thank you @NERGI

I already tested NDK for emulator, and it's work.
NDK works in emulator, but not in raspberry4, so I wanted to check if I did something wrong or missed.
Ok, I will test the external native app in emulator until it's fixed.

Thanks!!