mongodb-labs / python-bsonjs

A fast BSON to MongoDB Extended JSON converter for Python - This Repository is NOT a supported MongoDB product
Apache License 2.0
40 stars 10 forks source link

Fix Linux Python 3.3 and 3.4 builds and add Travis testing. #9

Closed ShaneHarvey closed 7 years ago

ShaneHarvey commented 7 years ago

bsonjs wheels are broken on Python 3.3 and 3.4:

[root@71f47a1ffa63 /]# uname -a
Linux 71f47a1ffa63 4.9.21-moby #1 SMP Wed Apr 12 01:18:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@71f47a1ffa63 /]# /opt/python/cp34-cp34m/bin/python -m pip install python-bsonjs
Collecting python-bsonjs
  Downloading python_bsonjs-0.1.1-cp34-cp34m-manylinux1_x86_64.whl (256kB)
    100% |████████████████████████████████| 266kB 3.5MB/s
Installing collected packages: python-bsonjs
Successfully installed python-bsonjs-0.1.1
[root@71f47a1ffa63 /]# /opt/python/cp34-cp34m/bin/python
Python 3.4.6 (default, Apr 18 2017, 15:35:22)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import bsonjs
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /opt/python/cp34-cp34m/lib/python3.4/site-packages/bsonjs.cpython-34m.so: undefined symbol: clock_gettime

The fix is to link to librt on Linux.

This change also adds Travis testing on linux/osx plus manylinux1 wheels.