Zstd error during build

I’m using a patch for the bnx2x module, thus I have to build a local copy of ipfire every time a new release hits. Well, I did what I always do and started a build for the new release, but I hit a snag:

Jun 21 15:39:13: Building zstd zstd Download: https://source.ipfire.org/source-2.x/zstd-1.5.0.tar.gz
2021-06-21 11:39:15 URL:https://source.ipfire.org/source-2.x/zstd-1.5.0.tar.gz [1867111/1867111] → “/tmp/zstd-1.5.0.tar.gz” [1]
make: *** [zstd:64: /home/build/ipfire-2.x/cache/zstd-1.5.0.tar.gz] Error 1

ERROR: Download error in zstd
Check /home/build/ipfire-2.x/log/_build.preparation.log for errors if applicable

What does “Download error in ztsd” mean?

Hi @m3freak

I did the last update to zstd so my cache had the file that I used for the update build.

I just removed the file from my cache and did a ./make.sh downloadsrc and got the same result as you did.

Then I downloaded the zstd-1.5.0 file from the IPFire source directory and copied it to my cache and reran downloadsrc and again got the same error.

Then I checked the md5sum of the file in the source tree with the one used in the zsts lfs file and they are different.

Just checked and in the source location for zstd

https://github.com/facebook/zstd/releases/tag/v1.5.0

There is an entry for zstd-1.5.0.tar.gz and another for “Source code (tar.gz)” which also downloads zstd-1.5.0.tar.gz

The md5sum in the source tree is for the “Source code (tar.gz)” file while the file I used for the build was the direct zstd-1.5.0.tar.gz file

I will work with the dev team to get this fixed.
As a quick fix if you download the direct zstd-1.5.0.tar.gz file, check that it has the same md5sum as specified in the lfs file and if yes then place in your cache/ folder and your build download should then work ok.

To build against the stable tree use
git checkout coreXXX

For tests of kernel related patches use the upcoming 5.10 tree. I will merge this in the next days after fixing some toolchain issues. (e.g. that zstd is compiled with the wrong compiler in toolchain stage)

https://git.ipfire.org/?p=people/arne_f/ipfire-2.x.git;a=shortlog;h=refs/heads/kernel-5.10
Fist try if the bnx2x module is already working in this tree:
https://people.ipfire.org/~arne_f/highly-experimental/kernel-5.10/

As a quick check that zstd is the only one with this problem, I cleared my cache and ran ./make.sh downloadsrc to preload all source files from the IPFire tree.

zstd is the only one with a problem.

Thanks for flagging this.

Hi @m3freak

The file in the source tree was accidentally changed. This has now been corrected. I have tested this and the download works fine.

You can test this by removing the zstd-1.5.0.tar.gz from your cache. folder and then running

./make.sh downloadsrc

This worked fine for me just now.

2 Likes

Awesome! I love finding bugs, especially ones I don’t spend any time investigating. lol

Thank you, @bonnietwin, for finding and fixing the problem. I’m going to kick off another build.

@arne_f, I checked the source here:

And it doesn’t include what the patch does, which is to add a 2.5 Gbps sync rate. My fibre internet service syncs with the SFP in the supplied modem at 2.5 Gbps, but the bnx2x driver doesn’t have support for that speed. The patch adds it in.

For more info, here’s the original thread:

Here’s the link to a post from a user that wrote a guide on how to build ipfire with that patch applied:

@arne_f has a repository for experimental kernel builds that he puts together and I think he was saying to try that to see if that module was working in that. It was the second link he provided that goes to that repository.

Are you looking for this one Index of /~arne_f/highly-experimental/kernel-5.10?

I don’t have a test system that I could use to give that a try on. :confused:

I went to the driver source for the 5.10 kernel tree because I figured I could check for the “2500” sync rate in the code. “2500” is not in there. Does the experimental ipfire branch include the patch that adds the 2.5 Gbps sync?

@arne_f would have to comment on that. I don’t know enough about the kernel side to give any input.