hubaiz/DslrDashboardServer

build broken with openwrt versions newer than chaos_calmer

Closed this issue · 1 comments

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!

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.