Git Product home page Git Product logo

rpi-buildqt's Introduction

Cross compiling QT width piomxtextures

Based on https://wiki.qt.io/RaspberryPi2EGLFS, https://thebugfreeblog.blogspot.com and https://github.com/raspberrypi/tools

Notes

  • Uses the arm-rpi-4.9.3-linux-gnueabihf toolchain
  • Tested only on RPi 3 (but should support pi1/pi2 just fine)
  • Tested on clean Ubuntu 16.04 (64 bit) as host and clean Raspbian Jessie Lite 2017-01-11 on device
  • Make sure to use 64 bit host OS as that's what the used toolchain is built for
  • To use the toolchain once downloaded you must run source env.sh first to setup environment variables.

Guide

  1. on host install tools and clone this repo
    # install tools
    sudo apt-get install build-essential sshpass git python pkg-config
    
    # clone this repo
    mkdir -p ~/raspi
    cd ~/raspi
    git clone https://github.com/Kukkimonsuta/rpi-buildqt.git .
    
    # add executable permissions (this may not be required)
    chmod +x scripts/0_init.sh
    ./scripts/0_init.sh
  2. update values in env.sh (RPIDEV_DEVICE_* and optionally other settings)
  3. prepare RPi (ideally use clean 'RASPBIAN JESSIE LITE' image)
    # change gpu memory to 256 MB
    sudo raspi-config
    
    # uncomment deb-src line
    sudo nano /etc/apt/sources.list
    
    # install qt dependencies
    sudo apt-get update
    sudo apt-get build-dep qt4-x11
    sudo apt-get build-dep libqt5gui5
    sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 libsmbclient-dev libssh-dev libv4l-dev libboost1.55-all-dev libbz2-dev
    
    # remove gstreamer
    sudo apt-get purge *gstreamer*
    
    # fix old egl
    sudo rm /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
    sudo ln -s /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0
    sudo ln -s /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
    
    # create qt install dir (must be at the path `QT_DEVICE_DIR`, owned by user `RPIDEV_DEVICE_USER` defined in `env.sh`)
    sudo mkdir -p /usr/local/qt5.8
    sudo chown pi:pi /usr/local/qt5.8
    
    # register the lib directory in ld
    echo /usr/local/qt5.8/lib | sudo tee /etc/ld.so.conf.d/qt5.8.conf
  4. run 1_download.sh, this will download all required repositories
  5. run 2_sync.sh, this will connect to RPi and creates a sysroot for crosscompilation
  6. run 3.0_build_qtbase.sh, this will build and install qtbase
  7. run 3.*_build_*.sh, this will build and install modules for qt. Feel free to add more from https://github.com/qt
  8. run 4_build_piomxtextures.sh, this will build and install piomxtextures
  9. run 5_sync_to_device.sh, this will copy qt5 to the device
  10. on RPi run ldconfig
    sudo ldconfig
    
  11. ~/piomxtextures_pocplayer /opt/vc/src/hello_pi/hello_video/test.h264

rpi-buildqt's People

Contributors

kukkimonsuta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rpi-buildqt's Issues

Faster cloning

by adding --depth 1 to your cloneOrPull function

git clone  $1 $2 -b $3 --depth 1

Feedback for pi 2

Compiled successfully for a raspberry pi 2. I had to restart compilation from a clean ~/raspi directory.

Tried to run piomxtextures_pocplayer :

pi@raspberrypi:~ $ export QT_LOGGING_RULES=qt.qpa.*=true
pi@raspberrypi:~ $ ~/piomxtextures_pocplayer /opt/vc/src/hello_pi/hello_video/test.h264
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_emu")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_emu")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
qt.qpa.input: libinput: input device 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event1 is tagged by udev as: Keyboard
qt.qpa.input: libinput: input device 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event1 is a keyboard
qt.qpa.input: libinput: input device 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event2 is tagged by udev as: Keyboard
qt.qpa.input: libinput: input device 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event2 is a keyboard
qt.qpa.input: libinput: input device ' USB OPTICAL MOUSE', /dev/input/event0 is tagged by udev as: Mouse
qt.qpa.input: libinput: input device ' USB OPTICAL MOUSE', /dev/input/event0 is a pointer caps
qt.qpa.input: X-less xkbcommon not available, not performing key mapping
15:35:00.840 INFO:       Showing media: /opt/vc/src/hello_pi/hello_video/test.h264.
15:35:00.842 VERB:       Can't find extension for .
15:35:00.842 VERB:       Can't find extension for image/svg+xml-compressed.
15:35:00.842 VERB:       Can't find extension for image/vnd.microsoft.icon.
15:35:00.843 VERB:       Unrecognized media: assuming video.
15:35:00.843 VERB:       Setting media source...
15:35:00.986 WARN:       Warning: "Jack server not found"
15:35:00.990 WARN:       Warning: "No decoder available for type 'video/x-h264, stream-format=(string)byte-stream'."
15:35:00.991 VERB:       Stopped signal received!
15:35:00.996 WARN:       Error: "Your GStreamer installation is missing a plug-in."

