undefined reference problem persists


Mistyron <ron.eggler@...>
 

Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

    | /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?


Alexander Kanavin
 

It may help if you show the complete logs for configure and compile , otherwise there is not enough information in your message to diagnose the issue.

Alex

On Sun 6. Nov 2022 at 8.45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for
the Laird LWB5+ module (available from
https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my
`bblayers.conf` and since I need the networkmanager and with information
from their support team (don't trust the README apparently), I've added
`lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in
`sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake
sample-image-cp-lwb5plus`, I keep getting:

     |
/usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904:
undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I
expected the `rl_echo_signal_char` dependency to be resolved, any hints?





Markus Volk
 

Am So, 6. Nov 2022 um 00:45:36 -0700 schrieb Mistyron <ron.eggler@...>:
    | /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

missing readline dependency ?


Anders Montonen
 

On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:

Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

| /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.

Regards,
Anders


Mistyron <ron.eggler@...>
 

On 11/6/22 01:14, Alexander Kanavin wrote:
It may help if you show the complete logs for configure and compile , otherwise there is not enough information in your message to diagnose the issue.


Okay, yes, sorry about that, the compile output for bitbake sample-image-cp-lwb5plus looks like:

...

4.0.10-r0/laird-backport-10.4.0.10/net/bluetooth/bluetooth.o
|   MODPOST /home/yocto/rzv_vlp_v3.0.0/build/tmp/work/smarc_rzv2l-poky-linux/kernel-module-lwb5p-backports-laird/10.
4.0.10-r0/laird-backport-10.4.0.10/Module.symvers
| ERROR: modpost: "crypto_ecdh_encode_key" [/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/smarc_rzv2l-poky-linux/kernel-
module-lwb5p-backports-laird/10.4.0.10-r0/laird-backport-10.4.0.10/net/bluetooth/bluetooth.ko] undefined!
| ERROR: modpost: "crypto_ecdh_key_len" [/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/smarc_rzv2l-poky-linux/kernel-mod
ule-lwb5p-backports-laird/10.4.0.10-r0/laird-backport-10.4.0.10/net/bluetooth/bluetooth.ko] undefined!
| make[6]: *** [/home/yocto/rzv_vlp_v3.0.0/build/tmp/work-shared/smarc-rzv2l/kernel-source/scripts/Makefile.modpost:
124: /home/yocto/rzv_vlp_v3.0.0/build/tmp/work/smarc_rzv2l-poky-linux/kernel-module-lwb5p-backports-laird/10.4.0.10-
r0/laird-backport-10.4.0.10/Module.symvers] Error 1
| make[6]: *** Deleting file '/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/smarc_rzv2l-poky-linux/kernel-module-lwb5p-b
ackports-laird/10.4.0.10-r0/laird-backport-10.4.0.10/Module.symvers'
| make[5]: *** [/home/yocto/rzv_vlp_v3.0.0/build/tmp/work-shared/smarc-rzv2l/kernel-source/Makefile:1726: modules] E
rror 2
| make[4]: *** [Makefile:185: __sub-make] Error 2
| make[3]: *** [Makefile.build:13: modules] Error 2
| make[2]: *** [Makefile.real:91: modules] Error 2
| make[1]: *** [Makefile:43: modules] Error 2
| make: *** [Makefile:30: default] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/smarc_rzv2l-poky-linux/kernel-module-lwb5p-backport
s-laird/10.4.0.10-r0/temp/run.do_compile.235046' failed with exit code 1
ERROR: Task (/home/yocto/rzv_vlp_v3.0.0/build/../meta-mylayer/meta-laird-cp-pre-3.4/recipes-bsp/backports-laird/k
ernel-module-lwb5p-backports-laird.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3878 tasks of which 3876 didn't need to be rerun and 2 failed.

Summary: 2 tasks failed:
 /home/yocto/rzv_vlp_v3.0.0/build/../meta-mylayer/meta-laird-cp-pre-3.4/recipes-packages/lrd-networkmanager/lrd-
networkmanager-sterling.bb:do_compile
 /home/yocto/rzv_vlp_v3.0.0/build/../meta-mylayer/meta-laird-cp-pre-3.4/recipes-bsp/backports-laird/kernel-modul
e-lwb5p-backports-laird.bb:do_compile
Summary: There were 4 WARNING messages shown.
Summary: There were 4 ERROR messages shown, returning a non-zero exit code.

Where my meta-mylayer/meta-laird-cp-pre-3.4/recipes-packages/images/sample-image-cp-lwb5plus.bb looks like:

DESCRIPTION = "Sterling LWB5+ SDIO/UART M.2 (diversity antenna) sample image"
LICENSE = "MIT"

inherit core-image

export IMAGE_BASENAME = "${PN}"

DEPENDS += "\
        readline \
        pkgconfig \
        "

IMAGE_FEATURES += "\
        ssh-server-dropbear \
        splash \
        "

IMAGE_FEATURES_remove = "\
        tools-profile \
        tools-debug \
        tools-testapps \
        "

IMAGE_INSTALL += "\
        iproute2 \
        rng-tools \
        ca-certificates \
        tzdata \
        alsa-utils \
        htop \
        ethtool \
        iperf3 \
        tcpdump \
        iw \
        kernel-module-lwb5p-backports-laird \
        lwb5plus-sdio-div-firmware \
        sterling-supplicant-lwb \
        lrd-networkmanager-sterling \
        "


Alex

On Sun 6. Nov 2022 at 8.45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for
the Laird LWB5+ module (available from
https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my
`bblayers.conf` and since I need the networkmanager and with information
from their support team (don't trust the README apparently), I've added
`lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in
`sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake
sample-image-cp-lwb5plus`, I keep getting:

     |
/usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904:
undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I
expected the `rl_echo_signal_char` dependency to be resolved, any hints?





Mistyron <ron.eggler@...>
 

On 11/6/22 01:40, Markus Volk wrote:
Am So, 6. Nov 2022 um 00:45:36 -0700 schrieb Mistyron <ron.eggler@...>:
    | /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

missing readline dependency ?

rl_echo_signal_char is a symbol from readline per https://tiswww.case.edu/php/chet/readline/readline.html


Mistyron <ron.eggler@...>
 

On 11/6/22 02:26, Anders Montonen wrote:
On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

| /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.
I see, yes my project is using "meta-gplv2".

Should removal of that layer help, or would you recommend that I update the readline version within it to the latest? (and provide an upstream patch to: https://github.com/lgirdk/meta-gplv2 ?

Thanks!
Ron


Anders Montonen
 

Hi,

On 6 Nov 2022, at 18:02, Mistyron <ron.eggler@...> wrote:

On 11/6/22 02:26, Anders Montonen wrote:
On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

    | /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.

I see, yes my project is using "meta-gplv2".

Should removal of that layer help, or would you recommend that I update the readline version within it to the latest? (and provide an upstream patch to: https://github.com/lgirdk/meta-gplv2 ?

If your project doesn’t have any special requirements about not using (L)GPLv3-licensed packages, then dropping meta-gplv2 is by far the best option.
The dependency on readline comes from Networkmanager’s user interfaces (nmcli, nmtui). If you can live without them, disabling them is also an alternative.

Regards,
Anders


Alexander Kanavin
 

On Sun, 6 Nov 2022 at 17:48, Anders Montonen <Anders.Montonen@...> wrote:
If your project doesn’t have any special requirements about not using (L)GPLv3-licensed packages, then dropping meta-gplv2 is by far the best option.
The dependency on readline comes from Networkmanager’s user interfaces (nmcli, nmtui). If you can live without them, disabling them is also an alternative.
I can imagine that meta-gpl2 was in fact added in the first place for
exactly that reason. NM is a red hat project, and red hat has no
concerns for those pesky embedded linux needs. There's no
configuration switch to disable readline specifically. I vaguely
remember that in a similar situation I disabled nmcli/tui for the
product images but kept them in developer images.

Updating readline to a gpl3 licensed version is not an option at all,
as it would result in a product that you cannot ship.

Alex


Mistyron <ron.eggler@...>
 

Hi,

On 11/6/22 08:48, Anders Montonen wrote:
Hi,

On 6 Nov 2022, at 18:02, Mistyron <ron.eggler@...> wrote:

On 11/6/22 02:26, Anders Montonen wrote:
On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

    | /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.

I see, yes my project is using "meta-gplv2".

Should removal of that layer help, or would you recommend that I update the readline version within it to the latest? (and provide an upstream patch to: https://github.com/lgirdk/meta-gplv2 ?

If your project doesn’t have any special requirements about not using (L)GPLv3-licensed packages, then dropping meta-gplv2 is by far the best option.
I'll attempt to "just drop" meta-gplv2, then. However I see that there are other dependencies on readline too, i.e. it might be easier to just replace the existing 5.2 version in meta-gplv2 with 8.2 from here: https://git.yoctoproject.org/poky/plain/meta/recipes-core/readline/
The dependency on readline comes from Networkmanager’s user interfaces (nmcli, nmtui). If you can live without them, disabling them is also an alternative.

I need nmcli for configuration purposes, disabling it won't work for me.

Thanks,
Ron


Alexander Kanavin
 

On Sun, 6 Nov 2022 at 18:36, Mistyron <ron.eggler@...> wrote:
I'll attempt to "just drop" meta-gplv2, then. However I see that there are other dependencies on readline too, i.e. it might be easier to just replace the existing 5.2 version in meta-gplv2 with 8.2 from here: https://git.yoctoproject.org/poky/plain/meta/recipes-core/readline/
No. You cannot 'just replace' it, as they are under different
licenses, and meta-gplv2 specifically collects versions under gpl
version 2 only.

Are you going to ship what you're working on to other users, or is it
just experimentation?

Alex


Khem Raj
 

On Sun, Nov 6, 2022 at 8:02 AM Mistyron <ron.eggler@...> wrote:

On 11/6/22 02:26, Anders Montonen wrote:
On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

| /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.
I see, yes my project is using "meta-gplv2".

Should removal of that layer help, or would you recommend that I update
the readline version within it to the latest? (and provide an upstream
patch to: https://github.com/lgirdk/meta-gplv2 ?
you can also look into replacing readline with editline and see if
this would work for your package needs. That will be one less package
needed from meta-gpl2

Thanks!
Ron




Mistyron <ron.eggler@...>
 

On 11/6/22 10:12, Alexander Kanavin wrote:
On Sun, 6 Nov 2022 at 18:36, Mistyron <ron.eggler@...> wrote:
I'll attempt to "just drop" meta-gplv2, then. However I see that there are other dependencies on readline too, i.e. it might be easier to just replace the existing 5.2 version in meta-gplv2 with 8.2 from here: https://git.yoctoproject.org/poky/plain/meta/recipes-core/readline/
No. You cannot 'just replace' it, as they are under different
licenses, and meta-gplv2 specifically collects versions under gpl
version 2 only.

Are you going to ship what you're working on to other users, or is it
just experimentation?
The intent is, that's it's going to be shipped (but with full access to the sources)
--
Ron


Khem Raj
 

On Sun, Nov 6, 2022 at 5:00 PM Khem Raj <raj.khem@...> wrote:

On Sun, Nov 6, 2022 at 8:02 AM Mistyron <ron.eggler@...> wrote:

On 11/6/22 02:26, Anders Montonen wrote:
On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

| /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.
I see, yes my project is using "meta-gplv2".

Should removal of that layer help, or would you recommend that I update
the readline version within it to the latest? (and provide an upstream
patch to: https://github.com/lgirdk/meta-gplv2 ?
you can also look into replacing readline with editline and see if
this would work for your package needs. That will be one less package
needed from meta-gpl2
I should have said libedit and not editline


Thanks!
Ron




Mistyron <ron.eggler@...>
 

On 11/6/22 10:12, Alexander Kanavin wrote:
On Sun, 6 Nov 2022 at 18:36, Mistyron <ron.eggler@...> wrote:
I'll attempt to "just drop" meta-gplv2, then. However I see that there are other dependencies on readline too, i.e. it might be easier to just replace the existing 5.2 version in meta-gplv2 with 8.2 from here: https://git.yoctoproject.org/poky/plain/meta/recipes-core/readline/
No. You cannot 'just replace' it, as they are under different
licenses, and meta-gplv2 specifically collects versions under gpl
version 2 only.
https://www.gnu.org/licenses/rms-why-gplv3.en.html specifies:

"When we say that GPLv2 and GPLv3 are incompatible, it means there is no legal way to combine code under GPLv2 with code under GPLv3 in a single program." - What is a single program though? Readline would still be a single program within the bitbake build, would it not? I'm not "stealing" nor editing its code but compile it as is.


Are you going to ship what you're working on to other users, or is it
just experimentation?

Alex
--
RON EGGLER Firmware Engineer (he/him/his) www.mistywest.com


Mistyron <ron.eggler@...>
 

On 11/6/22 18:16, Khem Raj wrote:
On Sun, Nov 6, 2022 at 5:00 PM Khem Raj <raj.khem@...> wrote:
On Sun, Nov 6, 2022 at 8:02 AM Mistyron <ron.eggler@...> wrote:
On 11/6/22 02:26, Anders Montonen wrote:
On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

| /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.
I see, yes my project is using "meta-gplv2".

Should removal of that layer help, or would you recommend that I update
the readline version within it to the latest? (and provide an upstream
patch to: https://github.com/lgirdk/meta-gplv2 ?
you can also look into replacing readline with editline and see if
this would work for your package needs. That will be one less package
needed from meta-gpl2
I should have said libedit and not editline
libedit is the editline library under meta-devtools: https://git.yoctoproject.org/poky/plain/meta/recipes-devtools/libedit/
I'll give this a shot!

Thanks!
Ron


--
RON EGGLER Firmware Engineer (he/him/his) www.mistywest.com


Mistyron <ron.eggler@...>
 

On 11/6/22 18:30, Mistyron via lists.yoctoproject.org wrote:

On 11/6/22 18:16, Khem Raj wrote:
On Sun, Nov 6, 2022 at 5:00 PM Khem Raj <raj.khem@...> wrote:
On Sun, Nov 6, 2022 at 8:02 AM Mistyron <ron.eggler@...> wrote:
On 11/6/22 02:26, Anders Montonen wrote:
On 6 Nov 2022, at 9:45, Mistyron <ron.eggler@...> wrote:
Hi,

I'm working with dunfell and want to compile and install the drivers for the Laird LWB5+ module (available from https://github.com/LairdCP/meta-laird-cp).
I have included the path to the layer in meta-laird-cp-pre-3.4 in my `bblayers.conf` and since I need the networkmanager and with information from their support team (don't trust the README apparently), I've added `lrd-networkmanager-sterling` to the `IMAGE_INSTALL` list in `sample-image-cp-lwb5plus.bb`. When I invoke `$ bitbake sample-image-cp-lwb5plus`, I keep getting:

      | /usr/src/debug/lrd-networkmanager-sterling/10.4.0.10-r0/build/../lrd-network-manager-10.4.0.10/src/nmcli/common.c:904: undefined reference to `rl_echo_signal_char'

even though I've added `readline` to the `DEPENDS` list. Why is this? I expected the `rl_echo_signal_char` dependency to be resolved, any hints?
Are you using meta-gplv2? That function doesn’t exist yet in the version of readline provided by that layer.
I see, yes my project is using "meta-gplv2".

Should removal of that layer help, or would you recommend that I update
the readline version within it to the latest? (and provide an upstream
patch to: https://github.com/lgirdk/meta-gplv2 ?
you can also look into replacing readline with editline and see if
this would work for your package needs. That will be one less package
needed from meta-gpl2
I should have said libedit and not editline
libedit is the editline library under meta-devtools: https://git.yoctoproject.org/poky/plain/meta/recipes-devtools/libedit/
I'll give this a shot!
I replaced replaced readline with libedit in meta-gplv2/recipes-support/gnupg/gnupg_1.4.7.bb, invoked bitbake and got:

| /home/yocto/rzv_vlp_v3.0.0/build/tmp/work/aarch64-poky-linux/lrd-networkmanager-sterling/10.4.0.10-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/ar: `u' modifier ignored since `D' is the default (see `U')
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc-ranlib src/core/.libs/libNetworkManager.a
| aarch64-poky-linux-libtool: link: rm -fr src/core/.libs/libNetworkManager.lax
| aarch64-poky-linux-libtool: link: ( cd "src/core/.libs" && rm -f "libNetworkManager.la" && ln -s "../libNetworkManager.la" "libNetworkManager.la" )
| make[2]: Leaving directory '/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/aarch64-poky-linux/lrd-networkmanager-sterling/10.4.0.10-r0/build'
| make[1]: *** [Makefile:18508: all-recursive] Error 1
| make[1]: Leaving directory '/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/aarch64-poky-linux/lrd-networkmanager-sterling/10.4.0.10-r0/build'
| make: *** [Makefile:8521: all] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/aarch64-poky-linux/lrd-networkmanager-sterling/10.4.0.10-r0/temp/run.do_compile.78849' failed with exit code 1
ERROR: Task (/home/yocto/rzv_vlp_v3.0.0/build/../meta-mistylwb5p/meta-laird-cp-pre-3.4/recipes-packages/lrd-networkmanager/lrd-networkmanager-sterling.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3706 tasks of which 3702 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/yocto/rzv_vlp_v3.0.0/build/../meta-mistylwb5p/meta-laird-cp-pre-3.4/recipes-packages/lrd-networkmanager/lrd-networkmanager-sterling.bb:do_compile
Summary: There were 4 WARNING messages shown.
Summary: There were 7 ERROR messages shown, returning a non-zero exit code.
yocto@933e43234703:~/rzv_vlp_v3.0.0/build$

And I have troubles to decode what exactly is causing the error in libNetworkManager.a - can anyone help me to shed some light onto this? I'm not sure about how to fix the the `u' modifier problem either nor do I know what it really means.

--

Ron


Alexander Kanavin
 

On Mon, 7 Nov 2022 at 02:35, Ron Eggler <ron.eggler@...> wrote:
Are you going to ship what you're working on to other users, or is it
just experimentation?
The intent is, that's it's going to be shipped (but with full access to
the sources)
If you're shipping anything that is under gplv3 you also need to give
the recipient users a possibility to change the item under gplv3 from
the source code you have used to build it and install their modified
version to replace yours.

Are you able to fulfil that obligation you have under the license?

Alex


Alexander Kanavin
 

On Mon, 7 Nov 2022 at 03:19, Ron Eggler <ron.eggler@...> wrote:
On Sun, 6 Nov 2022 at 18:36, Mistyron <ron.eggler@...> wrote:
I'll attempt to "just drop" meta-gplv2, then. However I see that there are other dependencies on readline too, i.e. it might be easier to just replace the existing 5.2 version in meta-gplv2 with 8.2 from here: https://git.yoctoproject.org/poky/plain/meta/recipes-core/readline/
No. You cannot 'just replace' it, as they are under different
licenses, and meta-gplv2 specifically collects versions under gpl
version 2 only.
https://www.gnu.org/licenses/rms-why-gplv3.en.html specifies:

"When we say that GPLv2 and GPLv3 are incompatible, it means there is no
legal way to combine code under GPLv2 with code under GPLv3 in a single
program." - What is a single program though? Readline would still be a
single program within the bitbake build, would it not? I'm not
"stealing" nor editing its code but compile it as is.
Combining gpl2 and gpl3 is not an issue here. The issue is that if you
ship gpl3 items to users as a part of some product, you have an
obligation to allow them to change those items and install the changes
on the product. This is why meta-gplv2 was created: it effectively
reverts everything that is nowadays gpl3 licensed to older versions
which are still under gpl2.

Single program is commonly interpreted as a runtime process with its
own virtual address space. E.g. all linked libraries, even 3rd party
ones, are a part of the single program.

Alex


Mistyron <ron.eggler@...>
 

On 11/7/22 00:27, Alexander Kanavin wrote:
On Mon, 7 Nov 2022 at 02:35, Ron Eggler <ron.eggler@...> wrote:
Are you going to ship what you're working on to other users, or is it
just experimentation?
The intent is, that's it's going to be shipped (but with full access to
the sources)
If you're shipping anything that is under gplv3 you also need to give
the recipient users a possibility to change the item under gplv3 from
the source code you have used to build it and install their modified
version to replace yours.

Are you able to fulfil that obligation you have under the license?
Yes, that will definitely be doable for the recepient if they chose to do so.

--

Ron