Re: libquadmath


Randy MacLeod
 

On 2022-01-04 10:00, staticd wrote:
One final update for anyone who might run into this problem.
With all of my fiddling/twiddling I failed to get libquadmath to build under the `zeus` branch.  Unfortunately, my other layer dependencies only support `zeus` so it seems I will have to wait until they support a branch that can build `libquadmath`.
I am fairly certain there is just a simple mistake somewhere but, alas, I have been unable to find where that is.
Hi,

If you can come up with a reasonably simple reproducer and
it fails on a supported branch:
https://wiki.yoctoproject.org/wiki/Releases

then we'd appreciate if if you could report the bug in the YP Bugzilla:

https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking

Don't worry too much about getting every field right if you aren't familiar
with the overall project.


There's no guarantee that we'll get someone to work on it but
at least it's tracked and we might get to it at some point.

../Randy


On Mon, Jan 3, 2022 at 4:55 PM staticd <staticd@... <mailto:staticd@...>> wrote:
I made some progress...
It turns out that libquadmath is failing to build.
When I goto the
`build/tmp/work/...../gcc-runtime/9.2.0-r0/gcc-9.2.0/build.arm-oe-linux-gnueabi.arm-oe-linux-gnueabi/arm-oe-linux-gnueabi/libquadmath`
directory, the only files that are there are:
```
libquadmath  ] ls -l
total 476
-rw-r--r--. 1 2017 oe-builder   4433 Jan  3 16:17 config.h
-rw-r--r--. 1 2017 oe-builder  69297 Jan  3 16:17 config.log
-rwxr-xr-x. 1 2017 oe-builder  77122 Jan  3 16:17 config.status
-rwxr-xr-x. 1 2017 oe-builder 267083 Jan  3 16:17 libtool
-rw-r--r--. 1 2017 oe-builder  57241 Jan  3 16:17 Makefile
-rw-r--r--. 1 2017 oe-builder     23 Jan  3 16:17 stamp-h1
```
In the config.log, there are errors, some of which are expected, but
still:
```
libquadmath  ] grep -i error config.log
arm-oe-linux-gnueabi-gcc: error: unrecognized command line option '-V'
arm-oe-linux-gnueabi-gcc: fatal error: no input files
arm-oe-linux-gnueabi-gcc: error: unrecognized command line option
'-qversion'; did you mean '--version'?
arm-oe-linux-gnueabi-gcc: fatal error: no input files
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or
directory
arm-oe-linux-gnueabi-gcc: error: unrecognized command line option '-V'
arm-oe-linux-gnueabi-gcc: fatal error: no input files
arm-oe-linux-gnueabi-gcc: error: unrecognized command line option
'-qversion'; did you mean '--version'?
arm-oe-linux-gnueabi-gcc: fatal error: no input files
conftest.c:28:10: fatal error: ac_nonexistent.h: No such file or
directory
configure:12551: arm-oe-linux-gnueabi-gcc  -mthumb -mfpu=neon
-mfloat-abi=hard -mcpu=cortex-a9
--sysroot=/home/oe-builder/build/tmp-glibc/work/cortexa9t2hf-neon-oe-linux-gnueabi/gcc-runtime/9.2.0-r0/recipe-sysroot
-c  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/oe-builder/build/tmp-glibc/work/cortexa9t2hf-neon-oe-linux-gnueabi/gcc-runtime/9.2.0-r0/recipe-sysroot=
 -fdebug-prefix-map=/home/oe-builder/build/tmp-glibc/work/cortexa9t2hf-neon-oe-linux-gnueabi/gcc-runtime/9.2.0-r0/recipe-sysroot-native=    -fdebug-prefix-map=/home/oe-builder/build/tmp-glibc/work-shared/gcc-9.2.0-r0/gcc-9.2.0=/usr/src/debug/gcc-runtime/9.2.0-r0    -fdebug-prefix-map=/home/oe-builder/build/tmp-glibc/work-shared/gcc-9.2.0-r0/gcc-9.2.0/include=/usr/src/debug/gcc-runtime/9.2.0-r0/libstdc++-v3/../include    -fdebug-prefix-map=/home/oe-builder/build/tmp-glibc/work-shared/gcc-9.2.0-r0/gcc-9.2.0/libiberty=/usr/src/debug/gcc-runtime/9.2.0-r0/libstdc++-v3/../libiberty    -fdebug-prefix-map=/home/oe-builder/build/tmp-glibc/work/cortexa9t2hf-neon-oe-linux-gnueabi/gcc-runtime/9.2.0-r0/gcc-9.2.0/build.arm-oe-linux-gnueabi.arm-oe-linux-gnueabi=/usr/src/debug/gcc-runtime/9.2.0-r0     -Werror  conftest.c >&5
glibcxx_cv_system_error10=yes
glibcxx_cv_system_error11=yes
glibcxx_cv_system_error12=yes
glibcxx_cv_system_error13=yes
glibcxx_cv_system_error14=yes
glibcxx_cv_system_error15=yes
glibcxx_cv_system_error16=yes
glibcxx_cv_system_error17=yes
glibcxx_cv_system_error18=yes
glibcxx_cv_system_error19=yes
glibcxx_cv_system_error1=yes
glibcxx_cv_system_error2=yes
glibcxx_cv_system_error3=yes
glibcxx_cv_system_error4=yes
glibcxx_cv_system_error5=yes
glibcxx_cv_system_error6=yes
glibcxx_cv_system_error7=yes
glibcxx_cv_system_error8=yes
glibcxx_cv_system_error9=yes
```
If I check out another library that I expect to get, like, `libitm`,
I see:
```
libquadmath  ] ls -trl ../libitm/
total 2872
-rwxr-xr-x. 1 2017 oe-builder  97435 Jan  3 16:17 config.status
-rw-r--r--. 1 2017 oe-builder  47665 Jan  3 16:17 Makefile
drwxr-xr-x. 2 2017 oe-builder     22 Jan  3 16:17 testsuite
-rw-r--r--. 1 2017 oe-builder    162 Jan  3 16:17 libitm.spec
-rw-r--r--. 1 2017 oe-builder   5251 Jan  3 16:17 config.h
-rw-r--r--. 1 2017 oe-builder     23 Jan  3 16:17 stamp-h1
-rwxr-xr-x. 1 2017 oe-builder 274850 Jan  3 16:17 libtool
-rw-r--r--. 1 2017 oe-builder    868 Jan  3 16:17 gstdint.h
-rw-r--r--. 1 2017 oe-builder 119521 Jan  3 16:17 config.log
-rw-r--r--. 1 2017 oe-builder  50080 Jan  3 16:18 alloc_c.o
...
-rw-r--r--. 1 2017 oe-builder    931 Jan  3 16:18 libitm.la
<http://libitm.la>
```
Have you seen something like this before?  I am not sure how to fix
this...
Any help is greatly appreciated.
On Sun, Jan 2, 2022 at 5:13 PM staticd via lists.yoctoproject.org
<http://lists.yoctoproject.org>
<staticd=gmail.com@...
<mailto:gmail.com@...>> wrote:
So, I built the latest poky and created the example recipe with
the `DEPENDS` from my recipe and indeed, I see `libquadmath.so
<http://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
<http://lists.yoctoproject.org>
<staticd=gmail.com@...
<mailto:gmail.com@...>> wrote:
Thank you, Konrad.
I have tried both of the approaches (local.conf and
gcc-runtime_%.bbappend/gcc_%.bbappend), still
`libquadmath.so
<http://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
<http://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@... <mailto: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>
<http://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@...>
> <mailto: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
<http://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
<http://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@...>
>     <mailto: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>
>
 <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@...>
>         <mailto: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.
>
>
>
>
>
>
>

--
# Randy MacLeod
# Wind River Linux

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