Closed monkeypants closed 7 years ago
I should mention:
"maverick_mavlink::mavproxy_source": "http://github.com/monkeypants/mavproxy.git"
is currently identical to http://github.com/ArduPilot/MAVProxy.git
, so this is not some weird artefact of my doingpip install Gooey
worked, maverick configure
almost also ran to completion without errors ;-)It got past wxpython and Gooey, and barfed on:
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: running build_ext
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: building 'cuav.camera.chameleon' extension
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: creating build/temp.linux-armv7l-2.7
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: creating build/temp.linux-armv7l-2.7/cuav
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: creating build/temp.linux-armv7l-2.7/cuav/camera
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-9xgeTe/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -Icuav/camera/include -I/usr/include/python2.7 -c cuav/camera/chameleon_py.c -o build/temp.linux-armv7l-2.7/cuav/camera/chameleon_py.o -std=gnu99 -O3 -mfpu=neon -O0
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1788:0,
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: from cuav/camera/chameleon_py.c:3:
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: #warning "Using deprecated NumPy API, disable it by " \
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: ^~~~~~~
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: In file included from cuav/camera/chameleon_py.c:7:0:
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: cuav/camera/include/chameleon.h:30:31: fatal error: libusb-1.0/libusb.h: No such file or directory
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: #include <libusb-1.0/libusb.h>
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: ^
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: compilation terminated.
Notice: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
Error: '/usr/bin/python setup.py install' returned 1 instead of one of [0]
Error: /Stage[main]/Maverick_mavlink/Exec[compile-cuav]/returns: change from 'notrun' to ['0'] failed: '/usr/bin/python setup.py install' returned 1 instead of one of [0]
Notice: Applied catalog in 7679.47 seconds
-------------------------
WARNING: If this is the first bootstrap run, please reboot NOW to activate system changes.
If system is not rebooted after first bootstrap run, further runs may not work as expected.
After reboot, login as 'mav' user - default password is 'wingman'
-------------------------
Maverick finished, happy flying :)
that looks like it might be an easy one...
after sudo apt-get install libusb-1.0-0-dev
, then maverick configure
ran to the end without throwing any errors.
I suppose maybe somewhere near line 311 of manifests/maverick-modules/maverick_mavlink/manifests/init.pp
there should be something like this:
} elsif $::operatingsystem == "Raspbian" {
ensure_packages(["libdc1394-22-dev", "libturbojpeg-dev", "python-wxgtk3.0", "libusb-1.0-0-dev", 'dpkg-dev', 'build-essential', 'python2.7-dev', 'libjpeg-dev', 'libtiff-dev', 'libsdl1.2-dev', 'libnotify-dev', 'freeglut3', 'freeglut3-dev', 'libsm-dev', 'libgtk2.0-dev', 'libwebkitgtk-dev', 'libwebkitgtk-3.0-dev', 'libgstreamer-plugins-base1.0-dev'])
}
I'm getting the same thing rebuilding an ubuntu VM, it must be something they've changed in gooey. (that's not something you hear yourself say every day)
I think maybe this commit from August 8 might be the culprit. It pinned Gooey to version 4.0.0b1
(Phoenix), I think that is not available as a wheel, so it needs to be compiled, so it has those deps.
Added facility to install exact pip version in #604, set gooey dependency to 0.9.2.3 by default which only needs wxpython3, which is installed as a dpkg and much faster/easier. wxpython4 has a much larger dependency chain, which is needed by gooey 0.9.3. maverick_mavlink::gooey_version localconf parameter can be changed to specify the gooey version.
Added code to set correct dependencies if gooey >= 0.9.3 specified, so it does install if specified.
Re: above, it seems we tripped over this at the same time as @stephendade over in the cuav repo. His fix was to pin gooey rather than install deps to build it.
this gyst is my output of failed
maverick configure
with this localconf.json on a rpi3/raspbian-lite:In attempt to debug this, I also tried to
pip install Gooey
from the CLI. It failed thusThis looks like maybe a GL problem (headers not found), so I manually
sudo apt-get install freeglut3-dev
and tried again. This time pip started building wxpython and took ages to fail.I note on the Gooey README that they recommend
I don't want to believe that (downloading is not the problem, it downloaded fine). The how to build phoenix page on the wxWidgets site gave the following list of dependencies, which I installed with apt-get:
(I added them all, including the last 3. Probably didn't need to install the 0.10 gstreamer as well)
So then I tried again with
pip install Gooey
and this time, eventually ...I lack the puppet-fu to declare those OS packages are required if you want cuav installed on a rpi, otherwise I would make a PR.