OK, but that seems to be similar issue, although a different one :)
I recall I disabled compiler by default for target, because it's rare use case.

So compiler can be enabled (if needed), but then perhaps another tweak with sysroot will be necessary in the recipe? I suggest to keep it as a comment in the recipe. What do you think?

Slava

On 10.11.2023 08:50, Samuli Piippo wrote:

| CMake Error at /home/sapiippo/qt6/build/tmp/work/cortexa57-poky-linux/grpc/1.59.2/recipe-sysroot/usr/lib/cmake/protobuf/protobuf-targets.cmake:116 (message):
|   The imported target "protobuf::protoc" references the file
|
|      "/home/sapiippo/qt6/build/tmp/work/cortexa57-poky-linux/grpc/1.59.2/recipe-sysroot/usr/bin/protoc-23.4.0"
|
|   but this file does not exist.  Possible reasons include:

On Fri, 10 Nov 2023 at 09:38, Vyacheslav Yurkov <[email protected]> wrote:

    You sure? Because I remember the test in grpc to check for
    CROSS_COMPILING in cmake to avoid that.

    Slava

    On 10.11.2023 08:12, Samuli Piippo wrote:
    This is not strictly a nativesdk issue.
    If you enable PACKAGECONFIG = "compiler" for protobuf, it will
    then build protoc for the target.
    This will then cause grpc target build to fail in the same way as
    nativesdk build.

    On Fri, 10 Nov 2023 at 08:40, Vyacheslav Yurkov
    <[email protected]> wrote:

        FTR, I suggested oe-core solution in the corresponding
        mailing list.

        Slava

        On 10.11.2023 07:19, Vyacheslav Yurkov via
        lists.openembedded.org <http://lists.openembedded.org> wrote:
        On 10.11.2023 02:23, Clément Péron wrote:
        Hi Samuli,

        Le ven. 10 nov. 2023, 00:05, Vyacheslav Yurkov
        <[email protected]> a écrit :

            Thanks for the explanation, that was the missing piece
            for me to get an understanding of the problem :)

            I think it's not only me, but also others, were
            confused by the fact that we are talking about
            native(sdk), but try to fix something with a non-native
            variable.

            I've just gave it a try and have two suggestions how
            this can be addressed.

            1. Recipe based solution:
            SYSROOT_DIRS:append:class-nativesdk = " $bindir}"


        Is it not just missing something like

        DEPENDS:append:class-nativesdk= " protobuf-native "
        Regards
        Clement

        This is already implicit by DEPENDS += "protobuf". Take a
        look at my second suggestion. You can see that ${bindir} is
        staged for native recipes, but not for nativesdk.


            2. oe-core based solution:
            --- a/meta/classes-global/staging.bbclass
            +++ b/meta/classes-global/staging.bbclass
            @@ -26,6 +26,7 @@ SYSROOT_DIRS_NATIVE = " \
                 ${localstatedir} \
             "
             SYSROOT_DIRS:append:class-native = "
            ${SYSROOT_DIRS_NATIVE}"
            +SYSROOT_DIRS:append:class-nativesdk = "
            ${SYSROOT_DIRS_NATIVE}"
             SYSROOT_DIRS:append:class-cross = "
            ${SYSROOT_DIRS_NATIVE}"
             SYSROOT_DIRS:append:class-crosssdk = "
            ${SYSROOT_DIRS_NATIVE}"

            The second one will invalidate nativesdk sstate, but
            might cover not only grpc issue (I would assume
            gdbus-codegen or any other generator has the same issue
            when used for SDK build).

            What are your thoughs?

            Thanks,
            Slava

            On 09.11.2023 14:35, Samuli Piippo wrote:
            DEPENDS += "protobuf" is enough to have dependencies
            resolved.

            Problem is that bitbake's do_populate_sysroot does not
            take anything from bindir.
            This leads to nativesdk-(qt)grpc's
            do_prepare_recipe_sysroot to not get the protoc binary
            into the recipe_sysroot as expected by CMake.

            This can be fixed with SYSROOT_DIRS.

            On Thu, 9 Nov 2023 at 12:19, Vyacheslav Yurkov
            <[email protected]> wrote:

                Hi Clément,
                No, the issue is when you just build nativesdk
                recipe (we are not at the stage to use the SDK yet).

                And that was exactly my question how to propagate
                the dependency correctly for nativesdk build.

                Regards,
                Slava


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#106530): 
https://lists.openembedded.org/g/openembedded-devel/message/106530
Mute This Topic: https://lists.openembedded.org/mt/101679410/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to