mcmilk / zstdmt

Multithreading Library for Brotli, Lizard, LZ4, LZ5, Snappy and Zstandard
Other
177 stars 33 forks source link

Zero length Windows EXEs #17

Closed Hub-O-Gits closed 2 years ago

Hub-O-Gits commented 2 years ago

All of the Windows releases (v0.6 - 0.8) appear to contain multiple zero-byte binaries.

mcmilk commented 2 years ago

What does this mean... I am no windows guru ;-)

Hub-O-Gits commented 2 years ago

It means that when you un-zip the Windows releases in question, you'll find that 10 of the EXE binaries are empty - i.e. zero bytes.

mcmilk commented 2 years ago

They are symbolic links ... Windows 7 and greater should understand these. What Unzipper do you use?

Archive:  /home/mcmilk/Downloads/zstdmt-win.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 2020-10-16 17:33 00000000  zstdmt/
    1672  Defl:N      517  69% 2020-10-16 17:33 aed7c7ca  zstdmt/README-gcc.txt
  794126  Defl:N   337430  58% 2020-10-16 17:22 0d6c35dc  zstdmt/brotli-mt-w32.exe
  846862  Defl:N   362882  57% 2020-10-16 17:28 7b1c5b98  zstdmt/brotli-mt-w64.exe
  275470  Defl:N   128245  53% 2020-10-16 17:22 b95482e5  zstdmt/lizard-mt-w32.exe
  300046  Defl:N   143043  52% 2020-10-16 17:27 964b76a8  zstdmt/lizard-mt-w64.exe
  184334  Defl:N    83661  55% 2020-10-16 17:22 464a4735  zstdmt/lz4-mt-w32.exe
  227342  Defl:N   102821  55% 2020-10-16 17:27 ab1d0357  zstdmt/lz4-mt-w64.exe
  154638  Defl:N    71022  54% 2020-10-16 17:22 81ff6368  zstdmt/lz5-mt-w32.exe
  182286  Defl:N    86258  53% 2020-10-16 17:27 f642dc50  zstdmt/lz5-mt-w64.exe
   72718  Defl:N    32968  55% 2020-10-16 17:23 93453f2c  zstdmt/lzfse-mt-w32.exe
   81422  Defl:N    37772  54% 2020-10-16 17:29 cffaa9e1  zstdmt/lzfse-mt-w64.exe
   44558  Defl:N    20910  53% 2020-10-16 17:23 6dec4f9f  zstdmt/snappy-mt-w32.exe
   48654  Defl:N    23103  53% 2020-10-16 17:29 6f78b69e  zstdmt/snappy-mt-w64.exe
      17  Stored       17   0% 2020-10-16 17:30 f01540f3  zstdmt/unbrotli-mt-w32.exe
      17  Stored       17   0% 2020-10-16 17:30 2f9824e0  zstdmt/unbrotli-mt-w64.exe
      17  Stored       17   0% 2020-10-16 17:30 48777507  zstdmt/unlizard-mt-w32.exe
      17  Stored       17   0% 2020-10-16 17:30 97fa1114  zstdmt/unlizard-mt-w64.exe
      14  Stored       14   0% 2020-10-16 17:30 e2351ffb  zstdmt/unlz4-mt-w32.exe
      14  Stored       14   0% 2020-10-16 17:30 3db87be8  zstdmt/unlz4-mt-w64.exe
      14  Stored       14   0% 2020-10-16 17:30 79905394  zstdmt/unlz5-mt-w32.exe
      14  Stored       14   0% 2020-10-16 17:30 a61d3787  zstdmt/unlz5-mt-w64.exe
      16  Stored       16   0% 2020-10-16 17:30 d279128c  zstdmt/unlzfse-mt-w32.exe
      16  Stored       16   0% 2020-10-16 17:30 0df4769f  zstdmt/unlzfse-mt-w64.exe
      17  Stored       17   0% 2020-10-16 17:30 f79d9a28  zstdmt/unsnappy-mt-w32.exe
      17  Stored       17   0% 2020-10-16 17:30 2810fe3b  zstdmt/unsnappy-mt-w64.exe
      15  Stored       15   0% 2020-10-16 17:30 73b51c47  zstdmt/unzstd-mt-w32.exe
      15  Stored       15   0% 2020-10-16 17:30 ac387854  zstdmt/unzstd-mt-w64.exe
  850958  Defl:N   351951  59% 2020-10-16 17:23 fab132db  zstdmt/zstd-mt-w32.exe
  927246  Defl:N   374119  60% 2020-10-16 17:29 a331875c  zstdmt/zstd-mt-w64.exe
