darvid/python-hyperscan

statically link libhs

darvid opened this issue · 2 comments

Statically linking Hyperscan would result in a much larger extension binary size (~225mb), and require a request to pypa/warehouse to increase the upload limit on the PyPI project. The upshot is end users wouldn't need to (re-)build Hyperscan from source, at least on supported platforms (Linux/manylinux for now). Static linking would be especially helpful for easier package upgrades (#28).

Questions:

  • is a ~250mb wheel prohibitive in any use case?
  • should there be two flavors (static and shared) made available?

Feedback and objections are welcome, otherwise I think this is something that makes sense to move toward in the next release.

Just wanted to chime in: we use your package and were bit by the 0.2.0 wheel expecting Hyperscan C library to be installed. To fix this we rebuilt the wheel ourselves but it would be great if the .so for the next pypi package included the C library as before.

Once stripped, the _hyperscan.cpython-38-x86_64-linux-gnu.so file is 7.3MB on my machine, so I don't think there is a need for two flavors.

0.3.0 should include a statically linked .so now