mirror of
https://github.com/google/brotli.git
synced 2026-07-08 17:56:58 +00:00
Brotli 1.0.9 with Python 2.7 Windows seems broken #342
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @gpotter2 on GitHub (Sep 1, 2020).
Hi, since 1.0.8 (we're actually using 1.0.9) we're getting some installation failures on automated builds that use both Python 2.7 and Windows (exclusively this case).
See below for the error log
The error log
Full error logs: https://ci.appveyor.com/project/secdev/scapy/branch/master/job/qesqgvj3e69onb48
Those builds are using Appveyor. Pinning 1.0.7 fixes the issue (https://github.com/secdev/scapy/pull/2790)
Has Windows Python 2.7 support been dropped, is it an issue on our side (updated dependencies?) or is that a bug ?
Thanks for the support !
@eustas commented on GitHub (Sep 1, 2020):
Yes, it looks like problem with MSVC (
unresolved external symbol _tzcnt_u64)In #636
_tzcnt_u64is used for X64 architecture for MSVC 12+...It seems that "Visual C++ for Python\9.0" lies about its capabilities.
@gpotter2 commented on GitHub (Sep 1, 2020):
If it's too much work, you can probably just drop support for 2.7 but you'll need to update pypi to reflect that in the versioning.
It doesn't really matter to us (but maybe it does to some people?)
@saucecontrol commented on GitHub (Sep 1, 2020):
@gpotter2 do you know what
_MSC_VERis set to in Visual C++ for Python\9.0?All appearances -- including the system requirements on the download page -- would seem to indicate it is actually a version of VS 9 (VS 2008), so it should not be passing the check for MSVC 12+.
@eustas commented on GitHub (Sep 2, 2020):
A quick fix would be to add
-DBROTLI_BUILD_32_BITcompilation flag. However this will negatively affect performance.@gpotter2 commented on GitHub (Sep 2, 2020):
Correct me if I'm wrong, according to https://dev.to/yumetodo/list-of-mscver-and-mscfullver-8nd (or the wikipedia page) it would mean VC C++ 9.0 gets
So if you use
f1124c8524/c/include/brotli/port.h (L51-L53)andb4077b8070/c/common/platform.h (L44)You would get
12 * 10000000 + 0 + 0 = 120000000 < 150021022->True@saucecontrol commented on GitHub (Sep 3, 2020):
Yeah, you're right.
BROTLI_MSVC_VERSION_CHECKdoesn't work at all the way I thought it did.@eustas would you prefer to update
BROTLI_MSVC_VERSION_CHECKto work on actual MSVC version, or should I update the usages of it to match the_MSC_VERvalues instead of MSVC version?@tlorometrics commented on GitHub (Sep 8, 2020):
was trying to install Dash to play with plot.ly and stumbled on this exact issue. Eventually found it here, explains why I couldn't find a fix in my googling :) I have been delaying the upgrade to python3 to avoid reworking any scripts so appreciate any fix y'all can come up with here.
EDIT: installing 1.0.8 failed with the same issue but installing 1.0.7 allowed dash to be installed and appears to be working.