Migrate from Legato 18.09.0 to 19.02.0

I’m trying to migrate from Legato 18.09.0 to 19.02.0 and rebuild my custom apps. When I run mksys I get Binding to non-existent server app 'avcService'.

I tired changing the binding to avcControl.avcControl.le_avc -> avcService.le_avc to avcControl.avcControl.le_avc -> *.le_avc then avcControl.avcControl.le_avc -> <root>.le_avc but neither seem to work. When I run a sdir list on the target I get a list of waiting clients.

My *.adef file is below


    [pid  7622] <root>.avcControl.avcControl.le_avc WAITING for <root>.le_avc  (protocol ID = '7a818d1ee00573303dc3b4f87c43e029')
    [pid  7626] <root>.errorService.errorHandler.le_avdata WAITING for <root>.le_avdata  (protocol ID = 'd042ee9f795ba3ff64aacf91d970b8fc')
    [pid  7633] <root>.photoService.photoManager.le_avdata WAITING for <root>.le_avdata  (protocol ID = 'd042ee9f795ba3ff64aacf91d970b8fc')
    [pid  7638] <root>.sensorToCloud.avPublisher.le_avdata WAITING for <root>.le_avdata  (protocol ID = 'd042ee9f795ba3ff64aacf91d970b8fc')
    [pid  7625] digitalService.digitalService.inputHandler.brnkl_photo WAITING for <root>.brnkl_photo  (protocol ID = 'a92f05438404072cc50554f0472e4ba6')`

Are you using Leaf?
We found a bug where in 19.02 we introduced kconfig into the framework and changed some of the environment variables.
It will be fixed with Legato 19.04 and the next version of Leaf.

For now you need to manually source in config.sh into your environment.

Step one:
Run make “target” within the Legato directory
This generates the kconfig files that are needed.

Step two:
source $LEGATO_ROOT/build/“target”/config.sh into your environment aka leaf shell.

you should then be able to run mksys. It’s happening because in the default.sdef (the file that builds the legato framework) we have added environment variables that are generated by kconfig.

You will have to source the config.sh everytime you enter the leaf shell for now.

If it’s still failing, make sure you delete your _build directory before you try mksys again, that should fix it up.

The patches to fix this bug are in testing and should be out soon.

If you are not using leaf you need to make sure that you run either
/bin/legs or source the configlegatoenv into your bashrc so that it will find all the kconfig variables.

Note that if you change the framework settings by using kconfig you will need to resource the config.sh file to pick up any of the changes. (either by using leaf or not).

@Sarra Thanks for the help! Using Leaf the $LEGATO_ROOT/build/“target”/config.sh file wan’t there until I manually built the Legato framework stored in the ~/.leaf/wp85-legato_19.02.0 . I though Leaf was supposed to build this, no?

I tried both Leaf and the manual tool build and I still got the Binding to non-existent server app 'avcService'. (I have different directories for a Leaf build vs manual build while I explore Leaf) That’s when I made my post.

As for the manual install directory I didn’t re-source the configlegatoenv when I switched.

Hi, Chloe here. Let’s see if we can get to the bottom of this!

You are correct, Leaf should be supplying this config.sh. We are finalizing a patch that should bundle this file properly.

From what you are saying, it looks like maybe your build is missing the avc service? I was wondering if you could post your copy of the generated config.sh? Looking at your sdir list I can see all of the client services are not being bound at runtime. Could you see if the server is properly showing up in your sdir list?

If the server services are there, pay extra attention to the protocol IDs being displayed for the client and the server. If there is even a slight mismatch the two will not successfully bind together.

Perhaps also post the sdef you are using? This may help narrow down other potential problems.

Things like application search paths may be contributing to this problem. So knowing more about your build environment/procedure may also help.

Thank you,

@cstrainge, @Sarra,

I had a few minutes to try this with my Leaf workspace, Sarra’s command below worked!

I will try on the manual tool chain later. Just wanted to keep you guys updated.

Ok, awesome. Thanks for the update!


1 Like