Rebuilt libde_rest_plugin.so not seen by deCONZ app

(If it is not the right category for this topic, please let me know where is best to ask the question)
Context: I’m trying to add a new device to the rest API (T0601 Essentials).
I’m currently using deconz Docker container (marthoc/docker-deconz) with no issues
I compiled the modified libde_rest_plugin.so according to the instructions, but when I replace it inside marthoc/docker-deconz container, the modified plugin is not loaded. So i tried to recompile the plugin without modifiying the source code, but the issue is still there.

Steps to reproduce the behavior

  1. Cloned deconz-rest-plugins repo
  2. Selected v2.12.6 tag
  3. Created the libde_rest_plugin.so plugin using a containerized debian buster setup, to duplicate exactly the needed environment, following the readme
  4. Built a docker-deconz image replacing the original libde_rest_plugin.so with the one just compiled.
  5. Runnig the docker-deconz container, the logs are the following: (note the absence of libde_rest_plugin.so)
deconz           | 13:34:33:910 ZCLDB init file /root/.local/share/dresden-elektronik/deCONZ/zcldb.txt
deconz           | 13:34:34:212 found node plugin: libde_signal_plugin.so - Signal Monitor Plugin
deconz           | 13:34:35:063 found node plugin: libstd_otau_plugin.so - STD OTAU Plugin
deconz           | 13:34:37:883 Device firmware version 0x26720700 ConBee II

Expected behavior

In logs, I expected to see this (The normal behavior)

deconz           | 13:23:22:606 found node plugin: libde_rest_plugin.so - REST API Plugin
deconz           | 13:23:22:608 found node plugin: libde_signal_plugin.so - Signal Monitor Plugin
deconz           | 13:23:23:456 found node plugin: libstd_otau_plugin.so - STD OTAU Plugin

Environment

deconz | [marthoc/deconz] Current deCONZ version: 2.12.06
deconz | 13:34:37:883 Device firmware version 0x26720700 ConBee II

  • Host system: NAS
  • Running method: Marthoc Docker container
  • Firmware version: (26720700)
  • deCONZ version: (2.12.06)
  • Device: ConBee II
  • Do you use an USB extension cable: yes
  • Is there any other USB or serial devices connected to the host system? No

deCONZ Logs

deconz           | [marthoc/deconz] NOVNC port: 6080
deconz           | QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
deconz           | libpng warning: iCCP: known incorrect sRGB profile
deconz           | libpng warning: iCCP: known incorrect sRGB profile
deconz           | 13:34:33:556 HTTP Server listen on address 0.0.0.0, port: 80, root: /usr/share/deCONZ/webapp/
deconz           | 13:34:33:910 ZCLDB init file /root/.local/share/dresden-elektronik/deCONZ/zcldb.txt
deconz           | 13:34:34:212 found node plugin: libde_signal_plugin.so - Signal Monitor Plugin
deconz           | 13:34:35:063 found node plugin: libstd_otau_plugin.so - STD OTAU Plugin
deconz           | 13:34:37:883 Device firmware version 0x26720700 ConBee II

Additional context

If I rebuild the docker-deconz image, exactly as I described above but simply not replacing the libde_rest_plugin.so file, the plugin is detected. I made sure that the file was executable and running ldd shows no issues. I tried to set up debug_info to 2, but in logs I saw no indication of why the plugin was not found/loaded. Being able to see the reason would be great :slight_smile:

The deCONZ version used in the marthoc/deconz container is compiled on minimal supported Raspbian version Stretch (the Buster is currently only in the APT repositories). I guess since the plugin is compiled with a newer Qt version this might make problems.

If you compile with the following docker version it should work:

FROM balenalib/rpi-raspbian:stretch

I understand the hint, but I guess that this image will not fit my needs, as I’m on amd64 arch.

Ah sorry, yes in that case it should be:

FROM ubuntu:16.04

This is the one used to build the deCONZ version for amd64 arch for the marthoc/deconz container.

Thanks for the hint; I played around a bit with the libraries and I’ve been able to compile the current beta version and build a docker image that works. Indeed, it was a difference in libraries between the deconz app container and the container I used to build the plugin.
Thanks again!