These warnings should be documented :

Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).

For the official touch screen (doc), solution may be to :

export QT_QPA_EGLFS_PHYSICAL_WIDTH=154
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=86

For the others, I don't have any idea yet.

New opengl drivers makes applications to fail starting

Hi,
In raspi-config, when activating the new OpenGL driver, the Qt applications does not start anymore. The error message is * failed to add service - already in use?.
There are 3 possible choices : full, fake or legacy. Only the legacy works, others show error message.

ld.gold does not find crt1.o crti.o crtn.o on Ubuntu 64bit with pi3

/home/markus/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=/home/markus/raspi/sysroot -O2 -std=gnu++11 -Wall -W -fPIC -I. -I/home/markus/raspi/src/qtbase/mkspecs/devices/linux-rpi3-g++ -o verifyspec.o verifyspec.cpp
/home/markus/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/home/markus/raspi/sysroot/opt/vc/lib -Wl,-rpath-link,/home/markus/raspi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/markus/raspi/sysroot/lib/arm-linux-gnueabihf -mfloat-abi=hard --sysroot=/home/markus/raspi/sysroot -Wl,-O1 -fuse-ld=gold -o verifyspec verifyspec.o
/usr/bin/arm-linux-gnueabihf-ld.gold: error: cannot open crt1.o: No such file or directory
/usr/bin/arm-linux-gnueabihf-ld.gold: error: cannot open crti.o: No such file or directory
/usr/bin/arm-linux-gnueabihf-ld.gold: error: cannot open crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
Makefile:65: recipe for target 'verifyspec' failed
make: *** [verifyspec] Error 1
Note: Also available for Linux: linux-clang linux-kcc linux-icc linux-cxx

ERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.

I have checked and the files are all in the /home/markus/sysroot/usr/lib/arm-linux-gnueabihf
how can i fix this ?

rights missing, ERROR crt1.so

Hi,
i have tested your work an found some problems with Linux Mint 18.1 (64-Bit) and RPi2.
(1.)

  • 2_sync.sh - "fix links"
    the script have no execute rights. at this part, the script is exiting
  • when you sync the pi an the show you issue (starting the 2_sync.sh from the terminal) like, "rsync cant read /usr/.......
    the user have to give there rights for READ (that was a problem with my pi, because i had qt5.6 on it, before i have testing your scripts)

(2.) 64-Bit Version -> 3.0_build_qtbase.sh
for 64-Bit Version you need the /arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
and please add -no-icu command at ./configure for the issue with crt1.so

Have a nice day

ld: can not find

I try to assemble under armbian orange pi one, get an error

/ root / scripts / tools / vc / lib -Wl, -rpath-link, / root / raspi / sys
root / usr / lib / arm-linux-gnueabihf -Wl, -rpath-link, / root / raspi / sysroot / lib / arm-linux-gnueabihf -mfloat-abi = hard -sysroot = / root / raspi / sysroot - Wl, -O1 -o verifyspec verify
spec.o
/root/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/../../. ./../arm-linux-gnueabihf/bin/ld: can not find crt1.o: No t
a file or directory
/root/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/../../. ./../arm-linux-gnueabihf/bin/ld: can not find crti.o: No t
a file or directory
/root/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/../../. ./../arm-linux-gnueabihf/bin/ld: can not find -lm
collect2: error: ld returned 1 exit status
gmake: *** [verifyspec] Error 1

the library is physically on the target platform

QtCreator

Hi,
Do you think it may be possible to add QtCreator cross-compilation scripts also ?
Thanks.

Deployement : add qmake

