Hey there. I am building a Boot2Qt image for my Jetson Nano. Yocto release is 
dunfell. Currently I am trying to build the scipy library release 1.5.3. This 
is the recipe I am using:

> 
> inherit pypi setuptools3
> 
> SUMMARY = "SciPy: Scientific Library for Python"
> HOMEPAGE = "https://www.scipy.org";
> LICENSE = "BSD"
> LIC_FILES_CHKSUM =
> "file://LICENSE.txt;md5=8256119827cf2bbe63512d4868075867"
> 
> SRC_URI += " file://0001-Allow-passing-flags-via-FARCH-for-mach.patch"
> SRC_URI[md5sum] = "ecf5c58e4df1d257abf1634d51cb9205"
> SRC_URI[sha256sum] =
> "ddae76784574cc4c172f3d5edd7308be16078dd3b977e8746860c76c195fa707"
> 
> DEPENDS += "${PYTHON_PN}-numpy ${PYTHON_PN}-numpy-native
> ${PYTHON_PN}-pybind11-native lapack"
> RDEPENDS_${PN} += "${PYTHON_PN}-numpy lapack"
> 
> CLEANBROKEN = "1"
> 
> export LAPACK = "${STAGING_LIBDIR}"
> export BLAS = "${STAGING_LIBDIR}"
> 
> export F90 = "${TARGET_PREFIX}gfortran"
> export FARCH = "${TUNE_CCARGS}"
> # Numpy expects the LDSHARED env variable to point to a single
> # executable, but OE sets it to include some flags as well. So we split
> # the existing LDSHARED variable into the base executable and flags, and
> # prepend the flags into LDFLAGS
> LDFLAGS_prepend := "${@" ".join(d.getVar('LDSHARED', True).split()[1:])} "
> 
> export LDSHARED := "${@d.getVar('LDSHARED', True).split()[0]}"
> 
> # Tell Numpy to look in target sysroot site-packages directory for
> libraries
> LDFLAGS_append = "
> -L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/lib"

This recipe fails with the bad RPATH error. Complete error log here ( 
https://pastebin.ubuntu.com/p/2K9sqxkhSn/ ).

This is what the Yocto documentation has to say about the bad RPATH error:

> 
> -package <packagename> contains bad RPATH <rpath> in file <file>
> [rpaths]The specified binary produced by the recipe contains dynamic
> library load paths (rpaths) that contain build system paths such as
> TMPDIR, which are incorrect for the target and could potentially be a
> security issue. Check for bad -rpathoptions being passed to the linker in
> your do_compile log. Depending on the build system used by the software
> being built, there might be a configure option to disable rpath usage
> completely within the build of the software.

I looked in the run.do_configure file. This is what the BUILD_LDFLAGS variable 
is set like:
> 
> 
> export
> BUILD_LDFLAGS="-L/media/dell/ext4_volume/jetson-nano-build-files/tmp/work/aarch64-poky-linux/python3-scipy/1.5.3-r0/recipe-sysroot-native/usr/lib
> -L/media/dell/ext4_volume/jetson-nano-build-files/tmp/work/aarch64-poky-linux/python3-scipy/1.5.3-r0/recipe-sysroot-native/lib
> -Wl,--enable-new-dtags                        
> -Wl,-rpath-link,/media/dell/ext4_volume/jetson-nano-build-files/tmp/work/aarch64-poky-linux/python3-scipy/1.5.3-r0/recipe-sysroot-native/usr/lib
> -Wl,-rpath-link,/media/dell/ext4_volume/jetson-nano-build-files/tmp/work/aarch64-poky-linux/python3-scipy/1.5.3-r0/recipe-sysroot-native/lib
> -Wl,-rpath,/media/dell/ext4_volume/jetson-nano-build-files/tmp/work/aarch64-poky-linux/python3-scipy/1.5.3-r0/recipe-sysroot-native/usr/lib
> -Wl,-rpath,/media/dell/ext4_volume/jetson-nano-build-files/tmp/work/aarch64-poky-linux/python3-scipy/1.5.3-r0/recipe-sysroot-native/lib
> -Wl,-O1 -Wl,--allow-shlib-undefined
> -Wl,--dynamic-linker=/media/dell/ext4_volume/jetson-nano-build-files/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2"
> 

So I created a copy of bitbake.conf in my custom layer and set the priority of 
the layer above the poky/meta/ layer. With this the -rpath and -rpath-link 
options are removed from the BUILD_LDFLAGS variable. Now if I build the 
package, the build still fails with the same error.
Running grep on the tmp/work/aarch64-poky-linux/python3-scipy/1.5.3-r0/temp/ 
showed that -rpath option is still being passed to gcc. Complete log.do_compile 
here. ( https://pastebin.ubuntu.com/p/tvpn8zTZ7q/ )

Right now I am kind of clueless as to how I should approach debugging this. 
Would really appreciate any help. Thanks.
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#54597): https://lists.yoctoproject.org/g/yocto/message/54597
Mute This Topic: https://lists.yoctoproject.org/mt/85245864/21656
Mute #python:https://lists.yoctoproject.org/g/yocto/mutehashtag/python
Mute #bitbake:https://lists.yoctoproject.org/g/yocto/mutehashtag/bitbake
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to