Could you please explain me how to do this a bit more in detail?
My snapcraft.yaml is the following up to now:
name: snap-name
version: xxxx
summary: xxxx
description: xxxx
base: core18
grade: devel
confinement: devmode
apps:
snap-name:
command: bin/snap-name
plugs: [camera,home,display-control,x11]
parts:
snap-name:
plugin: python
python-version: python3
source: .
requirements: [./requirements.txt]
stage-packages: [x11-utils,python3-tk,python3-distutils,libturbojpeg,qt5-default,qtchooser,libpng16-16,libdouble-conversion1,libdrm-dev,libegl1-mesa-dev,libgl1-mesa-dev,
libgles1,libgles2-mesa-dev,libglu1-mesa-dev,libglvnd-core-dev,libglvnd-dev, libopengl0,libpthread-stubs0-dev,libqt5concurrent5,libqt5core5a,libqt5dbus5,
libqt5gui5,libqt5network5,libqt5opengl5,libqt5opengl5-dev,libqt5printsupport5,libqt5sql5,libqt5sql5-sqlite,libqt5svg5,libqt5test5,libqt5widgets5,
libqt5xml5,libwayland-bin,libwayland-dev,libx11-dev,libx11-doc,libx11-xcb-dev,libxau-dev,libxcb-dri2-0-dev,libxcb-dri3-dev,libxcb-glx0-dev,
libxcb-present-dev,libxcb-randr0-dev,libxcb-render0-dev,libxcb-shape0-dev,libxcb-sync-dev,libxcb-xfixes0-dev,libxcb-xinerama0,libxcb1-dev,libxdamage-dev,
libxdmcp-dev,libxext-dev,libxfixes-dev,libxshmfence-dev,libxxf86vm-dev,mesa-common-dev,qt5-gtk-platformtheme,qt5-qmake,qt5-qmake-bin,qtbase5-dev,
qtbase5-dev-tools,qttranslations5-l10n,x11proto-core-dev,x11proto-damage-dev,x11proto-dev,x11proto-fixes-dev,x11proto-xext-dev,x11proto-xf86vidmode-dev,
xorg-sgml-doctools,xtrans-dev]
In the stage-packages of the python plugin I should have put all the apt packages that the camera installation procedure installs.
The content of the folder where the missing library is placed is the following ($ ls -l):
drwxr-xr-x 2 root root 4096 Mar 24 14:58 GenICam
lrwxrwxrwx 1 root root 17 Mar 24 14:58 libStApi_C.so -> libStApi_C.so.1.1
lrwxrwxrwx 1 root root 19 Mar 24 14:58 libStApi_C.so.1.1 -> libStApi_C.so.1.1.2
-rwxr-xr-x 1 root root 1111160 Mar 24 14:58 libStApi_C.so.1.1.2
lrwxrwxrwx 1 root root 22 Mar 24 14:58 libStApi_GUI_qt.so -> libStApi_GUI_qt.so.1.1
lrwxrwxrwx 1 root root 24 Mar 24 14:58 libStApi_GUI_qt.so.1.1 -> libStApi_GUI_qt.so.1.1.2
-rwxr-xr-x 1 root root 2170136 Mar 24 14:58 libStApi_GUI_qt.so.1.1.2
lrwxrwxrwx 1 root root 18 Mar 24 14:58 libStApi_IP.so -> libStApi_IP.so.1.1
lrwxrwxrwx 1 root root 20 Mar 24 14:58 libStApi_IP.so.1.1 -> libStApi_IP.so.1.1.2
-rwxr-xr-x 1 root root 2279864 Mar 24 14:58 libStApi_IP.so.1.1.2
lrwxrwxrwx 1 root root 18 Mar 24 14:58 libStApi_TL.so -> libStApi_TL.so.1.1
lrwxrwxrwx 1 root root 20 Mar 24 14:58 libStApi_TL.so.1.1 -> libStApi_TL.so.1.1.2
-rwxr-xr-x 1 root root 721016 Mar 24 14:58 libStApi_TL.so.1.1.2
lrwxrwxrwx 1 root root 17 Mar 24 14:58 libstgentl.cti -> libstgentl.so.1.5
lrwxrwxrwx 1 root root 17 Mar 24 14:58 libstgentl.so -> libstgentl.so.1.5
lrwxrwxrwx 1 root root 19 Mar 24 14:58 libstgentl.so.1.5 -> libstgentl.so.1.5.0
-rwxr-xr-x 1 root root 737016 Mar 24 14:58 libstgentl.so.1.5.0
lrwxrwxrwx 1 root root 15 Mar 24 14:58 libusb-1.0.so -> libusb-1.0.so.0
lrwxrwxrwx 1 root root 19 Mar 24 14:58 libusb-1.0.so.0 -> libusb-1.0.so.0.2.0
-rwxr-xr-x 1 root root 148136 Mar 24 14:58 libusb-1.0.so.0.2.0
And its GenICam subfolder has these things:
-rwxr-xr-x 1 root root 872056 Mar 24 14:58 libFirmwareUpdate_gcc48_v3_2.so
lrwxrwxrwx 1 root root 31 Mar 24 14:58 libFirmwareUpdate.so -> libFirmwareUpdate_gcc48_v3_2.so
-rwxr-xr-x 1 root root 101696 Mar 24 14:58 libGCBase_gcc48_v3_2.so
lrwxrwxrwx 1 root root 23 Mar 24 14:58 libGCBase.so -> libGCBase_gcc48_v3_2.so
-rwxr-xr-x 1 root root 4921136 Mar 24 14:58 libGenApi_gcc48_v3_2.so
lrwxrwxrwx 1 root root 23 Mar 24 14:58 libGenApi.so -> libGenApi_gcc48_v3_2.so
-rwxr-xr-x 1 root root 291304 Mar 24 14:58 liblog4cpp_gcc48_v3_2.so
lrwxrwxrwx 1 root root 24 Mar 24 14:58 liblog4cpp.so -> liblog4cpp_gcc48_v3_2.so
-rwxr-xr-x 1 root root 23040 Mar 24 14:58 libLog_gcc48_v3_2.so
lrwxrwxrwx 1 root root 20 Mar 24 14:58 libLog.so -> libLog_gcc48_v3_2.so
-rwxr-xr-x 1 root root 51800 Mar 24 14:58 libMathParser_gcc48_v3_2.so
lrwxrwxrwx 1 root root 27 Mar 24 14:58 libMathParser.so -> libMathParser_gcc48_v3_2.so
-rwxr-xr-x 1 root root 109576 Mar 24 14:58 libNodeMapData_gcc48_v3_2.so
lrwxrwxrwx 1 root root 28 Mar 24 14:58 libNodeMapData.so -> libNodeMapData_gcc48_v3_2.so
-rwxr-xr-x 1 root root 1428640 Mar 24 14:58 libXmlParser_gcc48_v3_2.so
lrwxrwxrwx 1 root root 26 Mar 24 14:58 libXmlParser.so -> libXmlParser_gcc48_v3_2.so
The missing library is used by the following import that is used inside the Python code that the snap executes (I put its .whl file inside the requirements.txt, since can be installed with pip):
import stapipy