Hi,
Is it possible to compile qmake (and other dev tools) and deploy it to the pi ? This would help by avoiding cross-compiling apps and uploading each time.
Thanks.

dev: missing packages

Hi,

I am trying the dev branch. I am following the readme and I have errors.
I am using a fresh burned raspbian lite. At step 3, when "some more libs I added...", I have :
Package 'gcc-multilib' has no installation candidate and Can't find pabkage g++-multilib

My apt sources are the default ones with uncommented "deb-src" lines, and the reporitory of Mono.

Issue on PI Zero

Hello there!

First I would like to congratulate for such a complete and organized tutorial.
But unfortunately I can manage to make it work for PI Zero (set it as pi1 on env.sh).
I managed to make it work until step 3.0_build_qtbase without errors when it fails to compile with message:
error.txt

I'm not so familiar with cross compiling like you seems but seems something wrong with directories you fixed with the python script?

Thanks in advance for some clue...

Regards!

Laurence

libavutil/avutil.h

Hi,
we have been doing our own scripts for qt 5.6 on arch but they do not work anymore for qt 5.8. And we did not get hardware acceleration running. We very much hope, that your scripts will help us. They are very convenient. Thank you!

However, I have a problem at the last step with libavutil/avutil.h

I am using Debian Stretch 64bit and current raspian jessie lite on rpi3

Funny thing is that it says
INSTALL libavutil/avutil.h prior to not beeing able to find ist...

---- Here is the log ----

./4_build_piomxtextures.sh

== Prepare 3rd party ==

Cloning dependency: LightLogger...
Klone nach 'LightLogger' ...
remote: Counting objects: 90, done.
remote: Compressing objects: 100% (69/69), done.
remote: Total 90 (delta 5), reused 79 (delta 5), pack-reused 0
Entpacke Objekte: 100% (90/90), Fertig.
-I/tmp/sd-kukki/raspi/sysroot/usr/include/samba-4.0 -L/tmp/sd-kukki/raspi/sysroot/usr/lib/arm-linux-gnueabihf -lsmbclient
-L/tmp/sd-kukki/raspi/sysroot/usr/lib/arm-linux-gnueabihf -lssh
Building for pi2...
Downloading ffmpeg sources from git...
Klone nach 'ffmpeg_src' ...
remote: Counting objects: 6155, done.
remote: Compressing objects: 100% (4799/4799), done.
remote: Total 6155 (delta 1520), reused 4117 (delta 1164), pack-reused 0
Empfange Objekte: 100% (6155/6155), 13.17 MiB | 902.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (1520/1520), Fertig.
Hinweis: Checke 'd4b731e271ba944ade8f6a128271479529507de9' aus.

Sie befinden sich im Zustand eines 'lösgelösten HEAD'. Sie können sich
umschauen, experimentelle Änderungen vornehmen und diese committen, und
Sie können alle möglichen Commits, die Sie in diesem Zustand machen,
ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie einen
weiteren Checkout durchführen.

Wenn Sie einen neuen Branch erstellen möchten, um Ihre erstellten Commits
zu behalten, können Sie das (jetzt oder später) durch einen weiteren Checkout
mit der Option -b tun. Beispiel:

git checkout -b

Configuring...
Prefix to /tmp/sd-kukki/raspi/src/piomxtextures/3rdparty/ffmpeg/ffmpeg_src...
install prefix /tmp/sd-kukki/raspi/src/piomxtextures/3rdparty/ffmpeg/ffmpeg_src/ffmpeg_compiled
source path .
C compiler arm-linux-gnueabihf-gcc
C library glibc
host C compiler gcc
host C library glibc
ARCH arm (armv7-a)
big-endian no
runtime cpu detection no
ARMv5TE enabled yes
ARMv6 enabled yes
ARMv6T2 enabled yes
VFP enabled yes
NEON enabled yes
THUMB enabled no
debug symbols no
strip symbols yes
optimize for size no
optimizations yes
static yes
shared yes
postprocessing support no
new filter support yes
network support yes
threading support pthreads
safe bitstream reader yes
SDL2 support no
opencl enabled no
JNI support no
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled yes
makeinfo supports HTML yes

Enabled programs:

External libraries:
bzlib libssh openssl xlib zlib
iconv

External libraries providing hardware acceleration:

Libraries:
avcodec avfilter avutil swresample swscale
avdevice avformat