--------          -------  ---                            -------
 4992552          2156922  57%                            30 files
Hub-O-Gits commented 2 years ago

Links to what? They have unique names within the archive, so what are they pointing to?

mcmilk commented 2 years ago
Hub-O-Gits commented 2 years ago

Two issues:

(1) This is the contents of the archive I downloaded (zstdmt-win.zip) - checked with both 7-Zip, and Windows's native zip utility. So it contains less components than what you posted above:

04/09/2022  05:24 PM           757,760 brotli-mt-w32.exe
04/09/2022  05:24 PM           787,456 brotli-mt-w64.exe
04/09/2022  05:24 PM           262,656 lizard-mt-w32.exe
04/09/2022  05:24 PM           301,056 lizard-mt-w64.exe
04/09/2022  05:24 PM           155,648 lz4-mt-w32.exe
04/09/2022  05:24 PM           212,992 lz4-mt-w64.exe
04/09/2022  05:24 PM           142,848 lz5-mt-w32.exe
04/09/2022  05:24 PM           186,368 lz5-mt-w64.exe
04/09/2022  05:24 PM               625 README-gcc.txt
04/09/2022  05:24 PM                17 unbrotli-mt-w32.exe
04/09/2022  05:24 PM                17 unbrotli-mt-w64.exe
04/09/2022  05:24 PM                17 unlizard-mt-w32.exe
04/09/2022  05:24 PM                17 unlizard-mt-w64.exe
04/09/2022  05:24 PM                14 unlz4-mt-w32.exe
04/09/2022  05:24 PM                14 unlz4-mt-w64.exe
04/09/2022  05:24 PM                14 unlz5-mt-w32.exe
04/09/2022  05:24 PM                14 unlz5-mt-w64.exe
04/09/2022  05:24 PM                15 unzstd-mt-w32.exe
04/09/2022  05:24 PM                15 unzstd-mt-w64.exe
04/09/2022  05:24 PM           758,784 zstd-mt-w32.exe
04/09/2022  05:24 PM           887,808 zstd-mt-w64.exe
              21 File(s)      4,454,155 bytes

(2) When executing unbrotli-mt-w64.exe from a cmd shell on a Windows 7 SP1 x64 system, or Windows 10 system, the following errors occur:

a. A pop-up dialog stating:

Unsupported 16-Bit Application The program or feature "\??\X:\[path]\unbrotli-mt-w64.exe" cannot start or run due to incompatibility with 64-bit versions of Windows. Please contact the software vendor to ask a 64-bit Windows compatible version is available.

b. And after clicking 'OK', a 2nd error message on the cmd line:

This version of [path]\unbrotli-mt-w64.exe is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.

mcmilk commented 2 years ago

I think you are running into the problem, that symbolic links within windows seem to require admin rights: https://superuser.com/questions/1076527/7zip-cannot-create-symbolic-link-access-is-denied-to-libhdfs-so-and-libhadoop-s

Could you try the solution from there:

You need to run 7-Zip File Manager in administrator mode.
Right-click the icon of 7-Zip File Manager, and then click "Run as administrator".
mcmilk commented 2 years ago

Also, please use the newest release, then you have also more files ;-)

Hub-O-Gits commented 2 years ago

Confirming that worked - i.e. running 7-Zip as admin successfully preserved the symlinks upon extraction. You may want to add the admin requirement to the notes somewhere, as it typically isn't necessary in most cases.

And I see that you updated the 0.8 release with the missing files - glad to have those too now.

Btw, thanks for your work in providing these tools for Windows. It's most appreciated.