Issue_0071 

Fuego wiki

Login or create account

Issue 0071

Summary
fix usage of SDKROOT in some tests
Owner
Tim
Reporter
Tim
Status
open
Priority
medium

Description [edit section]

SDKROOT, which is specified by the tools file for a given toolchain, is used inconsistently by Fuego. Sometimes it is expected to have a trailing slash, and sometimes it is not. It is used with configure, aclocal, pkgconfig, and find. Sometimes it is used as a prefix for a lib or include directory, including the '/usr' part, e.g.:
  • $SDKROOT/usr/include

and sometimes it specifies a sysroot where other files are searched for.

Here is a list of the places that use SDKROOT, as of Fuego version 1.3:

  • Functional.neon
    • aclocal --system-acdir=${SDKROOT}usr/share/aclocal
  • Functional.aiostress
    • $CC -I $SDKROOT/usr/lib -L $SDKROOT/usr/lib
  • Benchmark.aim:
    • PKG_CONFIG_PATH=$SDKROOT/usr/lib
    • pkgconfig ... PKG_CONFIG_SYSROOT_DIR=$SDKROOT
    • LDFLAGS=-L $SDKROOT/usr/lib
    • CPPFLAGS=-I $SDKROOT/usr/include
    • CFLAGS=-I $SDKROOT/usr/include
  • Benchmark.blobsallad:
    • INCDIR= $SDKROOT/usr/include
    • LIBDIR= $SDKROOT/usr/lib
  • openssl.sh
    • CFLAG= --sysroot=$SDKROOT
  • Functional.croco
    • aclocal --system-acdir=$SDKROOTusr/share/aclocal
  • Functional.zlib
    • configure --includedir=$SDKROOT/usr/include
    • configure --libdir=$SDKROOT/usr/lib
  • Benchmark.backfire
    • test -d $SDKROOT/lib/modules/$target_kernel_release/build
  • Functional.libsrvg
    • aclocal --system-acdir=$SDKROOT/usr/share/aclocal
  • Functional.LTP
    • configure SYSROOT=$SDKROOT
  • Functional.ft2demos
    • $CC -L $SDKROOT/usr/lib (in Makefile patch)
  • Benchmark.GLMark
    • CFLAGS=... -I $SDKROOT/usr/include
      • -L SDKROOT/usr/lib
      • -L SDKROOT/lib
  • functions.sh (is_on_sdk)
    • find "$SDKROOT$d" ...

Check each of these uses, to see if they are correct.

Note that Yocto Project SDKs provide a sysroot for the target, but Debian cross toolchain packages do not.

For Debian cross toolchains, the libraries are at:

  • /usr/arm-linux-gnueabihf/lib

Right now, the debian-armhf-tools.sh file sets SDKROOT to /. But the the gnueabihf libs are not going to be found on the host at //usr/lib.

But setting it to /usr/arm-linux-gnueabihf won't work, because many tests look for libs and includes in $SDKROOT/usr/lib and $SDKROOT/usr/include. This would result in /usr/arm-linux-gnueabihf/usr/lib and /usr/arm-linux-gnueabihf/usr/include, respectively (which are not there).

Figure out a fix for this, and test to make sure that required toolchain elements are present and/or checked for properly.

Notes [edit section]

Put other free-form comments or notes here

backlink

Fuego Issues List

TBWiki engine 1.8.3 by Tim Bird