Enabled decoders:
aac alias_pix g729 pcm_dvd shorten
aac_fixed als gsm pcm_f32be sipr
aac_latm amrnb gsm_ms pcm_f32le smackaud
ac3 amrwb h264 pcm_f64be smacker
ac3_fixed ape hap pcm_f64le smvjpeg
adpcm_4xm apng hnm4_video pcm_lxf sol_dpcm
adpcm_adx ass hq_hqa pcm_mulaw sonic
adpcm_afc atrac1 hqx pcm_s16be srt
adpcm_aica atrac3 iac pcm_s16be_planar ssa
adpcm_ct atrac3p imc pcm_s16le stl
adpcm_dtk bink interplay_acm pcm_s16le_planar subrip
adpcm_ea binkaudio_dct interplay_dpcm pcm_s24be subviewer
adpcm_ea_maxis_xa binkaudio_rdft interplay_video pcm_s24daud subviewer1
adpcm_ea_r1 bmv_audio jacosub pcm_s24le tak
adpcm_ea_r2 brender_pix m101 pcm_s24le_planar targa_y216
adpcm_ea_r3 ccaption mace3 pcm_s32be tdsc
adpcm_ea_xas cfhd mace6 pcm_s32le text
adpcm_g722 comfortnoise magicyuv pcm_s32le_planar truehd
adpcm_g726 cook metasound pcm_s64be truemotion2rt
adpcm_g726le dca microdvd pcm_s64le truespeech
adpcm_ima_amv dds mjpeg pcm_s8 tta
adpcm_ima_apc dsd_lsbf mjpegb pcm_s8_planar twinvq
adpcm_ima_dat4 dsd_lsbf_planar mlp pcm_u16be vmdaudio
adpcm_ima_dk3 dsd_msbf movtext pcm_u16le vorbis
adpcm_ima_dk4 dsd_msbf_planar mp1 pcm_u24be vp6
adpcm_ima_ea_eacs dsicinaudio mp1float pcm_u24le vp6f
adpcm_ima_ea_sead dss_sp mp2 pcm_u32be vp7
adpcm_ima_iss dst mp2float pcm_u32le vp8
adpcm_ima_oki dvaudio mp3 pcm_u8 vp9
adpcm_ima_qt dvbsub mp3adu pcm_zork vplayer
adpcm_ima_rad dvdsub mp3adufloat pgssub vqa
adpcm_ima_smjpeg dxv mp3float pjs wavpack
adpcm_ima_wav eac3 mp3on4 prores_lgpl webvtt
adpcm_ima_ws eacmv mp3on4float qcelp wmalossless
adpcm_ms eamad mpc7 qdm2 wmapro
adpcm_mtaf eatgq mpc8 ra_144 wmav1
adpcm_psx eatgv mpeg1video ra_288 wmav2
adpcm_sbpro_2 eatqi mpeg2video ralf wmavoice
adpcm_sbpro_3 eightbps mpegvideo realtext ws_snd1
adpcm_sbpro_4 eightsvx_exp mpl2 roq_dpcm xan_dpcm
adpcm_swf eightsvx_fib mvc1 rscc xface
adpcm_thp evrc nellymoser s302m xl
adpcm_thp_le ffwavesynth on2avc sami xma1
adpcm_vima fic opus screenpresso xma2
adpcm_xa flac paf_audio sdx2_dpcm xsub
adpcm_yamaha fourxm pcm_alaw sgirle ylc
aic g2m pcm_bluray sheervideo zero12v
alac g723_1

Enabled encoders:

Enabled hwaccels:

Enabled parsers:
aac dirac g729 mlp rv30
aac_latm dnxhd gsm mpeg4video rv40
ac3 dpx h261 mpegaudio tak
adx dvaudio h263 mpegvideo vorbis
bmp dvbsub h264 opus vp3
cavsvideo dvd_nav hevc png vp8
cook dvdsub mjpeg pnm vp9
dca flac

