This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
In this post, we will address a few error scenarios faced by users during Yocto builds relating to fetch step. These errors will usually be reported as "do_fetch" errors. An example is given below:
ERROR: Logfile of failure stored in: /work/karthik/am65xx-7.00/tisdk/build/arago-tmp-external-arm-glibc/work/aarch64-linux/thin-provisioning-tools/0.8.5-r0/temp/log.do_fetch.24291 ERROR: Task (/work/karthik/am65xx-7.00/tisdk/sources/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb:do_fetch) failed with exit code '1'
The last line in the above error log indicates that the recipe failed during the do_fetch step.
Here are the typical reasons that contribute to these errors:
1. Proxy configuration is incorrect/missing
This is the top reason for the fetch failure. If you have not configured the http, git, https and ftp proxies correctly you may run into this issue. It is recommended that:
2. Renaming of the git default branch to "main"
github and many other repositories are renaming the default branch to main. Refer: https://github.com/github/renaming Due to this change, it is expected that there will be a build break when individual repositories make this change.
We have already seen one such failure with the thin-provisioning-tools recipe. The recommended method to fix this would be to do the following change as described in the patch. It involves only two steps:
diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb index 9f89bac22..e6e475140 100644 --- a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb +++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb @@ -7,11 +7,14 @@ SECTION = "devel" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" S = "${WORKDIR}/git" -SRC_URI = "git://github.com/jthornber/thin-provisioning-tools \ +BRANCH = "main" + +SRC_URI = "git://github.com/jthornber/thin-provisioning-tools;branch=${BRANCH} \ file://0001-do-not-strip-pdata_tools-at-do_install.patch \ file://use-sh-on-path.patch \ " SRCREV = "5e5409f48b5403d2c6dffd9919b35ad77d6fb7b4" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
3. Upstream repository is changed (rewrite) or LICENSE file has changed.
Although this one is rare, it does happen occasionally when an upstream repository is rewritten for various reasons, the commit ID will tend to change causing fetch failures. It is recommended to download the repository manually and check for the tag and replace it in the recipe.
The other related change is the update of LICENSE file causes the LICENSE checksums to fail. A similar action like above needs to be done to take care of this.
4. Shared downloads folder
Some users/machines try to use the share downloads folder with other users. When using shared downloads folder, if two users are not on the same group with write permissions, the download process may not be able to update the files in the common downloads directory. Please ensure this while using shared downloads.
Regards
Karthik