CMake seems to build stuff just fine but then cpack can’t find what it wants. For example it’s looking for GCFFlasher but the linux directory doesn’t have a bin dir:
ellen% cpack -G "DEB;TGZ" .
cpack -G "DEB;TGZ" .
CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: deCONZ
CPack: - Install project: deCONZ []
CMake Error at /home/sandra/skami/dl/deconz/build/cmake_install.cmake:46 (file):
file INSTALL cannot find
"/home/sandra/skami/dl/deconz/linux/deCONZ/usr/bin/GCFFlasher_internal": No
such file or directory.
Am I using the wrong repo…?
Is there an older, a li’l more battle-tested version
@Sandra I’d recommend to work with the precompiled packages available for download on the DE servers or on the deconz rest api repo, unless you have a very specific reason to actually compile it.
Btw, you are trying to build the core and not the REST API plugin. The music plays on the latter and this is why the most relevant changes typically happen there. I haven’t compiled the full deconz stack myself yet, so I wouldn’t even be able to tell what exactly the error means and if there are any further prerequsites for success.
The REST api repo did get pulled in as a submodule and compiled but the deb package cpack wouldn’t build since it expects to find the firmware flasher there that doesn’t get compiled.
If all I have to recourse to are my own devices I’ll go dig into CMake docs to try to figure this out but—especially since I thought it was strange that the git repo had no tags, branches, and only two days of commits—I thought I’d check in here to see if I’m missing something obvious in how people are building this. CMake stuff is often pretty tricky to figure out.
I now realize some folks are installing binaries on their machine and I’m happy for them but having a build stack available is one reason I went with the Conbee II in the first place; for security and to be able to make tweaks and changes and send patches.
I managed to build and install the package by removing this part from build/cmake_install.cmake:
if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE PROGRAM FILES
"/home/sandra/skami/dl/deconz/linux/deCONZ/usr/bin/GCFFlasher_internal"
"/home/sandra/skami/dl/deconz/linux/deCONZ/usr/bin/GCFFlasher_internal.bin"
)
endif()
and changing
cpack -G "DEB;TGZ" .
to
cpack -G "DEB" .
since the TGZ builder needs inappropriate permissions.