Open blaze124 opened 1 year ago
Even with the latest 2.9.4.0 version, in Ubuntu 22.04 you have to use the LD_PRELOAD trick
With SDK prior to 2.9.4.0 in Ubuntu 20.04:
LD_PRELOAD=/usr/lib/x8664-linux-gnu/libcrypto.so.1.1 ./yourLinuxApp_
With SDK 2.9.4.0 in Ubuntu 22.04:
LD_PRELOAD=/usr/lib/x8664-linux-gnu/libcrypto.so.3 ./yourLinuxApp_
We are developing a console application in .net 7 which can be executed in windows and linux environments for managing devices.
One of our desired functionalities is upgrading the firmware using an API endpoint.
In windows we have no problems and everything runs fine, but when we execute our app in linux we get this error:
_symbol lookup error: /my_folder/libBS_SDK_V2.dll.so: undefined symbol: BIO_new_membuf
It happens when we make this call:
result = (BS2ErrorCode)API.BS2_UpgradeFirmware(GlobalValues.sdkContext, (uint)deviceId, fwData, fwDataLen, 0, null!);
The whole function, is this:
`public int UpgradeFirmware(int deviceId) { BS2SimpleDeviceInfo info = Util.AllocateStructure();