Facing issue with pc-ble-driver-py in docker container

Hello,

I am successfully able to open and close adapter for nRF52840 using pc-ble-driver-py using python3.6.0 on my host armv7 Linux board.

But doing same inside the docker container results in the following error.

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/lib/nrf_ble_driver_sd_api_v5.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 648, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 560, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 922, in create_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
ImportError: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/local/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/lib/_nrf_ble_driver_sd_api_v5.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "1.py", line 1, in <module>
    import BleCommLib
  File "/data/smartmeshsdk/app/Simple/BleCommLib.py", line 9, in <module>
    from pc_ble_driver_py.ble_adapter import BLEAdapter
  File "/usr/local/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_adapter.py", line 45, in <module>
    from pc_ble_driver_py.ble_driver import *
  File "/usr/local/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_driver.py", line 77, in <module>
    import pc_ble_driver_py.lib.nrf_ble_driver_sd_api_v5 as driver
  File "/usr/local/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/lib/nrf_ble_driver_sd_api_v5.py", line 21, in <module>
    _nrf_ble_driver_sd_api_v5 = swig_import_helper()
  File "/usr/local/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/lib/nrf_ble_driver_sd_api_v5.py", line 20, in swig_import_helper
    return importlib.import_module('_nrf_ble_driver_sd_api_v5')
  File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_nrf_ble_driver_sd_api_v5'

I am using docker python 3.6

Compiling the driver for python3.8 results in same issue

Currently I am just trying to open and close adapter but pc-ble-driver-py is unable to find "_nrf_ble_driver_sd_api_v5" module

While checking the following location I am able to see a .so file for same

/usr/local/lib/python3.8/site-packages/pc_ble_driver_py-0.15.0-py3.8-linux-armv7l.egg/pc_ble_driver_py/lib/_nrf_ble_driver_sd_api_v5.so

May I know what I am missing

Kindly help

Thanks in advance,

Regards,

Sakib K

Related