python-hyper / brotlicffi

Python bindings to the Brotli compression library
MIT License
147 stars 27 forks source link

0.6.0 clang macro expansion errors #74

Closed kaiof closed 7 years ago

kaiof commented 7 years ago

Entire log here: https://pastebin.com/5y805vPF

In research I read that there's a difference in how clang expands macros. That seems to be potentially related here.

This is not urgent at all for me, because I think I need root for what I'm trying to do anyway...so while I am curious if there's anything that can be done for these errors, it's also FYI.

Should I paste the log into this issue / summarize somehow? I don't mind doing that.

Lukasa commented 7 years ago

Hrm, that's interesting. Is it replicable with the current master of the upstream brotli repository?

kaiof commented 7 years ago

Delayed response...the package is in Termux for Android (an apt system), with Python 3.6. I just updated to Python 3.6.1 and clang 4 (from 3.9) and tried again with pip options to scan for upgrades...no such luck.

Not being super-experienced with this, I retrieved Brotli from: https://github.com/google/brotli

...installed cmake, make, made minor 'shebang' changes, finished through 'configure-cmake' and 'make test' successfully, and 'python setup.py install' finished successfully. Unfortunately it was version 1.x and the mitmproxy wants under ~0.7.

I'm not sure if I could tell pip to proceed (maybe with --force...?) but I'll see what I can figure out, including finding another release version if possible. I'll also alert Termux so maybe they can find something I would miss.

Lukasa commented 7 years ago

So it should be noted that brotlipy is not the same as the Python package from upstream. Of particular note is that we use CFFI, whereas upstream is a Python C extension. So given that you're using Android any number of weird things could be happening there.

It should also be noted that our code is not at the current master of the upstream repository. That's because we try to update only for tagged releases. It's possible this is a build problem they resolved in master but not yet on a release.

kaiof commented 7 years ago

I did:

Save for building my own arm-Linux distros, Termux has been by far the best, fwiw. Hopefully that indicates a quick/sane config change.

Not wanting to be a drive-by issue reporter, I'm not attached to this issue staying 'open'. Thanks again for the learns.

Lukasa commented 7 years ago

No problem. Hopefully a new release will resolve this issue quietly.