Cryptlex Forums

LexActivator wrapper for Python: error loading lib on ARM architecture

T
tcosta465

Hi,
The LexActivator wrapper for Python raises the following exception when loading on an ARM computer:

OSError: /usr/local/lib/python3.7/site-packages/cryptlex/lexactivator/libs/linux/gcc/x86/libLexActivator.so: cannot open shared object file: No such file or directory

Looking at the code on GitHub, it seems it only supports x86 and x86_64…?

def get_library_path():
    compiler = 'gcc'
    arch = 'x86'
    if(is_os_64bit()):
        arch = 'x86_64'
    # Get the working directory of this file
    filename = inspect.getframeinfo(inspect.currentframe()).filename
    dir_path = os.path.dirname(os.path.abspath(filename))
    # dir_path = os.getcwd()
    if sys.platform == 'darwin':
        return os.path.join(dir_path, "libs/macos/"+arch+"/libLexActivator.dylib")
    elif sys.platform == 'linux':
        if(is_musl()):
            compiler = 'musl'
        return os.path.join(dir_path, "libs/linux/"+compiler+"/"+arch+"/libLexActivator.so")
    elif sys.platform == 'win32':
        return os.path.join(dir_path, "libs/win32/"+arch+"/LexActivator.dll")
    else:
        raise TypeError("Platform not supported!")

Thanks,
Tiago

A
Adnan KamiliCryptlex team

Hi Tiago,

We have added support for the same now in the latest version.

Regards,
Adnan

T
tcosta465

Hi Adnan,

Thanks, now it loads.

However, when activating the licence offline, it returns the following error:
Machine fingerprint has changed since activation.

But, despite the error, the licence seems to be activated, as LexActivator.IsLicenseGenuine() returns LA_OK.

We’ve never seen this behaviour before. Can it be related to be running of an ARM computer?

Thanks,
Tiago

T
tcosta465

Hi again,

After a few more tests to try to debug it, we found out that, despite the licence seems to be activated after we try to activate it offline and get that error message, as soon as we restart the application, IsLicenseGenuine() starts returning FAIL.

Thanks,
Tiago

A
Adnan KamiliCryptlex team

Hi,

This behaviour is intended. You need to provide a new offline request/response file.

T
tcosta465

Hi Adnan,

Yes, we have done that. But in no way we’ve managed to activate the licence.

Thanks,
Tiago

A
Adnan KamiliCryptlex team

Hi,

I guess you are using an old offline request. You need to generate a new offline request.

Regards,
Adnan

T
tcosta465

Hi Adnan,

This problem still prevails and is preventing us to use LexActivator on a RaspberryPi. In summary:

  • When activating a licence offline, lexactivator returns error “Machine fingerprint has changed since activation”;
  • besides the error message, following calls to IsLicenseGenuine() return OK;
  • however, after restarting the application, IsLicenseGenuine() always returns FAIL.

We’ve tried with a brand new software installation and a brand new licence. The behaviour is always the same.

Is anyone else using the Python lib on an ARM architecture?

Thank you,
Tiago

A
Adnan KamiliCryptlex team

Hi Tiago,

Python wrapper internally calls the C library functions, and we have many customers using it on the ARM machines.

The issue in your case is with fingerprinting. The device fingerprint is not stable and fails on the fuzzy match. Can you share the license key on support@cryptlex.com so that we can investigate the fingerprint issue.

Regards,
Adnan

← Back to all topics · 9 posts · 1482 views · opened 2019-12-30