Skip to content

Known issues#

This page describes known issues, related to LUNA SDK.

Astra Linux#

Startup error#

Applies to LUNA SDK v.5.26.0 and earlier.

This section provides a step-by-step guide to resolving the issue with the execstack tool, using the FingerprintViewer application as an example.

The FingerprintViewer application has compatibility issues on Astra Linux because some LUNA SDK shared libraries have the executable stack flag. This flag causes issues on secure operating systems like Astra Linux, which do not allow executable stacks by default.

To fix this, you can remove the executable stack flag from the affected libraries using the execstack tool:

1. Install execstack.

Astra Linux does not include execstack in its standard repositories. To obtain it, you can download the .deb package from Debian's official repository.

1.1. Download the package:

wget http://ftp.ru.debian.org/debian/pool/main/p/prelink/execstack_0.0.20131005-1+b10_amd64.deb

Example output:

--2025-03-03 11:09:39--  http://ftp.ru.debian.org/debian/pool/main/p/prelink/execstack_0.0.20131005-1+b10_amd64.deb
Resolving ftp.ru.debian.org (ftp.ru.debian.org)... 85.143.112.112
Connecting to ftp.ru.debian.org (ftp.ru.debian.org)|85.143.112.112|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 88380 (86K) [application/octet-stream]
Saving to: ‘execstack_0.0.20131005-1+b10_amd64.deb’

execstack_0.0.20131005-1+b10_amd64.deb   100%[================================================================>]   86.31K  --.-KB/s    in 0.003s  

2025-03-03 11:09:39 (28.6 MB/s) - ‘execstack_0.0.20131005-1+b10_amd64.deb’ saved [88380/88380]

1.2. Install the package:

sudo apt install ./execstack_0.0.20131005-1+b10_amd64.deb

Example output:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'execstack' instead of './execstack_0.0.20131005-1+b10_amd64.deb'
execstack is already the newest version (0.0.20131005-1+b10).
Updated 0 packages, installed 0 new packages, marked 0 for removal, and left 0 unchanged.

2. Identify libraries with executable stack flags.

2.1. Navigate to the directory containing the LUNA SDK shared libraries being used. For example:

cd ~/luna-sdk_astra_se_rel_v.X.X.X/lib/gcc4/x64

2.2. Run the execstack command to check for libraries with the executable stack flag:

execstack *

Libraries marked with X have the executable stack flag set and require modification:

- libcublasLt.so
- libcublasLt.so.11
- libcublasLt.so.11.6.5.2
- libcublas.so
- libcublas.so.11
- libcublas.so.11.6.5.2
- libcudnn_cnn_infer.so
- libcudnn_cnn_infer.so.8
- libcudnn_cnn_infer.so.8.9.0
- libcudnn_ops_infer.so
- libcudnn_ops_infer.so.8
- libcudnn_ops_infer.so.8.9.0
- libcudnn.so
- libcudnn.so.8
- libcudnn.so.8.9.0
X libFaceEngineSDK.so
X libFaceEngineSDK.so.5
X libFaceEngineSDK.so.5.23
X libflower.so
- libLivenessEngineSDK.so
- libLivenessEngineSDK.so.1
- libLivenessEngineSDK.so.1.0
- libMatchingKernel.so
- libMatchingKernel.so.0
- libMatchingKernel.so.0.0
X libTrackEngineSDK.so
X libTrackEngineSDK.so.0
X libTrackEngineSDK.so.0.0
X libvlTracker.so

3. Remove executable stack flags.

For each library marked with X, use the execstack tool to clear the executable stack flag:

execstack -c <library_name>

Example commands:

execstack -c libFaceEngineSDK.so
execstack -c libFaceEngineSDK.so.5
execstack -c libFaceEngineSDK.so.5.23
execstack -c libflower.so
execstack -c libTrackEngineSDK.so
execstack -c libTrackEngineSDK.so.0
execstack -c libTrackEngineSDK.so.0.0
execstack -c libvlTracker.so

4. Verify changes.

After clearing the flags, verify that all shared libraries are free of the executable stack flag:

execstack *

Expected output after fixing:

- libcublasLt.so
- libcublasLt.so.11
- libcublasLt.so.11.6.5.2
- libcublas.so
- libcublas.so.11
- libcublas.so.11.6.5.2
- libcudnn_cnn_infer.so
- libcudnn_cnn_infer.so.8
- libcudnn_cnn_infer.so.8.9.0
- libcudnn_ops_infer.so
- libcudnn_ops_infer.so.8
- libcudnn_ops_infer.so.8.9.0
- libcudnn.so
- libcudnn.so.8
- libcudnn.so.8.9.0
- libFaceEngineSDK.so
- libFaceEngineSDK.so.5
- libFaceEngineSDK.so.5.26
- libflower.so
- libLivenessEngineSDK.so
- libLivenessEngineSDK.so.1
- libLivenessEngineSDK.so.1.0
- libMatchingKernel.so
- libMatchingKernel.so.0
- libMatchingKernel.so.0.0
- libnppc.so
- libnppc.so.11
- libnppc.so.11.4.0.110
- libnppicc.so
- libnppicc.so.11
- libnppicc.so.11.4.0.110
- libnppidei.so
- libnppidei.so.11
- libnppidei.so.11.4.0.110
- libTrackEngineSDK.so
- libTrackEngineSDK.so.0
- libTrackEngineSDK.so.0.0
- libvlTracker.so

All libraries should now display a - instead of X, indicating that the executable stack flag has been successfully removed.

5. Test FingerprintViewer.

After completing the above steps, launch the FingerprintViewer application. If the issue was caused by the executable stack flag, the application should now start without errors.