hubaiz / DslrDashboardServer

DslrDashboard Server for OpenWrt
GNU General Public License v3.0
160 stars 60 forks source link

build broken with openwrt versions newer than chaos_calmer #26

Closed Soundbytes closed 6 years ago

Soundbytes commented 6 years ago

I tried to build the latest openwrt with ddserver without success so far. It built fine without the ddserver. I know that chaos calmer is recommended. I had a look at that too but did not proceed when I found that it does not support the GL-MT300N-V2. Is there any chance to get it going? I have already applied the fix #18 but that did not repair all the errors. It looks like the buildvariables that are defined in DslrDashboardServer/Makefile are not known when the DslrDashboardServer/src/Makefile is processed. when running make package/DslrDashboardServer/compile V=s I get:

g++  -c main.cpp
g++  -c communicator.cpp
g++  main.o communicator.o -o ddserver

followed by a heap of complaints about undefined references to pthread and libusb functions. A closer look at the DslrDashboardServer/src/Makefile reveals that the $(LIBS) variable from the line $(CXX) $(LDFLAGS) main.o communicator.o -o ddserver $(LIBS) is missing because it is obviously empty. I tried a crude workaround by replacing the variable with the libs definition from DslrDashboardServer/Makefile like that: $(CXX) $(LDFLAGS) main.o communicator.o -o ddserver -lgcc -lc -lusb-1.0 -lpthread -uclibc++ Now the complaints about undefined references were gone. Still it did not link because some library dependencies wre missing. I am not at all familiar with the openwrt build system. So any hints on how to solve the issue are very welcome. Thanks!

Soundbytes commented 6 years ago

I got it working. The reported error was caused by my own error. I had inserted a comment line within the define Build/Compile section and this way the definition got truncated. Please excuse the false alarm.

It seems some libraries have been renamed. So to get it compiled I had to change DslrDashboardServer/Makefile line 34 to LIBS="-lgcc -lc -lusb-1.0 -lpthread -uclibc++" \ in line 18 I have added libpthread to the dependecies list. DEPENDS:=+libusb-1.0 +libpthread +uclibcxx +libstdcpp I am not sure if this was really necessary but it also did not hurt.