• crosss compile VLC with OpenMAX on ARM board(RockChip RK3399),in order to use Hard Acceleration when decode video


    reference:http://www.x90x90x90.com/en/raspberry-pi-3-howto-compile-vlc-with-hardware-acceleration/

    1.precondition

    (1)sudo apt-get install autopoint gettext liba52-0.7.4-dev libaa1-dev libasound2-dev libass-dev libavahi-client-dev libavc1394-dev libavcodec-dev libavformat-dev libbluray-dev libcaca-dev libcddb2-dev libcdio-dev libchromaprint-dev libdbus-1-dev libdc1394-22-dev libdca-dev libdirectfb-dev libdvbpsi-dev libdvdnav-dev libdvdread-dev libegl1-mesa-dev libfaad-dev libflac-dev libfluidsynth-dev libfreerdp-dev libfreetype6-dev libfribidi-dev

    the first cmd,libdvdpsi must be install manual ,download addr is https://code.videolan.org/videolan/libdvbpsi

    libdvbpsi above is newest,the API has changed ,so download  history version in download.videolan.org/pub/libdvbpsi

    while make 1.2.0,there is a error : test_dr.h:102:39: error: comparison of constant ‘12’ with boolean expression is always true

    fixed this error,look at the latest version ,its test_dr.h is right

    (2)sudo apt-get install libgl1-mesa-dev libgles1-mesa-dev libgles2-mesa-dev libgnutls28-dev libgtk2.0-dev libidn11-dev libiso9660-dev libjack-jackd2-dev libkate-dev liblircclient-dev liblivemedia-dev liblua5.2-dev libmad0-dev libmatroska-dev libmodplug-dev libmpcdec-dev libmpeg2-4-dev libmtp-dev libncursesw5-dev libnotify-dev libogg-dev libomxil-bellagio-dev libopus-dev

    the second cmd,libgles1-mesa-dev high version must install manual,download addr:ports.ubuntu.com/ubuntu-ports/pool/main/m/mesa, then delete the libgles1-mesa-dev

    (3)sudo apt-get install libpulse-dev libqt4-dev libraw1394-dev libresid-builder-dev librsvg2-dev libsamplerate0-dev libschroedinger-dev libsdl-image1.2-dev libsdl1.2-dev libshine-dev libshout3-dev libsidplay2-dev libsmbclient-dev libspeex-dev libspeexdsp-dev libssh2-1-dev libswscale-dev libtag1-dev libtheora-dev libtwolame-dev libudev-dev libupnp-dev

    libssh2-1-dev : Depends: libgcrypt20-dev but it is not going to be installed

    http://ports.ubuntu.com/ubuntu-ports/pool/main/libg/libgcrypt20/  download and dpkg -i  install,if any depend error then apt-get install

    (4)sudo apt-get install libv4l-dev libva-dev libvcdinfo-dev libvdpau-dev libvncserver-dev libvorbis-dev libx11-dev libx264-dev libxcb-composite0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xv0-dev libxcb1-dev libxext-dev libxinerama-dev libxml2-dev libxpm-dev libzvbi-dev lua5.2 oss4-dev pkg-config zlib1g-dev libpng12-dev libtool build-essential autoconf

    2.download and install  ffmpeg

    wget https://www.ffmpeg.org/releases/ffmpeg-2.7.7.tar.xz
    tar -xJf ffmpeg-2.7.7.tar.xz
    cd ffmpeg-2.7.7
    sudo ./configure --enable-gpl --enable-nonfree --bindir=/usr/local/bin
    make
    sudo make install

    NOTE!!! configure add the option "-fPIC",So can generate share library object

    Once compiled, launch FFmpeg to see libraries version installed:   execute the cmd "ffmpeg" in terminal

    3.configure vlc

    $ ./configure --prefix=/usr --enable-omxil --enable-omxil-vout --enable-rpi-omxil --disable-mmal-codec --disable-mmal-vout --enable-gles2
    checking build system type... aarch64-unknown-linux-gnu
    checking host system type... aarch64-unknown-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking whether UID '1000' is supported by ustar format... yes
    checking whether GID '1000' is supported by ustar format... yes
    checking how to create a ustar tar archive... gnutar
    checking whether make supports nested variables... (cached) yes
    checking whether to enable maintainer-specific portions of Makefiles... yes
    checking for style of include used by make... GNU
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking dependency style of gcc... gcc3
    checking for gcc option to accept ISO C99... none needed
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking for g++... g++
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking dependency style of g++... gcc3
    checking how to run the C preprocessor... gcc -E
    checking for gcc... gcc
    checking whether we are using the GNU Objective C compiler... no
    checking whether gcc accepts -g... no
    checking dependency style of gcc... gcc3
    checking dependency style of gcc... (cached) gcc3
    checking for egrep... (cached) /bin/grep -E
    checking whether make sets $(MAKE)... (cached) yes
    checking dependency style of gcc... gcc3
    checking for desktop-file-validate... desktop-file-validate
    checking for yasm... no
    checking for an ANSI C-conforming const... yes
    checking for inline... inline
    checking for C/C++ restrict keyword... __restrict
    checking for an Android system... no
    checking for 3rd party libraries path... not found
    checking how to print strings... printf
    checking for a sed that does not truncate output... /bin/sed
    checking for fgrep... /bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... (cached) pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for mt... mt
    checking if mt is a manifest tool... no
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking for shl_load... no
    checking for shl_load in -ldld... no
    checking for dlopen... no
    checking for dlopen in -ldl... yes
    checking whether a program can dlopen itself... yes
    checking whether a statically linked program can dlopen itself... no
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    checking how to run the C++ preprocessor... g++ -E
    checking for ld used by g++... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking for g++ option to produce PIC... -fPIC -DPIC
    checking if g++ PIC flag -fPIC -DPIC works... yes
    checking if g++ static flag -static works... yes
    checking if g++ supports -c -o file.o... yes
    checking if g++ supports -c -o file.o... (cached) yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... (cached) GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking for windres... no
    checking for bash... /bin/bash
    checking if dolt supports this host... yes, replacing libtool
    checking whether NLS is requested... yes
    checking for msgfmt... /usr/bin/msgfmt
    checking for gmsgfmt... /usr/bin/msgfmt
    checking for xgettext... /usr/bin/xgettext
    checking for msgmerge... /usr/bin/msgmerge
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for shared library run path origin... done
    checking for CFPreferencesCopyAppValue... no
    checking for CFLocaleCopyCurrent... no
    checking for GNU gettext in libc... yes
    checking whether to use NLS... yes
    checking where the gettext function comes from... libc
    checking for iconv... yes
    checking for working iconv... yes
    checking for iconv declaration...
             extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
    checking for buggy GNU/libc versions... not present
    checking for shared objects suffix... .so
    checking whether nanosleep is declared... yes
    checking for daemon... yes
    checking for fcntl... yes
    checking for fstatvfs... yes
    checking for fork... yes
    checking for getenv... yes
    checking for getpwuid_r... yes
    checking for isatty... yes
    checking for lstat... yes
    checking for memalign... yes
    checking for mmap... yes
    checking for open_memstream... yes
    checking for openat... yes
    checking for pread... yes
    checking for posix_fadvise... yes
    checking for posix_madvise... yes
    checking for setlocale... yes
    checking for stricmp... no
    checking for strnicmp... no
    checking for strptime... yes
    checking for uselocale... yes
    checking for atof... yes
    checking for atoll... yes
    checking for dirfd... yes
    checking for fdopendir... yes
    checking for flockfile... yes
    checking for fsync... yes
    checking for getdelim... yes
    checking for getpid... yes
    checking for gmtime_r... yes
    checking for lldiv... yes
    checking for localtime_r... yes
    checking for nrand48... yes
    checking for poll... yes
    checking for posix_memalign... yes
    checking for rewind... yes
    checking for setenv... yes
    checking for strcasecmp... yes
    checking for strcasestr... yes
    checking for strdup... yes
    checking for strlcpy... no
    checking for strndup... yes
    checking for strnlen... yes
    checking for strsep... yes
    checking for strtof... yes
    checking for strtok_r... yes
    checking for strtoll... yes
    checking for swab... yes
    checking for tdestroy... yes
    checking for strverscmp... yes
    checking for fdatasync... yes
    checking for static_assert in assert.h... yes
    checking for working strcoll... yes
    checking for accept4... yes
    checking for pipe2... yes
    checking for eventfd... yes
    checking for vmsplice... yes
    checking for sched_getaffinity... yes
    checking for struct pollfd... yes
    checking for library containing connect... none required
    checking for library containing inet_pton... none required
    checking for if_nameindex... yes
    checking for if_nametoindex... yes
    checking for socklen_t in sys/socket.h... yes
    checking for struct sockaddr_storage... yes
    checking for getopt_long... yes
    checking for cos in -lm... yes
    checking for lrintf in -lm... yes
    checking for library containing dlsym... -ldl
    checking for library containing pthread_rwlock_init... -lpthread
    checking for clock_nanosleep in -lrt... yes
    checking search.h usability... yes
    checking search.h presence... yes
    checking for search.h... yes
    checking getopt.h usability... yes
    checking getopt.h presence... yes
    checking for getopt.h... yes
    checking locale.h usability... yes
    checking locale.h presence... yes
    checking for locale.h... yes
    checking xlocale.h usability... yes
    checking xlocale.h presence... yes
    checking for xlocale.h... yes
    checking sys/time.h usability... yes
    checking sys/time.h presence... yes
    checking for sys/time.h... yes
    checking sys/ioctl.h usability... yes
    checking sys/ioctl.h presence... yes
    checking for sys/ioctl.h... yes
    checking arpa/inet.h usability... yes
    checking arpa/inet.h presence... yes
    checking for arpa/inet.h... yes
    checking netinet/udplite.h usability... no
    checking netinet/udplite.h presence... no
    checking for netinet/udplite.h... no
    checking sys/eventfd.h usability... yes
    checking sys/eventfd.h presence... yes
    checking for sys/eventfd.h... yes
    checking for net/if.h... yes
    checking for sys/mount.h... yes
    checking machine/param.h usability... no
    checking machine/param.h presence... no
    checking for machine/param.h... no
    checking sys/shm.h usability... yes
    checking sys/shm.h presence... yes
    checking for sys/shm.h... yes
    checking linux/version.h usability... yes
    checking linux/version.h presence... yes
    checking for linux/version.h... yes
    checking linux/dccp.h usability... yes
    checking linux/dccp.h presence... yes
    checking for linux/dccp.h... yes
    checking scsi/scsi.h usability... yes
    checking scsi/scsi.h presence... yes
    checking for scsi/scsi.h... yes
    checking linux/magic.h usability... yes
    checking linux/magic.h presence... yes
    checking for linux/magic.h... yes
    checking syslog.h usability... yes
    checking syslog.h presence... yes
    checking for syslog.h... yes
    checking mntent.h usability... yes
    checking mntent.h presence... yes
    checking for mntent.h... yes
    checking for ssize_t... yes
    checking pthread.h usability... yes
    checking pthread.h presence... yes
    checking for pthread.h... yes
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking zlib.h usability... yes
    checking zlib.h presence... yes
    checking for zlib.h... yes
    checking for MINIZIP... no
    checking unzip.h usability... no
    checking unzip.h presence... no
    checking for unzip.h... no
    checking for IDN... yes
    checking for DBUS... yes
    checking for ntohl in sys/param.h... no
    checking if gcc accepts -Wall... yes
    checking if gcc accepts -Wextra... yes
    checking if gcc accepts -Wsign-compare... yes
    checking if gcc accepts -Wundef... yes
    checking if gcc accepts -Wpointer-arith... yes
    checking if gcc accepts -Wbad-function-cast... yes
    checking if gcc accepts -Wwrite-strings... yes
    checking if gcc accepts -Wmissing-prototypes... yes
    checking if gcc accepts -Wvolatile-register-var... yes
    checking if gcc accepts -Werror-implicit-function-declaration... yes
    checking if gcc accepts -pipe... yes
    checking if g++ accepts -Wall... yes
    checking if g++ accepts -Wextra... yes
    checking if g++ accepts -Wsign-compare... yes
    checking if g++ accepts -Wundef... yes
    checking if g++ accepts -Wpointer-arith... yes
    checking if g++ accepts -Wvolatile-register-var... yes
    checking if gcc accepts -fvisibility=hidden... yes
    checking if gcc accepts -O4... yes
    checking if gcc accepts -fno-math-errno... yes
    checking if gcc accepts -funsafe-math-optimizations... yes
    checking if gcc accepts -fno-rounding-math... yes
    checking if gcc accepts -fno-signaling-nans... yes
    checking if gcc accepts -fcx-limited-range... yes
    checking if g++ accepts -fno-math-errno... yes
    checking if g++ accepts -funsafe-math-optimizations... yes
    checking if g++ accepts -fno-rounding-math... yes
    checking if g++ accepts -fno-signaling-nans... yes
    checking if g++ accepts -fcx-limited-range... yes
    checking if gcc accepts -funroll-loops... yes
    checking if gcc accepts -fomit-frame-pointer... yes
    checking if linker supports -Bsymbolic... -Wl,-Bsymbolic
    checking __attribute__ ((aligned ())) support... 64
    checking for __attribute__((packed))... yes
    checking execinfo.h usability... yes
    checking execinfo.h presence... yes
    checking for execinfo.h... yes
    checking for backtrace... yes
    checking if gcc groks 3D Now! inline assembly... no
    checking for LUA... yes
    checking for luac... /usr/bin/luac
    checking for LIVE555... yes
    checking for DC1394... yes
    checking for DV1394... yes
    checking for LINSYS_SDI... yes
    checking for DVDREAD... yes
    checking for DVDNAV... yes
    checking for dvdnav_stream_cb in dvdnav/dvdnav.h... yes
    checking for BLURAY... yes
    checking for OPENCV... no
    configure: WARNING: Library opencv > 2.0 needed for opencv was not found
    checking for SMBCLIENT... yes
    checking for SFTP... yes
    checking linux/videodev2.h usability... yes
    checking linux/videodev2.h presence... yes
    checking for linux/videodev2.h... yes
    checking sys/videoio.h usability... no
    checking sys/videoio.h presence... no
    checking for sys/videoio.h... no
    checking DeckLinkAPIDispatch.cpp usability... no
    checking DeckLinkAPIDispatch.cpp presence... no
    checking for DeckLinkAPIDispatch.cpp... no
    configure: WARNING: Blackmagic DeckLink SDI include files not found
    checking for GNOMEVFS... no
    configure: WARNING: Library gnome-vfs-2.0 needed for gnomevfs was not found
    checking for cdrom_msf0 in linux/cdrom.h... yes
    checking for scsireq in sys/scsiio.h... no
    checking for ioc_toc_header in sys/cdio.h... no
    checking for LIBCDDB... yes
    checking for Linux DVB version 5.1... yes
    checking for VNC... yes
    checking for FREERDP... yes
    checking for ASDCP... no
    checking for DVBPSI... yes
    checking gme/gme.h usability... no
    checking gme/gme.h presence... no
    checking for gme/gme.h... no
    checking for SID... yes
    checking sidplay/builders/resid.h usability... yes
    checking sidplay/builders/resid.h presence... yes
    checking for sidplay/builders/resid.h... yes
    checking for OGG... yes
    checking for LIBVORBIS... yes
    checking for OGG... yes
    checking for MUX_OGG... yes
    checking for SHOUT... yes
    checking ebml/EbmlVersion.h usability... yes
    checking ebml/EbmlVersion.h presence... yes
    checking for ebml/EbmlVersion.h... yes
    checking for libebml version >= 1.0.0... yes
    checking matroska/KaxVersion.h usability... yes
    checking matroska/KaxVersion.h presence... yes
    checking for matroska/KaxVersion.h... yes
    checking for libmatroska version >= 1.0.0... yes
    checking matroska/KaxAttachments.h usability... yes
    checking matroska/KaxAttachments.h presence... yes
    checking for matroska/KaxAttachments.h... yes
    checking for main in -lebml_pic... no
    checking for main in -lebml... yes
    checking for LIBMODPLUG... yes
    checking mpc/mpcdec.h usability... yes
    checking mpc/mpcdec.h presence... yes
    checking for mpc/mpcdec.h... yes
    checking for SHINE... yes
    checking for libcrystalhd/libcrystalhd_if.h... no
    checking mad.h usability... yes
    checking mad.h presence... yes
    checking for mad.h... yes
    checking for mad_bit_init in -lmad... yes
    checking for libavutil variant... ffmpeg
    checking for GST_APP... yes
    checking for GST_VIDEO... yes
    checking for AVCODEC... yes
    checking libavcodec/avcodec.h usability... yes
    checking libavcodec/avcodec.h presence... yes
    checking for libavcodec/avcodec.h... yes
    checking libavutil/avutil.h usability... yes
    checking libavutil/avutil.h presence... yes
    checking for libavutil/avutil.h... yes
    checking for LIBVA_DRM... yes
    checking for LIBVA_X11... yes
    checking libavcodec/vaapi.h usability... yes
    checking libavcodec/vaapi.h presence... yes
    checking for libavcodec/vaapi.h... yes
    configure: VA API acceleration activated
    checking for AVFORMAT... yes
    checking libavformat/avformat.h usability... yes
    checking libavformat/avformat.h presence... yes
    checking for libavformat/avformat.h... yes
    checking libavformat/avio.h usability... yes
    checking libavformat/avio.h presence... yes
    checking for libavformat/avio.h... yes
    checking for libavcodec/avcodec.h... (cached) yes
    checking for libavutil/avutil.h... (cached) yes
    checking for SWSCALE... yes
    checking libswscale/swscale.h usability... yes
    checking libswscale/swscale.h presence... yes
    checking for libswscale/swscale.h... yes
    checking for libavutil/avutil.h... (cached) yes
    checking for POSTPROC... yes
    checking postproc/postprocess.h usability... no
    checking postproc/postprocess.h presence... no
    checking for postproc/postprocess.h... no
    checking faad.h usability... yes
    checking faad.h presence... yes
    checking for faad.h... yes
    checking for faacDecOpen in -lfaad... no
    checking for NeAACDecOpen in -lfaad... yes
    checking for VPX... no
    checking for TWOLAME... yes
    checking a52dec/a52.h usability... yes
    checking a52dec/a52.h presence... yes
    checking for a52dec/a52.h... yes
    checking for a52_free in -la52... yes
    checking for DCA... yes
    checking for FLAC... no
    configure: WARNING: Library flac needed for flac was not found
    checking for LIBMPEG2... yes
    checking for VORBIS... yes
    checking for SPEEX... yes
    checking for SPEEXDSP... yes
    checking for OPUS... yes
    checking for THEORA... yes
    checking for SCHROEDINGER... yes
    checking png.h usability... yes
    checking png.h presence... yes
    checking for png.h... yes
    checking for png_set_rows in -lpng... yes
    checking jpeglib.h usability... yes
    checking jpeglib.h presence... yes
    checking for jpeglib.h... yes
    checking for X262... no
    checking for X265... no
    configure: WARNING: Library x265 needed for x265 was not found
    checking for X26410B... no
    checking for X264... yes
    checking for MFX... no
    configure: WARNING: Library libmfx needed for mfx was not found
    checking for FLUIDSYNTH... yes
    checking for ZVBI... yes
    checking for LIBASS... yes
    checking fontconfig/fontconfig.h usability... yes
    checking fontconfig/fontconfig.h presence... yes
    checking for fontconfig/fontconfig.h... yes
    checking for KATE... yes
    checking for TIGER... no
    checking for EGL... no
    checking for GL... no
    checking for GLES2... yes
    checking for X... libraries , headers
    checking for gethostbyname... yes
    checking for connect... yes
    checking for remove... yes
    checking for shmat... yes
    checking for IceConnectionNumber in -lICE... yes
    checking X11/Xlib.h usability... yes
    checking X11/Xlib.h presence... yes
    checking for X11/Xlib.h... yes
    checking for XCB... yes
    checking for XCB_SHM... yes
    checking for XCB_COMPOSITE... yes
    checking for XPROTO... yes
    checking for XCB_XV... yes
    checking for XCB_RANDR... yes
    checking for XCB_KEYSYMS... yes
    checking for VDPAU... yes
    configure: VDPAU decoding acceleration activated
    checking for SDL... yes
    checking for SDL_IMAGE... yes
    checking for FREETYPE... yes
    checking Carbon/Carbon.h usability... no
    checking Carbon/Carbon.h presence... no
    checking for Carbon/Carbon.h... no
    checking for fontconfig/fontconfig.h... (cached) yes
    checking for FRIBIDI... yes
    checking for SVG... yes
    checking for SVGDEC... yes
    checking linux/fb.h usability... yes
    checking linux/fb.h presence... yes
    checking for linux/fb.h... yes
    checking for CACA... yes
    checking kva.h usability... no
    checking kva.h presence... no
    checking for kva.h... no
    checking for PULSE... yes
    checking for ALSA... yes
    checking sndio.h usability... no
    checking sndio.h presence... no
    checking for sndio.h... no
    checking audioclient.h usability... no
    checking audioclient.h presence... no
    checking for audioclient.h... no
    checking for JACK... yes
    checking for SAMPLERATE... yes
    checking kai.h usability... no
    checking kai.h presence... no
    checking for kai.h... no
    checking for CHROMAPRINT... yes
    checking for QT... no
    checking for QT... yes
    checking for moc-qt4... /usr/bin/moc-qt4
    checking for rcc... /usr/bin/rcc
    checking for uic-qt4... /usr/bin/uic-qt4
    checking whether Qt uses Xlib... yes
    checking for XPM... yes
    checking for XINERAMA... yes
    checking for XEXT... yes
    checking libtar.h usability... no
    checking libtar.h presence... no
    checking for libtar.h... no
    checking for NCURSES... yes
    checking for GOOM... no
    configure: WARNING: Library libgoom2 needed for goom was not found
    checking for PROJECTM... no
    configure: WARNING: No package 'libprojectM' found.
    checking for VSXU... no
    configure: WARNING: No package 'libvsxu' found.
    checking for BONJOUR... yes
    checking for UDEV... yes
    checking for MTP... yes
    checking for UPNP... yes
    checking for LIBXML2... yes
    checking whether GCRYCTL_SET_THREAD_CBS is declared... yes
    checking for gcry_control in -lgcrypt... yes
    checking for GNUTLS... yes
    checking for TAGLIB... yes
    checking for NOTIFY... yes
    checking whether byte ordering is bigendian... no
    ./configure: line 52808: kde4-config: command not found
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating doc/Makefile
    config.status: creating modules/Makefile
    config.status: creating m4/Makefile
    config.status: creating po/Makefile.in
    config.status: creating share/Makefile
    config.status: creating compat/Makefile
    config.status: creating src/Makefile
    config.status: creating lib/Makefile
    config.status: creating bin/Makefile
    config.status: creating test/Makefile
    config.status: creating modules/access_output/Makefile
    config.status: creating modules/audio_filter/Makefile
    config.status: creating modules/control/Makefile
    config.status: creating modules/gui/Makefile
    config.status: creating modules/gui/ios_dialog_provider/Makefile
    config.status: creating modules/gui/macosx/Makefile
    config.status: creating modules/gui/minimal_macosx/Makefile
    config.status: creating modules/gui/macosx_dialog_provider/Makefile
    config.status: creating modules/gui/qt4/Makefile
    config.status: creating modules/gui/skins2/Makefile
    config.status: creating modules/misc/Makefile
    config.status: creating modules/mux/Makefile
    config.status: creating modules/packetizer/Makefile
    config.status: creating modules/stream_out/Makefile
    config.status: creating modules/text_renderer/Makefile
    config.status: creating modules/video_filter/Makefile
    config.status: creating modules/video_output/Makefile
    config.status: creating modules/visualization/Makefile
    config.status: creating modules/hw/vdpau/Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    config.status: executing po-directories commands
    config.status: creating po/POTFILES
    config.status: creating po/Makefile

    libvlc configuration
    --------------------
    version               : 2.2.6
    system                : linux
    architecture          : aarch64
    optimizations         : yes
    vlc aliases           : cvlc rvlc qvlc svlc nvlc

    To build vlc and its plugins, type `make', or `./compile' if you like nice colors

    4.compile vlc

    ----make

    Error:access/dvb/scan.c:772:17: error: unknown type name ‘dvbpsi_service_dr_t’

    solution: I search all around the world,find this structure is contained in header file "dr_48.h"  addr: https://www.videolan.org/developers/libdvbpsi/doc/doxygen/html/dr_48_8h_source.html

    this file under the dir /usr/include/dvbpsi/dvb/dr_48.h,/dvbpsi/dr.h has include /dvb/dr_48.h,so why cannot usr struct in dr_48.h?

    got it!! all over everywhere, the struct name is "dvbpsi_service_dr_t",guess what is name in my new version dr_48.h??its "dvbpsi_dvb_service_dr_t",do you find the difference??f**k

    Its my fault, I should install libdvbpsi lower version.

    return to this article begin postion,reinstall the lower version libdvbpsi,then re compile vlc

    ----make

    Error: /usr/bin/ld: /usr/local/lib/libavformat.a(apngenc.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stack_chk_guard@@GLIBC_2.17' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: /usr/local/lib/libavformat.a(apngenc.o)(.text+0xf4): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `__stack_chk_guard@@GLIBC_2.17'
    /usr/bin/ld: final link failed: Bad value
    solution1 : https://bugs.launchpad.net/linaro-oe/+bug/1089933       look at ten floor    unuseful,but not fixed
    solution2 : configure add --enable-pic , no useful

    solution3 : Makefile CFLAGS add -fPIC no useful

    solution4 : in front of configure ,add CFLAGS="-fno-stack-protector -O2"(no neccesary add this )

    solution5 : all above ,the library which throw error(libavformat.a) is static ,but here we need shared library, so needs to compile the library with "-fPIC"....So I must reinstall libavformat.a ,when compile use the flag "-fPIC",so reinstall ffmpeg??

    its true,reinstall ffmpeg my vlc make is ok.(How do it ??When re configure ffmpeg, add CFLAGS="-fPIC")

    ----make

    after one night ,in the morning second day ,its success

    4.install vlc

    sudo make install

    5.reboot

    6.execute vlc

    Error:vlc X error baddrawable invalid pixmap or window parameter

    solution:edit /etc/environment,add line "QT_X11_NO_MITSHM=1" ,its OK

    7.execute vlc

    no way!!!this vlc with OpenMAX cannot use the GPU or other Hard Acceleration device on my RockChip RK3399 board,so I have to give up VLC!!!!

  • 相关阅读:
    CI平台
    【转】深藏不露,处世之道
    编写vscode插件
    css背景图宽度只适应,高度不变
    vue实现pc端无限加载功能
    box-shadow比较美观的阴影
    Nuxt.js项目实战
    vue图片放大镜效果
    vue分页组件
    为什么计算机中的小数位无法精确
  • 原文地址:https://www.cnblogs.com/jieliujas/p/10690663.html
Copyright © 2020-2023  润新知