Enabled demuxers:
aa dtshd image_png_pipe nsv smjpeg
aac dv image_ppm_pipe nut smush
ac3 dvbsub image_qdraw_pipe nuv sol
acm dvbtxt image_sgi_pipe ogg sox
act dxa image_sunrast_pipe oma spdif
adf ea image_tiff_pipe paf srt
adp ea_cdata image_webp_pipe pcm_alaw stl
ads eac3 ingenient pcm_f32be str
adx epaf ipmovie pcm_f32le subviewer
aea ffm ircam pcm_f64be subviewer1
afc ffmetadata iss pcm_f64le sup
aiff filmstrip iv8 pcm_mulaw svag
aix flac ivf pcm_s16be swf
amr flic ivr pcm_s16le tak
anm flv jacosub pcm_s24be tedcaptions
apc fourxm jv pcm_s24le thp
ape frm live_flv pcm_s32be threedostr
apng fsb lmlm4 pcm_s32le tiertexseq
aqtitle g722 loas pcm_s8 tmv
asf g723_1 lrc pcm_u16be truehd
asf_o g729 lvf pcm_u16le tta
ass genh lxf pcm_u24be tty
ast gif m4v pcm_u24le txd
au gsm matroska pcm_u32be v210
avi gxf mgsts pcm_u32le v210x
avr h261 microdvd pcm_u8 vag
avs h263 mjpeg pjs vc1t
bethsoftvid h264 mlp pmp vivo
bfi hevc mlv pva vmd
bfstm hls mm pvf vobsub
bink hnm mmf qcp voc
bintext ico mov r3d vpk
bit idcin mp3 rawvideo vplayer
bmv idf mpc realtext vqf
boa iff mpc8 redspark w64
brstm ilbc mpegps rl2 wav
c93 image2 mpegts rm wc3
caf image2_alias_pix mpegtsraw roq webm_dash_manifest
cavsvideo image2_brender_pix mpegvideo rpl webvtt
cdg image2pipe mpjpeg rsd wsaud
cdxl image_bmp_pipe mpl2 rso wsd
cine image_dds_pipe mpsub rtp wsvqa
concat image_dpx_pipe msf rtsp wtv
data image_exr_pipe msnwc_tcp sami wv
daud image_j2k_pipe mtaf sap wve
dcstr image_jpeg_pipe mtv sbg xa
dfa image_jpegls_pipe musx sdp xbin
dirac image_pam_pipe mv sdr2 xmv
dnxhd image_pbm_pipe mvi segafilm xvag
dsf image_pcx_pipe mxf shorten xwma
dsicin image_pgm_pipe mxg siff yop
dss image_pgmyuv_pipe nc sln yuv4mpegpipe
dts image_pictor_pipe nistsphere smacker

Enabled muxers:

Enabled protocols:
async file icecast rtmpe subfile
cache ftp libssh rtmps tcp
concat gopher md5 rtmpt tee
crypto hls mmsh rtmpte tls_openssl
data http mmst rtmpts udp
ffrtmpcrypt httpproxy pipe rtp udplite
ffrtmphttp https rtmp srtp unix

Enabled filters:

Enabled bsfs:
aac_adtstoasc h264_mp4toannexb mjpeg2jpeg mp3_header_decompress remove_extradata
chomp hevc_mp4toannexb mjpega_dump_header mpeg4_unpack_bframes text2movsub
dca_core imx_dump_header mov2textsub noise vp9_superframe
dump_extradata

Enabled indevs:

Enabled outdevs:

License: nonfree and unredistributable
Creating config.mak, config.h, and doc/config.texi...

WARNING: Option --disable-decoder=libstagefright_h264 did not match anything
WARNING: Option --disable-decoder=iff_byterun1 did not match anything
Building...
CC libavdevice/alldevices.o
CC libavdevice/avdevice.o
CC libavdevice/utils.o

.....

INSTALL libavutil/avstring.h
INSTALL libavutil/avutil.h
INSTALL libavutil/base64.h

.....

INSTALL libavutil/libavutil.pc
Cleaning up...
Done! Bye bye! ;-)
All done. Bye bye ;-)

== Configuring piomxtextures ==

Info: creating stash file /tmp/sd-kukki/raspi/src/piomxtextures/.qmake.stash

== Building piomxtextures ==
...

In file included from ../piomxtextures_src/omxplayer_lib/OMXPlayerAudio.h:25:0,
from ../piomxtextures_src/omx_playeraudio.h:30,
from ../piomxtextures_src/omx_mediaprocessor.cpp:38:
../piomxtextures_src/omxplayer_lib/DllAvUtil.h:38:34: fatal error: libavutil/avutil.h: No such file or directory
#include <libavutil/avutil.h>
^
compilation terminated.
Makefile:3383: die Regel für Ziel „omx_mediaprocessor.o“ scheiterte
make[1]: *** [omx_mediaprocessor.o] Fehler 1
make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet...

