[Question]: how to create python wheel package with so files
Description
I try to build python wheel file from source code with command python setup.py sdist bdist_wheel. The final oneflow-0.9.0+cu117-cp38-cp38-linux_x86_64.whl file is only 51M size.
After i tried to pip install oneflow from this whl file, i run import oneflow and get following error message:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ygzhao/miniconda3/envs/flow_1/lib/python3.8/site-packages/oneflow/__init__.py", line 25, in <module>
import oneflow._oneflow_internal
ImportError: libprotobuf.so.3.9.2.0: cannot open shared object file: No such file or directory
I checked this file is located in ./build/protobuf/src/protobuf/cmake/libprotobuf.so
My question is how to include all related so files into whl file.
Alternatives
No response
I tried to copy *.so to ./miniconda3/envs/flow_1/lib/python3.8/site-packages/oneflow/ and got following error:
>>> import oneflow
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ygzhao/miniconda3/envs/flow_1/lib/python3.8/site-packages/oneflow/__init__.py", line 25, in <module>
import oneflow._oneflow_internal
ImportError: /home/ygzhao/miniconda3/envs/flow_1/lib/python3.8/site-packages/oneflow/liboneflow.so: undefined symbol: clGetPlatformIDs
You can build wheel within https://hub.docker.com/r/oneflowinc/manylinux2014_x86_64_cuda11.7 and then use auditwheel repair.