LibrePilot Forum
Development => Firmware General => Topic started by: kaycekwan on January 30, 2018, 01:23:34 pm
-
Tried to build the GCS package, but continuously getting Error 2816, even I started every thing from fresh (install msys2, mingw, clone, make, etc.):
kckwan@ADMINIB-RSG8BD7 MINGW64 ~/librepilot
$ make package
Info: creating stash file H:\msys64_\home\kckwan\librepilot\build\uavobjgenerator\.qmake.stash
H:/msys64_/mingw64/bin/mingw32-make -f Makefile.Release
compiling ../../ground/uavobjgenerator/main.cpp
compiling ../../ground/uavobjgenerator/uavobjectparser.cpp
compiling ../../ground/uavobjgenerator/generators/generator_io.cpp
compiling ../../ground/uavobjgenerator/generators/java/uavobjectgeneratorjava.cpp
compiling ../../ground/uavobjgenerator/generators/flight/uavobjectgeneratorflight.cpp
compiling ../../ground/uavobjgenerator/generators/arduino/uavobjectgeneratorarduino.cpp
compiling ../../ground/uavobjgenerator/generators/gcs/uavobjectgeneratorgcs.cpp
compiling ../../ground/uavobjgenerator/generators/matlab/uavobjectgeneratormatlab.cpp
compiling ../../ground/uavobjgenerator/generators/python/uavobjectgeneratorpython.cpp
compiling ../../ground/uavobjgenerator/generators/wireshark/uavobjectgeneratorwireshark.cpp
compiling ../../ground/uavobjgenerator/generators/generator_common.cpp
linking uavobjgenerator.exe
mingw32-make: *** [H:/msys64_/home/kckwan/librepilot/flight/Makefile:265: flight_uavobjects] Error 2816
kckwan@ADMINIB-RSG8BD7 MINGW64 ~/librepilot
$
(Remark: I can build the GCS package previously.)
-
Msys pushed a broken binutils. See https://github.com/Alexpux/MINGW-packages/issues/3330.
They have since downgraded to the last good one.
You'll need to run 'pacman -Suuy' to fix your msys install and do a clean build of LibrePilot.
-
After <pacman -Suuy>, <make all_clean>, <make package> didn't give Error 2816 but Error 2:
mingw32-make: *** [Makefile:308: gcs] Error 2
As in https://forum.librepilot.org/index.php?topic=4044.0 (https://forum.librepilot.org/index.php?topic=4044.0) changed ~librepilot/Makefile to:
else ifeq ($(UNAME), Windows)
UAVOBJGENERATOR := $(BUILD_DIR)/uavobjgenerator/uavobjgenerator.exe
GCS_WITH_OSG := 1
GCS_WITH_OSGEARTH := 0 <<<< changed from 1 to 0
GCS_COPY_OSG := 1
GCS_WITH_GSTREAMER := 1
GCS_COPY_GSTREAMER := 1
endif
finally it compiled ok (but with a dirty word.)
LibrePilot-16.09+r589-g4c9c3c2-dirty_x86_64.exe
Thanks.
-
Glad you got it working.
Msys2 is a moving target, always pushing newer versions of libraries.
So things are sometimes broken (like osgearth currently).
As for the 'dirty' in the package name it indicates that your git clone contains uncommitted changes.
-
And no problem to generate the installer?
I have this:
makensis -V3 \
-DORG_BIG_NAME='LibrePilot' \
-DGCS_BIG_NAME='LibrePilot GCS' \
-DGCS_SMALL_NAME='librepilot-gcs' \
-DPACKAGE_LBL='16.09+r550-g213893e-dirty' \
-DVERSION_FOUR_NUM='16.09.0.64550' \
-DOUT_FILE='D:\msys64\home\sam\librepilot\librepilot\build\LibrePilot-16.09+r550-g213893e-dirty_x86_64.exe' \
-DPROJECT_ROOT='D:\msys64\home\sam\librepilot\librepilot' \
-DGCS_BUILD_TREE='D:\msys64\home\sam\librepilot\librepilot\build\librepilot-gcs_release' \
-DUAVO_SYNTH_TREE='D:\msys64\home\sam\librepilot\librepilot\build\uavobject-synthetics' \
-DW64 \
D:/msys64/home/sam/librepilot/librepilot/package/winx86/gcs.nsi
process_begin: CreateProcess(NULL, makensis -V3 -DORG_BIG_NAME=LibrePilot "-DGCS_BIG_NAME=LibrePilot GCS" -DGCS_SMALL_NAME=librepilot-gcs -DPACKAGE_LBL=16.09+r550-g213893e-dirty -DVERSION_FOUR_NUM=16.09.0.64550 -DOUT_FILE=D:\msys64\home\sam\librepilot\librepilot\build\LibrePilot-16.09+r550-g213893e-dirty_x86_64.exe -DPROJECT_ROOT=D:\msys64\home\sam\librepilot\librepilot -DGCS_BUILD_TREE=D:\msys64\home\sam\librepilot\librepilot\build\librepilot-gcs_release -DUAVO_SYNTH_TREE=D:\msys64\home\sam\librepilot\librepilot\build\uavobject-synthetics -DW64 D:/msys64/home/sam/librepilot/librepilot/package/winx86/gcs.nsi, ...) failed.
make (e=2): The system cannot find the file specified.
mingw32-make: *** [D:/msys64/home/sam/librepilot/librepilot/package/Windows.mk:33: D:/msys64/home/sam/librepilot/librepilot/build/LibrePilot-16.09+r550-g213893e-dirty_x86_64.exe] Error 2
It seems it's looking for LibrePilot-16.09+r550-g213893e-dirty_x86_64.exe while librepilot-gcs.exe
was generated.
-
As I knew what I have changed in the code, I used the .exe generated (with a dirty word) to install and start. It starts and works alright, though I haven't yet tested each of the function of GCS.
-
All good on my side, I figured it out.