sysroot not able to find c library file: error: cannot open crti.o: No such file or directory


Mayank Agarwal
 

Hi,

i am getting below errors on compiling moduleone using yocto.I am doing cross compilation and the toolchain
path i am providing in moduleone makefile.

/home/../../..//tmp/sysroots/x86_64-linux/usr/bin/arm-rdkmllib32-linux-gnueabi/../../libexec/arm-rdkmllib32-linux-gnueabi/gcc/arm-rdkmllib32-linux-gnueabi/6.4.0/ld:c
| /home/../../..//tmp/sysroots/x86_64-linux/usr/bin/arm-rdkmllib32-linux-gnueabi/../../libexec/arm-rdkmllib32-linux-gnueabi/gcc/arm-rdkmllib32-linux-gnueabi/6.4.0/ld: error: cannot open crti.o: No such file or directory
| /home/../../..//tmp/sysroots/x86_64-linux/usr/bin/arm-rdkmllib32-linux-gnueabi/../../libexec/arm-rdkmllib32-linux-gnueabi/gcc/arm-rdkmllib32-linux-gnueabi/6.4.0/ld: error: cannot open crtbegin.o: No such file or directory
| /home/../../..//tmp/sysroots/x86_64-linux/usr/bin/arm-rdkmllib32-linux-gnueabi/../../libexec/arm-rdkmllib32-linux-gnueabi/gcc/arm-rdkmllib32-linux-gnueabi/6.4.0/ld: error: cannot open crtend.o: No such file or directory
| /home/../../..//tmp/sysroots/x86_64-linux/usr/bin/arm-rdkmllib32-linux-gnueabi/../../libexec/arm-rdkmllib32-linux-gnueabi/gcc/arm-rdkmllib32-linux-gnueabi/6.4.0/ld: error: cannot open crtn.o: No such file or directory
| /home/../../..//tmp/sysroots/x86_64-linux/usr/bin/arm-rdkmllib32-linux-gnueabi/../../libexec/arm-rdkmllib32-linux-gnueabi/gcc/arm-rdkmllib32-linux-gnueabi/6.4.0/ld: error: cannot open /lib/libpthread.so.0: No such file or directory

It is not able to c library files while linking.
How can  pass the sysroots options in the recipe file so that it is able to c library files.
Please find below the recipe file:

inherit autotools

SRC_URI = " \
    file://example.tgz \
"

S = "${WORKDIR}/example"


LDFLAGS+="-L${STAGING_LIBDIR}/arm-rdkmllib32-linux-gnueabi/6.4.0"

TARGET_CC_ARCH += "${LDFLAGS}"



LDFLAGS += "-static-libgcc -static-libstdc++"
CFLAGS += "-static-libgcc -static-libstdc++"



EXTRA_OEMAKE += "SYSROOT_INCLUDES_DIR=\"${STAGING_INCDIR}\""
EXTRA_OEMAKE += "SYSROOT_LIBS_DIR=\"${STAGING_LIBDIR}\""


do_compile() {



export STAGING_INCDIR="${STAGING_INCDIR}"
export STAGING_LIBDIR="${STAGING_LIBDIR}"

        oe_runmake -C ${S}

}

Thanks for your help 

Best Regards
Mayank