esp-open-sdk icon indicating copy to clipboard operation
esp-open-sdk copied to clipboard

failed to download binutils-2.25.1.tar.xz

Open wemos opened this issue 6 years ago • 7 comments

Failed to build the crosstool-NG,

[EXTRA] Extracting 'binutils-2.25.1' [DEBUG] ==> Executing: 'mkdir' '-p' 'binutils-2.25.1' [DEBUG] ==> Executing: 'tar' '--strip-components=1' '-C' 'binutils-2.25.1' '-xv' '-f' '-' [FILE ] tar: This does not look like a tar archive [FILE ] tar: Skipping to next header [FILE ] tar: Exiting with failure status due to previous errors [ERROR]
[ERROR] >> [ERROR] >> Build failed in step 'Extracting and patching toolchain components' [ERROR] >> called in step '(top-level)' [ERROR] >> [ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257] [ERROR] >> called from: CT_Extract[scripts/functions@982] [ERROR] >> called from: do_binutils_extract[scripts/build/binutils/binutils.sh@38] [ERROR] >> called from: main[scripts/crosstool-NG.sh@615] [ERROR] >> [ERROR] >> For more info on this error, look at the file: 'build.log' [ERROR] >> There is a list of known issues, some with workarounds, in: [ERROR] >> 'share/doc/crosstool-ng/crosstool-ng-1.22.0-60-g37b07f6/B - Known issues.txt' [ERROR]
[ERROR] (elapsed: 15:46.22)

I find in https://ftp.gnu.org/gnu/binutils there is not file named binutils-2.25.1.tar.xz Where can I download the "binutils-2.25.1.tar.xz"?

wemos avatar Dec 28 '17 05:12 wemos

In your config file, change CT_CONFIGURE_has_xz to CT_CONFIGURE_has_xz=n

dana321 avatar Jun 06 '18 11:06 dana321

Which config file? Please be very specific for those of use who only know enough to be dangerous ;-).

papadeltasierra avatar Sep 28 '18 09:09 papadeltasierra

Can you explain how your suggested fix helps? Are you familiar with this: Problems with #esp-open-sdk build on Debian jessie #ESP8266 solved? I seem to be seeing the same issue in that the binutils...xz file is not being downloaded (I get an HTML error report downloaded into the file thus the error indicated in the build.log). I'll see if I can figure out what's up but I suspect the binutils...xz file has perhaps moved to some other page on the web?

papadeltasierra avatar Sep 28 '18 09:09 papadeltasierra

The issue relates to crosstool-ng. In your crosstool configuration file, modify or add the parameter.

dana321 avatar Sep 28 '18 10:09 dana321

dana321 - specifically which file? I can see a number of config files that are autogenerated but a grep through the entire codebase does not seem to reveal a source file with this config parameter in it. However this is merely a poor workaround for a bug. The error occurs because the code tries to pull files from http://ftp.kernel.org and this fails. Now many ISPs intercept the 'that website does not exist' response and produce their own web-page to return to users. So in my case your scripts save off a file binutils...tax.xz that contains an HTML webpage generated by TalkTalk, my ISP. The fix is to correct code that ends up in the 'functions' file to check the actually file that it thinks is downloaded - however I can't get this to work and cannot see why! The code I'm trying to make work is this (around line 731):

            if [ -f "${CT_TARBALLS_DIR}/${file}${ext}" ]; then
                IS_HTML=$(file --brief "${CT_TARBALLS_DIR}/${file}${ext}" | grep HTML)
                if [ -z $IS_HTML ]; then
                    CT_DoLog DEBUG "Got '${file}' from the Internet"
                    CT_SaveLocal "${CT_TARBALLS_DIR}/${file}${ext}"
                    return 0
                fi
            fi

but the build system complains about the line that runs 'file' (IS_HTML=...). Since the output of the error appears to be swallowed somewhere, I have no idea why and all attempts to rewrite this so that it works have failed. Are you able to either shed any light on why or tell me how to actually see the error that the build system complains about?

papadeltasierra avatar Sep 28 '18 12:09 papadeltasierra

I have talktalk as well. Make sure when you cloned this repository, you added the --recurse-submodules in the git clone command, its in the crosstools-NG subproject that this option exists.

Btw, this is NOT my project, i only found this error with another project relating to crosstools-NG, changing the source code in one place won't fix the problem, there is multiple places. The mirror doesn't contain an xz file, so you need to use .gz (so skip xz)

scripts/functions contains the environment option: `

CT_DoListTarballExt() { if [ "${CT_CONFIGURE_has_xz}" = "y" ]; then printf ".tar.xz\n" fi if [ "${CT_CONFIGURE_has_lzma}" = "y"
-o "${CT_CONFIGURE_has_xz}" = "y" ]; then printf ".tar.lzma\n" fi printf ".tar.bz2\n" printf ".tar.gz\n.tgz\n" printf ".tar\n" printf ".zip\n" }
`

dana321 avatar Sep 29 '18 15:09 dana321

Thanks for the info and help. I've been trying to make sense of this because we you say the same code seems to get put all over the place but I'm going to get my head out of the details and try and get this installed. thanks again.

papadeltasierra avatar Sep 30 '18 11:09 papadeltasierra