11-19-2018 08:13 AM
I have a kernel module "rx" that I build on 2017.3, and the build breaks when I try to move my source into any subdirectory other than "files".
At first, I had the source code down in a "files" subdirectory (below my .bb file), and my FILESEXTRAPATHS_prepend variable was:
FILESEXTRAPATHS_prepend := "$(THISDIR)/files:"
My SRC_URI variable referenced all of the files, and everything worked.
However, I rearranged my code and git repositories, so that my code was then in subdir1/src/. I changed my .bb file to reference the new location with:
FILESEXTRAPATHS_prepend := "$(THISDIR)/subdir1/src:"
FYI: My SRC_URI refers to the files without prefix, such as:
SRC_URI = "file://Makefile \
file://COPYING \
...
Now, when I build with petalinux, I get strange errors:
Loaded 3273 entries from dependency cache.
WARNING: /pathtoproject/project-spec/meta-user/recipes-modules/rx/rx.bb: Unable to get checksum for rx SRC_URI entry Makefile: file could not be found | ETA: --:--:--
WARNING: /pathtoproject/project-spec/meta-user/recipes-modules/rx/rx.bb: Unable to get checksum for rx SRC_URI entry COPYING: file could not be found
WARNING: pathtoproject/project-spec/meta-user/recipes-modules/rx/rx.bb: Unable to get checksum for rx SRC_URI entry rx_driver.c: file could not be found
WARNING: /pathtoproject/project-spec/meta-user/recipes-modules/rx/rx.bb: Unable to get checksum for rx SRC_URI entry rx_driver.h: file could not be found
And later:
NOTE: Executing RunQueue Tasks
WARNING: rx-1.0-r0 do_fetch: Failed to fetch URL file://Makefile, attempting MIRRORS if available
ERROR: rx-1.0-r0 do_fetch: Fetcher failure: Unable to find file file://Makefile anywhere. The paths that were searched were:
$(THISDIR)/dcon_kmod_sw/src/petalinux
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx-1.0/petalinux
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx/petalinux
/pathtoproject/project-spec/meta-user/recipes-modules/rx/files/petalinux
$(THISDIR)/dcon_kmod_sw/src/aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx-1.0/aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx/aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/files/aarch64
$(THISDIR)/dcon_kmod_sw/src/plnx_aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx-1.0/plnx_aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx/plnx_aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/files/plnx_aarch64
$(THISDIR)/dcon_kmod_sw/src/zynqmp
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx-1.0/zynqmp
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx/zynqmp
/pathtoproject/project-spec/meta-user/recipes-modules/rx/files/zynqmp
$(THISDIR)/dcon_kmod_sw/src/aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx-1.0/aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx/aarch64
/pathtoproject/project-spec/meta-user/recipes-modules/rx/files/aarch64
$(THISDIR)/dcon_kmod_sw/src/
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx-1.0/
/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx/
/pathtoproject/project-spec/meta-user/recipes-modules/rx/files/
/pathtoproject/build/downloads
ERROR: rx-1.0-r0 do_fetch: Fetcher failure for URL: 'file://Makefile'. Unable to fetch URL from any source.
ERROR: rx-1.0-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /pathtoproject/build/tmp/work/plnx_aarch64-xilinx-linux/rx/1.0-r0/temp/log.do_fetch.12745
ERROR: Task (/pathtoproject/project-spec/meta-user/recipes-modules/rx/rx.bb:do_fetch) failed with exit code '1'
It seems like the "fetcher" is trying to append "petalinux", "aarch64" and other similar strings if the FILESEXTRAPATHS_prepend is not "files.
Can anyone advise if my FILESEXTRAPATHS_prepend is wrong?
11-19-2018 05:04 PM - edited 11-19-2018 05:08 PM
11-19-2018 05:04 PM - edited 11-19-2018 05:08 PM
11-20-2018 06:42 AM
Excellent. I knew that. I was just testing you. You win the prize!