... (it fails several times)

building piomxtextures failed

I been trying to follow the steps but when I try to build piomxtextures I got some errors.
I am using Ubuntu 16.04 64 bits in a Virtual Machine Using Parallels Desktop Software, and I and trying to build for a raspberry pi 3. I think the problem is related with LightLogger but I don't know how to fix it. I would appreciate any ideas. Thanks:

This what I got when executing 4_build_piomxtextures.sh :

from /home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:54:
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp: In member function ‘bool OpenMAXILTextureLoader::loadTextureFromImage(QString, EGLDisplay, EGLContext, GLuint&)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:109:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Error occurred: %s.", e.what());
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:109:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Error occurred: %s.", e.what());
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log_ ##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp: In member function ‘void OpenMAXILTextureLoader::doLoadTextureFromImage(QString, EGLDisplay, EGLContext, GLuint&)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:157:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Disabling all the ports...");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:157:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Disabling all the ports...");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:310:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "Failed to destroy EGL image.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:310:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "Failed to destroy EGL image.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp: In member function ‘void OpenMAXILTextureLoader::onDecoderOutputChangedImage(EGLDisplay, EGLContext, GLuint&)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:439:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "%s\n", sLog);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:439:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "%s\n", sLog);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:465:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OpenMAXILTextureLoader::decode - OMX_UseEGLImage - failed with omxErr(0x%x)\n", omxErr);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:465:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OpenMAXILTextureLoader::decode - OMX_UseEGLImage - failed with omxErr(0x%x)\n", omxErr);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp: In member function ‘void* OpenMAXILTextureLoader::getEGLImage(OMX_U32, OMX_U32, EGLDisplay, EGLContext, GLuint&)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:507:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "EGLImage: %x.", (unsigned int)eglImage);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:507:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "EGLImage: %x.", (unsigned int)eglImage);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:511:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "Failed to create KHR image: %d.", eglErr);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/openmaxiltextureloader.cpp:511:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "Failed to create KHR image: %d.", eglErr);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
Makefile:2944: recipe for target 'openmaxiltextureloader.o' failed
make[2]: *** [openmaxiltextureloader.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_logging.h:33:0,
from /home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:17:
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘OMX_ERRORTYPE OMXComponent::GetParameter(OMX_INDEXTYPE, OMX_PTR)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:45:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "OMX_GetParameter failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:45:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "OMX_GetParameter failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::SetParameter(OMX_INDEXTYPE, OMX_PTR)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:56:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "OMX_SetParameter failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:56:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "OMX_SetParameter failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::sendCommand(OMX_COMMANDTYPE, int, OMX_PTR)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:65:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OMX_SendCommand failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:65:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OMX_SendCommand failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::getState(OMX_STATETYPE&)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:74:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OMX_GetState failed: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:74:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OMX_GetState failed: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::UseBuffer(OMX_BUFFERHEADERTYPE**, OMX_U32, OMX_PTR, OMX_U32, OMX_U8*)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:110:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OMX_UseBuffer failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:110:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "OMX_UseBuffer failed with code: %x.", err);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:116:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Adding buffer to port.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:116:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Adding buffer to port.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::enablePortBuffers(OMX_U32)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:151:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Providing %u buffers...", portdef.nBufferCountActual);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:151:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Providing %u buffers...", portdef.nBufferCountActual);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::disablePortBuffers(OMX_U32)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:270:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Buffer list size: %d.", buffers.size());
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:270:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Buffer list size: %d.", buffers.size());
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::EmptyThisBuffer(OMX_BUFFERHEADERTYPE*)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:883:36: error: ‘log_warn_t’ was not declared in this scope
log_warn_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:294:9: note: in expansion of macro ‘LOG_WARNING’
LOG_WARNING(LOG_TAG, "OMX_Empty this buffer failed with code: %x.", type);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:883:36: note: suggested alternative:
log_warn_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:294:9: note: in expansion of macro ‘LOG_WARNING’
LOG_WARNING(LOG_TAG, "OMX_Empty this buffer failed with code: %x.", type);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_warn_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:672:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(warn, LC_LOG_WARN, false)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘void OMXComponent::FillThisBuffer(OMX_BUFFERHEADERTYPE*)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:303:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "OMX_FillThisBuffer failed with code: %x.", omxError);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:303:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "OMX_FillThisBuffer failed with code: %x.", omxError);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘bool OMXComponent::waitForInputBufferReady(OMX_U32, OMX_BUFFERHEADERTYPE*&)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:359:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "No buffer for that port is available.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:359:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "No buffer for that port is available.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:365:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Waiting for an available buffer...");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:365:9: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Waiting for an available buffer...");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘IEventSPtr OMXComponent::WaitForGeneric(const std::list<std::tr1::shared_ptr >&, int)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:599:13: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Finished scanning event list.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:599:13: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Finished scanning event list.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In destructor ‘virtual OMXComponent::~OMXComponent()’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:626:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Destroying component.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:626:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "Destroying component.");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: error: ‘log_err_t’ was not declared in this scope
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:629:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "Failed to free handle %x.", (unsigned int)m_handle);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:881:35: note: suggested alternative:
log_err_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:629:9: note: in expansion of macro ‘LOG_ERROR’
LOG_ERROR(LOG_TAG, "Failed to free handle %x.", (unsigned int)m_handle);
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:398:20: note: ‘lightlogger::log_err_t’
#define FUNC(name) log
##name
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:408:16: note: in expansion of macro ‘FUNC’
inline bool FUNC(name ##t)(const char* log_tag, const char* format, ...)
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:655:1: note: in expansion of macro ‘GENERATE_LEVEL’
GENERATE_LEVEL(err, LC_LOG_ERROR, false)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp: In member function ‘virtual OMX_ERRORTYPE OMXComponent::emptyBufferDone(OMX_BUFFERHEADERTYPE*)’:
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: error: ‘log_verbose_t’ was not declared in this scope
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:721:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "EmptyBufferDone entering mutex...");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:887:39: note: suggested alternative:
log_verbose_t(tag, f, ##VA_ARGS)
^
/home/parallels/raspi3/src/piomxtextures/piomxtextures_src/omx_wrapper/OMXComponent.cpp:721:5: note: in expansion of macro ‘LOG_VERBOSE’
LOG_VERBOSE(LOG_TAG, "EmptyBufferDone entering mutex...");
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:456:19: note: ‘lightlogger::log_verbose_t’
inline rettype log
##name ##_t(...) {content;}
^
/home/parallels/raspi3/src/piomxtextures/3rdparty/LightLogger/lc_logging.h:808:1: note: in expansion of macro ‘GENERATE_LEVEL_CUSTOM’
GENERATE_LEVEL_CUSTOM(verbose, bool, return true)
^
Makefile:3044: recipe for target 'OMXComponent.o' failed
make[2]: *** [OMXComponent.o] Error 1
make[2]: Leaving directory '/home/parallels/raspi3/src/piomxtextures/piomxtextures_qt_driver/mediaplayer'
Makefile:42: recipe for target 'sub-mediaplayer-make_first' failed
make[1]: *** [sub-mediaplayer-make_first] Error 2
make[1]: Leaving directory '/home/parallels/raspi3/src/piomxtextures/piomxtextures_qt_driver'
Makefile:73: recipe for target 'sub-piomxtextures_qt_driver-make_first' failed
make: *** [sub-piomxtextures_qt_driver-make_first] Error 2


This is my env.sh file:

#!/bin/bash

RPIDEV_ROOT=~/raspi3
export RPIDEV_TOOLS=${RPIDEV_ROOT}/tools
export RPIDEV_SRC=${RPIDEV_ROOT}/src
export RPIDEV_BUILD=${RPIDEV_ROOT}/build
export RPIDEV_SYSROOT=${RPIDEV_ROOT}/sysroot

export RPIDEV_JOBS=$(grep -c "^processor" /proc/cpuinfo)

device info

export RPIDEV_DEVICE_VERSION=pi3 # pi1 pi2 pi3 (only tested pi3)
export RPIDEV_DEVICE_ADDRESS=172.16.40.162 # ip if device
export RPIDEV_DEVICE_USER=pi # username
export RPIDEV_DEVICE_PW=raspberry # password

qt paths

export QT_INSTALL_DIR=${RPIDEV_BUILD}/qt5.8
export QT_INSTALL_DIR_HOST=${RPIDEV_BUILD}/qt5.8-host
export QT_DEVICE_DIR=/usr/local/qt5.8

configure piomxtextures

export RPI_SYSROOT=${RPIDEV_SYSROOT}
export COMPILER_PATH=${RPIDEV_TOOLS}/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

configure pkg config

export PKG_CONFIG_DIR=
export PKG_CONFIG_LIBDIR=${RPIDEV_SYSROOT}/usr/lib/pkgconfig:${RPIDEV_SYSROOT}/usr/share/pkgconfig:${RPIDEV_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig
export PKG_CONFIG_SYSROOT_DIR=${RPIDEV_SYSROOT}


And this is my 3.0_build_qtbase.sh

#!/bin/bash

set -e

SCRIPTDIR=$(dirname "$0")
source $SCRIPTDIR/env.sh

SOURCE_DIR=${RPIDEV_SRC}/qtbase
cd $SOURCE_DIR

echo
echo "== Cleaning previous build =="
echo
rm -rf ${QT_INSTALL_DIR}
rm -rf ${QT_INSTALL_DIR_HOST}

echo
echo "== Configuring qtbase =="
echo

DEVICE=
if [ "$RPIDEV_DEVICE_VERSION" == "pi1" ]; then
DEVICE=linux-rasp-pi-g++
elif [ "$RPIDEV_DEVICE_VERSION" == "pi2" ]; then
DEVICE=linux-rasp-pi2-g++
elif [ "$RPIDEV_DEVICE_VERSION" == "pi3" ]; then
DEVICE=linux-rpi3-g++
elif [ "$RPIDEV_DEVICE_VERSION" == "pi3v2" ]; then
DEVICE=linux-rpi3-vc4-g++
else
echo "${BASH_SOURCE[1]}: line ${BASH_LINENO[0]}: ${FUNCNAME[1]}: Unknown device $RPIDEV_DEVICE_VERSION." >&2
exit 1
fi

./configure -release -opengl es2 -no-opengles3 -device ${DEVICE}
-device-option CROSS_COMPILE=${COMPILER_PATH}/arm-linux-gnueabihf-
-sysroot ${RPIDEV_SYSROOT} -opensource -confirm-license -make libs
-prefix ${QT_DEVICE_DIR} -extprefix ${QT_INSTALL_DIR} -hostprefix ${QT_INSTALL_DIR_HOST} -v -nomake examples -nomake tests -no-use-gold-linker

read -p "Continue building? [y/n] " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
exit 1
fi

echo
echo "== Building qtbase =="
echo
make
#make -j${RPIDEV_JOBS}

echo
echo "== Installing qtbase =="
echo
make install


about stretch!

I hope you can update the compilation code of Debian Stretch system! Thank you very much for your work!

dev: error when updating src

Hi,
When trying to download a second time the repositories, I have errors :

== Download qtdeclarative ==

Entrée dans 'tests/auto/qml/ecmascripttests/test262'
fatal: Cannot change to 'clean': Aucun fichier ou dossier de ce type
Arrêt sur 'tests/auto/qml/ecmascripttests/test262' ; le script a retourné un statut non nul.

Can be translated as fatal: Cannot change to 'clean': No file or folder of this type and the script has returned a not null status.

It happens on qtdeclarative and qtxmlpatterns.

QtBase configure failed after setup custom Qt5.9

Hi,
Recently found that "3.0_build_qtbase.sh" failed at step configure and report : "No device matching 'linux-rpi3-g++'". However it worked perfectly with Qt5.8.
Finally I found that change "3.0_build_qtbase.sh" as below will help:

  1. open env.sh with your text editor
  2. replace "DEVICE=linux-rpi3-g++" with "DEVICE=linux-rasp-pi3-g++"
    I don't know why it works, but it seems that the build scripts don't work well with newest Qt version.

sys/cdefs.h: No such file or directory

hi.
I have compiled Qt 5.9 successfully but when i click make button in qtCreator this error will appears:
/opt/raspi/sysroot/usr/include/features.h:374: error: sys/cdefs.h: No such file or directory

include <sys/cdefs.h>

                     ^

Unable to complete 1_tools.sh script

Hello,
I'm trying to set up the environment through the scripts, however the dev branch fails with the dirname commands (at the very beginning of 1_tools.sh).

It is really weird as the master branch is able to complete the 1_download step without issues.

my OS is lxqt ubuntu 16.04

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.