Re: libquadmath


staticd
 

So, I built the latest poky and created the example recipe with the `DEPENDS` from my recipe and indeed, I see `libquadmath.so` in `sysroots-components/`.

I am really scratching my head now.  I must be missing something silly somewhere...

My build environment is running `zeus`  and the latest `poky` I grabbed is `honister`  Perhaps something changed that I am just overlooking somehow.

On Sun, Jan 2, 2022 at 2:18 PM staticd via lists.yoctoproject.org <staticd=gmail.com@...> wrote:
Thank you, Konrad.

I have tried both of the approaches (local.conf and gcc-runtime_%.bbappend/gcc_%.bbappend), still `libquadmath.so` is not being built.

I will keep fiddling but I think we are onto something.

The interesting thing I found is that `libquadmath.so` IS being built for the nativesdk but NOT when I add `DEPENDS = "virtual/${TARGET_PREFIX}compillerlibs"` to my recipe.

Perhaps, because `FORTRAN = ""` is in the gcc_%.bb, maybe that should be something less strict?

I might be screwing up my bbappend too...

My append is in `meta-mylayer/recipes-devtools/gcc/gcc-runtime_%.bbappend`

Which is mapped correctly to $BBFILES n my layers `layer.conf`

On Sun, Jan 2, 2022 at 2:07 PM Konrad Weihmann <kweihmann@...> wrote:
The following I just found in local.conf.sample.extended

# Enabling FORTRAN
# Note this is not officially supported and is just illustrated here to
# show an example of how it can be done
# You'll also need your fortran recipe to depend on libgfortran
FORTRAN:forcevariable = ",fortran"

guess that will solve your issue without the need for a bbappend.
Just inject that line via distro or local.conf

On 02.01.22 18:31, staticd wrote:
> I think to clarify...what I need are these files:
>
> --- snipped from gcc-runtime.inc ---
> ```
> FILES_libquadmath = "${libdir}/libquadmath*.so.*"
> SUMMARY_libquadmath = "GNU quad-precision math library"
> FILES_libquadmath-dev = "\
>      ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \
>      ${libdir}/libquadmath*.so \
>      ${libdir}/libquadmath.la <http://libquadmath.la> \
> "
> ```
> ---
> to be in my $STAGING_LIBDIR
>
> So far, I have been unable to figure out how to do that, unfortunately.
>
> On Sun, Jan 2, 2022 at 12:23 PM staticd <staticd@...
> <mailto:staticd@...>> wrote:
>
>     Thank you, Michael.
>
>     I have `DEPENDS = "virtual/arm-oe-linux-gnueabi-compilerlibs"`
>
>     and `do_compile[depends] +=
>     "virtual/arm-oe-linux-gnueabi-compilerlibs:do_check"`
>
>     However, libquadmath.so is still not present in `recipe-sysroot/lib`
>
>     I used the `do_check` task from gcc_runtime but that still isn't
>     providing `libquadmath.so` in my $STAGING_LIBDIR, which is where I
>     need it.
>
>     Many thanks.
>
>     On Sun, Jan 2, 2022 at 12:17 PM Michael Ho <michael.ho@...
>     <mailto:michael.ho@...>> wrote:
>
>         Not familiar with Fortran but maybe it helps to know that this
>         is normally handled with the DEPENDS mechanism. When you add
>         other recipes as dependencies to your recipe, the task
>         do_prepare_recipe_sysroot (run before do_compile) will make hard
>         links to the files from those dependency recipes into that
>         recipe-sysroot directory.
>
>         See:
>         https://docs.yoctoproject.org/singleindex.html#do-prepare-recipe-sysroot
>         <https://docs.yoctoproject.org/singleindex.html#do-prepare-recipe-sysroot>
>
>         Kind regards,
>         Michael
>
>         On Sun, 2 Jan 2022, 6:06 pm staticd, <staticd@...
>         <mailto:staticd@...>> wrote:
>
>             okay...I think I have a more interesting question now...
>
>             In the package I am building I have some Fortran code that
>             requires `libquadmath`
>
>             I see that `gcc-runtime` provides the library but I need the
>             library present in `recipe-sysroot/lib` when my `do_compile`
>             runs
>
>             Is there a way for me to do that?
>
>             My current approach is to build my image, copy the
>             libraries/includes to my recipe and `install` them in
>             `recipe-sysroot` before `do_compile`
>
>             This doesn't seem like the correct approach but I am not
>             sure how else to do it at this point
>
>             Any help would be greatly appreciated.
>
>
>
>
>
>
>



Join yocto@lists.yoctoproject.org to automatically receive all group messages.