Compile fails in opensuse


#1

I cloned the git repository, and the downloaded the runtime archive (and expanded it)
Tried to build and it progresses for some time but then I get this:

cmake all-recursive
make[1]: Entering directory '/home/gabriel/axoloti/platform_linux/src/dfu-util-0.8'
Making all in src
make[2]: Entering directory '/home/gabriel/axoloti/platform_linux/src/dfu-util-0.8/src'
CC main.o
In file included from main.c:34:0:
portable.h:17:17: fatal error: io.h: No such file or directory
# include
^
compilation terminated.
Makefile:330: recipe for target 'main.o' failed
make[2]: *** [main.o] Error 1
make[2]: Leaving directory '/home/gabriel/axoloti/platform_linux/src/dfu-util-0.8/src'
Makefile:289: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/gabriel/axoloti/platform_linux/src/dfu-util-0.8'
Makefile:229: recipe for target 'all' failed
make: *** [all] Error 2

Any idea how to resolve it? I repeated the procedure several times, always ends like this. I tried as administrator and as a user, same story. :frowning:

But then...
I tried compile_firmware.sh and it finished,,,
then compile_java.sh and it also finished.
!!!
Tried to runAxoloti runs !
It shows 1.0.11-15gxxxxx-dirty (where xxxx is some long number.

Do I have a properly compiled result?


#3

you dont need dfu_util unless you want to flash the board manually.
(actually we could possibly remove it, and certainly from the default build)

yes, you will get his build marked as 'dirty' as its not a true 1.0.11 build, its a dev build.
(I think you wouldn't get it if you checked out the 1.0.11 tag, but thats not recommend on this build for other reasons)


#4

Thanks. I still wonder why this is happening and whether I have a properly compiled application. It seems to work so far...


#5

I think the dfu-util compile is failing because libusb was not compiled completely. Could you try removing axoloti/platform_linux/lib/libusb-1.0.a and launching build.sh again?
Dfu-util is only relevant for a rescue flash operation, required when the normal firmware flashing procedure is interrupted. "Stock" libusb/dfu-util fail to communicate with the dfu bootloader inside the stm32f427 processor, that error is inside the processor ROM, not something I can fix. The libusb and dfu-util (statically linked to libusb) that are included in the build, contain a patch to work around the ROM bootloader issue.
The compile error won't affect anything else than the rescue flash procedure.