Vireo is a lightweight and versatile video processing library written in C++11

Related tags

Miscellaneous vireo
Overview

Overview

Vireo is a lightweight and versatile video processing library that powers our video transcoding service, deep learning recognition systems and more. It is written in C++11 and built with functional programming principles. It also optionally comes with Scala wrappers that enable us to build scalable video processing applications within our backend services.

Vireo is built on top of best of class open source libraries (we did not reinvent the wheel), and defines a unified and modular interface for these libraries to communicate easily and efficiently. Thanks to a unified interface, it is easy to write new modules (e.g. new codec) or swap out the existing ones in favor of others (e.g. proprietary or hardware H.264 decoder).

Performance was a strong focus, as well as memory consumption: only the strictly required objects are kept in memory at all times, and we pick the fastest code, with negligible overhead. Some operations, such as trimming or remuxing, are blazing fast even on mobile!

Vireo caters to both high level engineers who want to focus on building products as well as lower level engineers focused on developing video technology. It is released under the MIT license and aims to make it easy for developers to do media processing and create both commercial and non-commercial (see Legal Disclaimer for details) applications.

Included are a number of additional command-line tools built with Vireo for common video processing tasks, such as inspecting a video or transcoding.

Included Tools:

  • frames: displays the contents of video files (list of audio/video samples, edit boxes, track durations etc.)
  • chunk: chunks GOPs of the input video as well as the audio track into separate mp4 files
  • psnr: compares the video quality of a test video against a reference video
  • remux: allows remuxing an input file into other compatible containers
  • stitch: stitches a number of input video files into a single video file
  • thumbnails: extracts keyframes from the input video and saves them as JPG images
  • transcode: transcodes an input video into another video with different format (able to change resolution, crop, change bitrate, convert containers/codecs)
  • trim: trims the input video at desired time boundaries without transcoding the input video
  • unchunk: puts the chunks created by the chunk tool together into a single mp4 file
  • validate: checks if the video is valid and if so, supported by vireo
  • viddiff: checks if two video files are functionally identical or not (does not compare data that does not affect the playback behavior)

How to Build Vireo and Tools

# within the main repository directory
$ cd vireo
$ export PREFIX=/path/to/install/dir
$ ./configure --prefix=$PREFIX
$ make
$ make install

Once built, you can find

  • the headers under $PREFIX/include
  • the compiled libraries under $PREFIX/lib
  • the tools under $PREFIX/bin

To run a tool and see their usage, simply execute:

$ $PREFIX/bin/<tool_name>

An exception to this rule is the validate tool which requires validate -h to show its usage as it uses STDIN for input.

Please note that some of the tools listed in List of Tools may not be built based on the availability of optional third-party libraries listed under Dependencies.

When compiling you can also optionally turn on C++ to Scala bindings by passing --enable-scala flag to configure. After you successfully build Vireo with these bindings, you can build the Scala wrappers by executing:

# within the main repository directory
$ cd vireo
$ ./build_scala.sh

This will place the built jar file under $PREFIX/lib.

Dependencies

Required tools (for building C++ library)

Optional tools (for building Scala wrappers)

Required libraries

Optional libraries

The following libraries are automatically enabled if present in your system

The following libraries are disabled by default. To enable GPL licensed components, they have to be present in your system and --enable-gpl flag have to be explicitly passed to configure

Legal Disclaimer

This installer allows you to select various third-party, pre-installed components to build with the Vireo platform. Some of these components are provided under licenses that may be incompatible with each other, so it may not be compliant to build all of the optional components together. You are responsible to determine what components to use for your build, and for complying with the applicable licenses. In addition, the use of some of the components of the Vireo platform, including those that implement the H.264, AAC, or MPEG-4 formats, may require licenses from third party patent holders. You are responsible for determining whether your contemplated use requires such a license.

Using Vireo in Your Own Project

Code Examples

To give you an idea on what you can build using Vireo, we provide 3 simple code snippets below.

  1. Remuxing an input file to mp4
/*
 * This function works without GPL dependencies
 */
void remux(string in, string out) {
  // setup the demux -> mux pipeline
  demux::Movie movie(in);
  mux::MP4 muxer(movie.video_track);
  // nothing is executed until muxer() is called
  auto binary = muxer();
  // save to file
  util::save(out, binary);
}
  1. Remuxing keyframes of an input file to mp4
/*
 * This function works without GPL dependencies
 */
void keyframes(string in, string out) {
  demux::Movie movie(in);
  // extract keyframes using .filter operator
  auto keyframes = movie.video_track.filter([](decode::Sample& sample) {
    return sample.keyframe;
  });
  mux::MP4 muxer(keyframes);
  // nothing is executed until muxer() is called
  auto binary = muxer();
  util::save(out, binary);
}
  1. Transcoding an input file to mp4
/*
 * This function requires vireo to be built with --enable-gpl flag
 */
void transcode(string in, string out) {
  // setup the demux -> decode -> encode -> mux pipeline
  demux::Movie movie(in);
  decode::Video decoder(movie.video_track);
  encode::H264 encoder(decoder, 30.0f, 3, movie.video_track.fps());
  mux::MP4 muxer(encoder);
  // nothing is executed until muxer() is called
  auto binary = muxer();
  // save to file
  util::save(out, binary);
}

Build a HelloWorld Application with Vireo

You can build your own application simply by using pkg-config. Just make sure you add the Vireo install directory to your PKG_CONFIG_PATH if you did not install Vireo to a path where pkg-config is already looking at.

To build the examples provided in Code Examples section, simply execute the following:

# within the main repository directory
$ export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
$ cd vireo/helloworld
$ g++ `pkg-config --cflags --libs vireo` -std=c++14 -o helloworld helloworld.cpp
$ ./helloworld

Guidelines for Contributors

  • Make sure you have a detailed description about the change in your commit.
  • Prefer code readability over fast development and premature performance optimizations.
  • If you're making assumptions (can happen due to lack of enough test data, confusing documentation in the standards, or you're avoiding implementing a rare edge case in order to decrease code complexity and development cost), make sure they are documented in code. Both with a THROW_IF(..., Unsupported, "reason") (or CHECK(...)) and ideally in comments as well.
  • If there is any API or functionality change, make sure the affected tools (remux, transcode etc.) are also updated.
Comments
  • Compilation issue on ubuntu

    Compilation issue on ubuntu

    Hi, I get the following issue while trying to build:

    ./configure --prefix=$PREFIX 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 make supports nested variables... (cached) yes checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for g++... g++ 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 g++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of g++... gcc3 checking for gawk... (cached) gawk checking for gcc... gcc 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 how to run the C preprocessor... gcc -E checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking whether g++ supports C++14 features by default... no checking whether g++ supports C++14 features with -std=gnu++14... yes checking whether C++ compiler accepts -fvisibility=hidden... yes checking for lsmash_free in -llsmash... yes checking for aacDecoder_Open in -lfdk-aac... yes checking for ogg_packet_clear in -logg... yes checking for pthread_create in -lpthread... yes checking for vorbis_block_init in -lvorbis... yes checking for vorbis_encode_init in -lvorbisenc... yes checking for vpx_free in -lvpx... no checking for _ZN8mkvmuxer10AudioTrackC1EPj in -lwebm... no checking for deflate in -lz... yes checking how to run the C++ preprocessor... g++ -std=gnu++14 -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 fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking for unistd.h... (cached) yes checking for stdbool.h that conforms to C99... no checking for _Bool... no checking for inline... inline checking for int16_t... yes checking for int32_t... yes checking for int64_t... yes checking for size_t... yes checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for uint8_t... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/param.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for getcwd... yes checking for memset... yes checking for mkdir... yes checking for munmap... yes checking for sqrt... yes checking for strrchr... yes 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 the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-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... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... (cached) ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 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... no 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 -m elf_x86_64) 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 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... yes checking how to run the C++ preprocessor... g++ -std=gnu++14 -E checking for ld used by g++ -std=gnu++14... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ -std=gnu++14 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ -std=gnu++14 option to produce PIC... -fPIC -DPIC checking if g++ -std=gnu++14 PIC flag -fPIC -DPIC works... yes checking if g++ -std=gnu++14 static flag -static works... no checking if g++ -std=gnu++14 supports -c -o file.o... yes checking if g++ -std=gnu++14 supports -c -o file.o... (cached) yes checking whether the g++ -std=gnu++14 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating vireo.pc config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands === configuring in ../imagecore (/media/sanil/SanilED/Video/Twitter/vireo/vireo/../imagecore) configure: running /bin/bash ./configure --disable-option-checking '--prefix=/media/sanil/SanilED/Video/Twitter/install' --cache-file=/dev/null --srcdir=. 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 make supports nested variables... (cached) yes 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 for style of include used by make... GNU checking dependency style of gcc... gcc3 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 for jpeg_mem_src in -ljpeg... no checking for png_create_read_struct in -lpng16... no checking for WebPDecode in -lwebp... yes checking for cmsCloseProfile in -llcms2... no checking whether C++ compiler accepts -msse4.1... yes checking whether g++ supports C++11 features by default... no checking whether g++ supports C++11 features with -std=gnu++11... yes checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E 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 how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-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... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n 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 a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -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 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 -m elf_x86_64) 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 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... yes checking how to run the C++ preprocessor... g++ -std=gnu++11 -E checking for ld used by g++ -std=gnu++11... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ -std=gnu++11 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ -std=gnu++11 option to produce PIC... -fPIC -DPIC checking if g++ -std=gnu++11 PIC flag -fPIC -DPIC works... yes checking if g++ -std=gnu++11 static flag -static works... yes checking if g++ -std=gnu++11 supports -c -o file.o... yes checking if g++ -std=gnu++11 supports -c -o file.o... (cached) yes checking whether the g++ -std=gnu++11 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands config.status: executing libtool commands

    make make all-recursive make[1]: Entering directory '/media/sanil/SanilED/Video/Twitter/vireo/vireo' Making all in ../imagecore make[2]: Entering directory '/media/sanil/SanilED/Video/Twitter/vireo/imagecore' CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /media/sanil/SanilED/Video/Twitter/vireo/imagecore/missing aclocal-1.15 ../m4/m4-ax_cxx_compile_stdcxx_11.m4:38: error: macro AX_CXX_COMPILE_STDCXX is not defined; is a m4 file missing? /usr/share/aclocal/ax_require_defined.m4:35: AX_REQUIRE_DEFINED is expanded from... ../m4/m4-ax_cxx_compile_stdcxx_11.m4:38: the top level autom4te: /usr/bin/m4 failed with exit status: 1 aclocal-1.15: error: echo failed with exit status: 1 Makefile:499: recipe for target 'aclocal.m4' failed make[2]: *** [aclocal.m4] Error 1 make[2]: Leaving directory '/media/sanil/SanilED/Video/Twitter/vireo/imagecore' Makefile:2087: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/media/sanil/SanilED/Video/Twitter/vireo/vireo' Makefile:649: recipe for target 'all' failed make: *** [all] Error 2

    Can someone please let me know how I should resolve it?

    Thanks!

    bug 
    opened by sr1990 9
  • Re-factor post-increments to pre-increments and reserve where performace will increase.

    Re-factor post-increments to pre-increments and reserve where performace will increase.

    Change all post-increments to pre-increments where necessary to improve performance.

    For example consider the following:

    class Integer {
    
      public:
    
      // Sample implementation of pre-incrementing.
      Integer & operator++() {
        myInt += 1;
        return *this;
      }
      // Sample implementation of post-incrementing.
      const Integer operator++(int) {
        Integer temporary = *this;
        ++*this;
        return temporary;
      }
    
      private:
    
      int myInt;
    };
    

    The additional copy (temporary) in post-incrementing step is unnecessary.

    Also optimized a vector which was not being reserved even though we knew the exact number of elements that were going into it.

    opened by shahzadlone 3
  • fix: an overflow bug for div2_round

    fix: an overflow bug for div2_round

    There is a potential overflow bug for div2_round function.

    When parameter a of function div2_round (in vireo/imagecore/utils/mathutils.h) has the maximum value, the result is 0 which is incorrect.

    opened by cutezerocat 3
  • 'vireo/config.h' file not found

    'vireo/config.h' file not found

    Hi, I was testing helloworld.cpp outside of the video directory and I got the following error:

    /Users/multi/GestioneProgetti/Development/vireo/vireoBinaries/include/vireo/dependency.hpp:28:10: fatal error: 'vireo/config.h' file not found #include "vireo/config.h"

    I guess, since 'vireo/config.h' is included from 'vireo/dependency.hpp', I guess 'vireo/config.h' has to be installed during the 'make install' command.

    Do you agree?

    To solve this issue I copied manually config.h into the vireo installation directory.

    Best regards Giuliano

    bug 
    opened by giulianoc 2
  • Debug information option for the vireo and l-smash binaries

    Debug information option for the vireo and l-smash binaries

    Hi, I'm having a crash and I'm doing some debugging...

    Anyway, it would be good if vireo and l-smash would have the compile option to set debug information in his binaries.

    Because of that, inside the vireo/vireo/configure.ac, I added the following option to add debug information: AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug], [enable debugging, default: no]), [case "${enableval}" in
    yes) debug=true ;; no) debug=false ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;; esac], [debug=false])
    AM_CONDITIONAL(DEBUG, test x"$debug" = x"true")

    Is it possible

    1. to add the above option/code in the github release
    2. to make same change in configure of the l-smash project

    Best regards Giuliano

    opened by giulianoc 1
  • so what was wrong with gstreamer ?

    so what was wrong with gstreamer ?

    it would be very instructive to get some information in the README about how vireo compares to other existing frameworks. Being able to understand the pros and cons is a decision maker.

    opened by kapouer 1
  • Update license to remove comment formatting

    Update license to remove comment formatting

    As part of some GitHub cleanup, Twitter's OSPO is updating license text to use the full text of the stated license with correct formatting. If there are no objections in the next 7 days, we will go ahead and merge this PR.

    opened by juliaferraioli 0
  • Bad value

    Bad value

    ==> make /usr/bin/ld: //usr/local/lib/libvpx.a(vpx_codec.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC //usr/local/lib/libvpx.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status

    opened by ytimoumi 0
  • Add Dockerfile

    Add Dockerfile

    You can compile vireo with docker ...

    FROM ubuntu:16.04 RUN mkdir ytimoumi WORKDIR ./ytimoumi RUN apt-get update && apt-get -y install autoconf automake build-essential pkg-config git RUN apt-get -y install libpng-dev libjpeg-dev libfdk-aac-dev libvpx-dev libogg-dev libvorbis-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libx264-dev
    && export TERM=xterm
    && git clone https://github.com/twitter/vireo.git
    && git clone https://github.com/l-smash/l-smash.git
    && cd l-smash && git fetch --all --tags --prune && git checkout tags/v2.9.1 && ./configure --enable-shared && make && make install && ldconfig
    && cd ../vireo/vireo && export PREFIX=/usr/local/ && ./configure --prefix=$PREFIX && make && make install #33 && cd ../vireo/vireo && export PREFIX=/usr/local/ && ./configure --prefix=$PREFIX --enable-gpl && make && make install

    #33 Build : docker build -t ytimoumi/vireo . #33 Run : docker run -it ytimoumi/vireo bash

    opened by ytimoumi 0
  • Resource leak

    Resource leak

    Stream is opened https://github.com/twitter/vireo/blob/f950cba87014045e11b5690285e1c75081cd5787/imagetool/commands/frames.cpp#L72 Opened file never closed https://github.com/twitter/vireo/blob/f950cba87014045e11b5690285e1c75081cd5787/imagetool/commands/frames.cpp#L84

    opened by QiAnXinCodeSafe 0
  • Unable to compile: Makefile:1324: recipe for target 'common/libvireo_la-data.lo' failed

    Unable to compile: Makefile:1324: recipe for target 'common/libvireo_la-data.lo' failed

    Trying to compile vireo simply to transcode avis before uploading them to twitter (twitter always fails to transcode online)

    ./configure --enable-gpl

    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    
    It was created by vireo configure 2.4.22, which was
    generated by GNU Autoconf 2.69.  Invocation command line was
    
      $ ./configure --enable-gpl
    
    ## --------- ##
    ## Platform. ##
    ## --------- ##
    
    hostname = puppypc26290
    uname -m = i686
    uname -r = 4.4.95
    uname -s = Linux
    uname -v = #1 SMP Mon Nov 13 17:15:42 GMT 2017
    
    /usr/bin/uname -p = unknown
    /bin/uname -X     = unknown
    
    /bin/arch              = i686
    /usr/bin/arch -k       = unknown
    /usr/convex/getsysinfo = unknown
    /usr/bin/hostinfo      = unknown
    /bin/machine           = unknown
    /usr/bin/oslevel       = unknown
    /bin/universe          = unknown
    
    PATH: /bin
    PATH: /usr/bin
    PATH: /sbin
    PATH: /usr/sbin
    PATH: /usr/local/bin
    PATH: /usr/X11R7/bin
    PATH: /root/my-applications/bin
    PATH: /usr/games
    
    
    ## ----------- ##
    ## Core tests. ##
    ## ----------- ##
    
    configure:2717: checking for a BSD-compatible install
    configure:2785: result: /usr/bin/ginstall -c
    configure:2796: checking whether build environment is sane
    configure:2851: result: yes
    configure:3002: checking for a thread-safe mkdir -p
    configure:3041: result: ./install-sh -c -d
    configure:3048: checking for gawk
    configure:3064: found /bin/gawk
    configure:3075: result: gawk
    configure:3086: checking whether make sets $(MAKE)
    configure:3108: result: yes
    configure:3137: checking whether make supports nested variables
    configure:3154: result: yes
    configure:3291: checking whether make supports nested variables
    configure:3308: result: yes
    configure:3324: checking build system type
    configure:3338: result: i686-pc-linux-gnu
    configure:3358: checking host system type
    configure:3371: result: i686-pc-linux-gnu
    configure:3454: checking for g++
    configure:3470: found /usr/bin/g++
    configure:3481: result: g++
    configure:3508: checking for C++ compiler version
    configure:3517: g++ --version >&5
    g++ (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
    Copyright (C) 2015 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    configure:3528: $? = 0
    configure:3517: g++ -v >&5
    Using built-in specs.
    COLLECT_GCC=g++
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/5/lto-wrapper
    Target: i686-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.5' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    Thread model: posix
    gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 
    configure:3528: $? = 0
    configure:3517: g++ -V >&5
    g++: error: unrecognized command line option '-V'
    g++: fatal error: no input files
    compilation terminated.
    configure:3528: $? = 1
    configure:3517: g++ -qversion >&5
    g++: error: unrecognized command line option '-qversion'
    g++: fatal error: no input files
    compilation terminated.
    configure:3528: $? = 1
    configure:3548: checking whether the C++ compiler works
    configure:3570: g++    conftest.cpp  >&5
    configure:3574: $? = 0
    configure:3622: result: yes
    configure:3625: checking for C++ compiler default output file name
    configure:3627: result: a.out
    configure:3633: checking for suffix of executables
    configure:3640: g++ -o conftest    conftest.cpp  >&5
    configure:3644: $? = 0
    configure:3666: result: 
    configure:3688: checking whether we are cross compiling
    configure:3696: g++ -o conftest    conftest.cpp  >&5
    configure:3700: $? = 0
    configure:3707: ./conftest
    configure:3711: $? = 0
    configure:3726: result: no
    configure:3731: checking for suffix of object files
    configure:3753: g++ -c   conftest.cpp >&5
    configure:3757: $? = 0
    configure:3778: result: o
    configure:3782: checking whether we are using the GNU C++ compiler
    configure:3801: g++ -c   conftest.cpp >&5
    configure:3801: $? = 0
    configure:3810: result: yes
    configure:3819: checking whether g++ accepts -g
    configure:3839: g++ -c -g  conftest.cpp >&5
    configure:3839: $? = 0
    configure:3880: result: yes
    configure:3914: checking for style of include used by make
    configure:3942: result: GNU
    configure:3968: checking dependency style of g++
    configure:4079: result: gcc3
    configure:4098: checking for gawk
    configure:4125: result: gawk
    configure:4184: checking for gcc
    configure:4200: found /usr/bin/gcc
    configure:4211: result: gcc
    configure:4440: checking for C compiler version
    configure:4449: gcc --version >&5
    gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
    Copyright (C) 2015 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    configure:4460: $? = 0
    configure:4449: gcc -v >&5
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/5/lto-wrapper
    Target: i686-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.5' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    Thread model: posix
    gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 
    configure:4460: $? = 0
    configure:4449: gcc -V >&5
    gcc: error: unrecognized command line option '-V'
    gcc: fatal error: no input files
    compilation terminated.
    configure:4460: $? = 1
    configure:4449: gcc -qversion >&5
    gcc: error: unrecognized command line option '-qversion'
    gcc: fatal error: no input files
    compilation terminated.
    configure:4460: $? = 1
    configure:4464: checking whether we are using the GNU C compiler
    configure:4483: gcc -c   conftest.c >&5
    configure:4483: $? = 0
    configure:4492: result: yes
    configure:4501: checking whether gcc accepts -g
    configure:4521: gcc -c -g  conftest.c >&5
    configure:4521: $? = 0
    configure:4562: result: yes
    configure:4579: checking for gcc option to accept ISO C89
    configure:4642: gcc  -c -g -O2  conftest.c >&5
    configure:4642: $? = 0
    configure:4655: result: none needed
    configure:4680: checking whether gcc understands -c and -o together
    configure:4702: gcc -c conftest.c -o conftest2.o
    configure:4705: $? = 0
    configure:4702: gcc -c conftest.c -o conftest2.o
    configure:4705: $? = 0
    configure:4717: result: yes
    configure:4736: checking dependency style of gcc
    configure:4847: result: gcc3
    configure:4867: checking how to run the C preprocessor
    configure:4898: gcc -E  conftest.c
    configure:4898: $? = 0
    configure:4912: gcc -E  conftest.c
    conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
    compilation terminated.
    configure:4912: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | /* end confdefs.h.  */
    | #include <ac_nonexistent.h>
    configure:4937: result: gcc -E
    configure:4957: gcc -E  conftest.c
    configure:4957: $? = 0
    configure:4971: gcc -E  conftest.c
    conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
    compilation terminated.
    configure:4971: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | /* end confdefs.h.  */
    | #include <ac_nonexistent.h>
    configure:5000: checking whether ln -s works
    configure:5004: result: yes
    configure:5011: checking whether make sets $(MAKE)
    configure:5033: result: yes
    configure:5085: checking for ranlib
    configure:5101: found /usr/bin/ranlib
    configure:5112: result: ranlib
    configure:5148: checking whether g++ supports C++14 features by default
    configure:5562: g++ -c -g -O2  conftest.cpp >&5
    conftest.cpp:22:2: error: #error "This is not a C++11 compiler"
     #error "This is not a C++11 compiler"
      ^
    conftest.cpp:307:2: error: #error "This is not a C++14 compiler"
     #error "This is not a C++14 compiler"
      ^
    configure:5562: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | /* end confdefs.h.  */
    | 
    | 
    | // If the compiler admits that it is not ready for C++11, why torture it?
    | // Hopefully, this will speed up the test.
    | 
    | #ifndef __cplusplus
    | 
    | #error "This is not a C++ compiler"
    | 
    | #elif __cplusplus < 201103L
    | 
    | #error "This is not a C++11 compiler"
    | 
    | #else
    | 
    | namespace cxx11
    | {
    | 
    |   namespace test_static_assert
    |   {
    | 
    |     template <typename T>
    |     struct check
    |     {
    |       static_assert(sizeof(int) <= sizeof(T), "not big enough");
    |     };
    | 
    |   }
    | 
    |   namespace test_final_override
    |   {
    | 
    |     struct Base
    |     {
    |       virtual void f() {}
    |     };
    | 
    |     struct Derived : public Base
    |     {
    |       virtual void f() override {}
    |     };
    | 
    |   }
    | 
    |   namespace test_double_right_angle_brackets
    |   {
    | 
    |     template < typename T >
    |     struct check {};
    | 
    |     typedef check<void> single_type;
    |     typedef check<check<void>> double_type;
    |     typedef check<check<check<void>>> triple_type;
    |     typedef check<check<check<check<void>>>> quadruple_type;
    | 
    |   }
    | 
    |   namespace test_decltype
    |   {
    | 
    |     int
    |     f()
    |     {
    |       int a = 1;
    |       decltype(a) b = 2;
    |       return a + b;
    |     }
    | 
    |   }
    | 
    |   namespace test_type_deduction
    |   {
    | 
    |     template < typename T1, typename T2 >
    |     struct is_same
    |     {
    |       static const bool value = false;
    |     };
    | 
    |     template < typename T >
    |     struct is_same<T, T>
    |     {
    |       static const bool value = true;
    |     };
    | 
    |     template < typename T1, typename T2 >
    |     auto
    |     add(T1 a1, T2 a2) -> decltype(a1 + a2)
    |     {
    |       return a1 + a2;
    |     }
    | 
    |     int
    |     test(const int c, volatile int v)
    |     {
    |       static_assert(is_same<int, decltype(0)>::value == true, "");
    |       static_assert(is_same<int, decltype(c)>::value == false, "");
    |       static_assert(is_same<int, decltype(v)>::value == false, "");
    |       auto ac = c;
    |       auto av = v;
    |       auto sumi = ac + av + 'x';
    |       auto sumf = ac + av + 1.0;
    |       static_assert(is_same<int, decltype(ac)>::value == true, "");
    |       static_assert(is_same<int, decltype(av)>::value == true, "");
    |       static_assert(is_same<int, decltype(sumi)>::value == true, "");
    |       static_assert(is_same<int, decltype(sumf)>::value == false, "");
    |       static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
    |       return (sumf > 0.0) ? sumi : add(c, v);
    |     }
    | 
    |   }
    | 
    |   namespace test_noexcept
    |   {
    | 
    |     int f() { return 0; }
    |     int g() noexcept { return 0; }
    | 
    |     static_assert(noexcept(f()) == false, "");
    |     static_assert(noexcept(g()) == true, "");
    | 
    |   }
    | 
    |   namespace test_constexpr
    |   {
    | 
    |     template < typename CharT >
    |     unsigned long constexpr
    |     strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
    |     {
    |       return *s ? strlen_c_r(s + 1, acc + 1) : acc;
    |     }
    | 
    |     template < typename CharT >
    |     unsigned long constexpr
    |     strlen_c(const CharT *const s) noexcept
    |     {
    |       return strlen_c_r(s, 0UL);
    |     }
    | 
    |     static_assert(strlen_c("") == 0UL, "");
    |     static_assert(strlen_c("1") == 1UL, "");
    |     static_assert(strlen_c("example") == 7UL, "");
    |     static_assert(strlen_c("another\0example") == 7UL, "");
    | 
    |   }
    | 
    |   namespace test_rvalue_references
    |   {
    | 
    |     template < int N >
    |     struct answer
    |     {
    |       static constexpr int value = N;
    |     };
    | 
    |     answer<1> f(int&)       { return answer<1>(); }
    |     answer<2> f(const int&) { return answer<2>(); }
    |     answer<3> f(int&&)      { return answer<3>(); }
    | 
    |     void
    |     test()
    |     {
    |       int i = 0;
    |       const int c = 0;
    |       static_assert(decltype(f(i))::value == 1, "");
    |       static_assert(decltype(f(c))::value == 2, "");
    |       static_assert(decltype(f(0))::value == 3, "");
    |     }
    | 
    |   }
    | 
    |   namespace test_uniform_initialization
    |   {
    | 
    |     struct test
    |     {
    |       static const int zero {};
    |       static const int one {1};
    |     };
    | 
    |     static_assert(test::zero == 0, "");
    |     static_assert(test::one == 1, "");
    | 
    |   }
    | 
    |   namespace test_lambdas
    |   {
    | 
    |     void
    |     test1()
    |     {
    |       auto lambda1 = [](){};
    |       auto lambda2 = lambda1;
    |       lambda1();
    |       lambda2();
    |     }
    | 
    |     int
    |     test2()
    |     {
    |       auto a = [](int i, int j){ return i + j; }(1, 2);
    |       auto b = []() -> int { return '0'; }();
    |       auto c = [=](){ return a + b; }();
    |       auto d = [&](){ return c; }();
    |       auto e = [a, &b](int x) mutable {
    |         const auto identity = [](int y){ return y; };
    |         for (auto i = 0; i < a; ++i)
    |           a += b--;
    |         return x + identity(a + b);
    |       }(0);
    |       return a + b + c + d + e;
    |     }
    | 
    |     int
    |     test3()
    |     {
    |       const auto nullary = [](){ return 0; };
    |       const auto unary = [](int x){ return x; };
    |       using nullary_t = decltype(nullary);
    |       using unary_t = decltype(unary);
    |       const auto higher1st = [](nullary_t f){ return f(); };
    |       const auto higher2nd = [unary](nullary_t f1){
    |         return [unary, f1](unary_t f2){ return f2(unary(f1())); };
    |       };
    |       return higher1st(nullary) + higher2nd(nullary)(unary);
    |     }
    | 
    |   }
    | 
    |   namespace test_variadic_templates
    |   {
    | 
    |     template <int...>
    |     struct sum;
    | 
    |     template <int N0, int... N1toN>
    |     struct sum<N0, N1toN...>
    |     {
    |       static constexpr auto value = N0 + sum<N1toN...>::value;
    |     };
    | 
    |     template <>
    |     struct sum<>
    |     {
    |       static constexpr auto value = 0;
    |     };
    | 
    |     static_assert(sum<>::value == 0, "");
    |     static_assert(sum<1>::value == 1, "");
    |     static_assert(sum<23>::value == 23, "");
    |     static_assert(sum<1, 2>::value == 3, "");
    |     static_assert(sum<5, 5, 11>::value == 21, "");
    |     static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
    | 
    |   }
    | 
    |   // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
    |   // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
    |   // because of this.
    |   namespace test_template_alias_sfinae
    |   {
    | 
    |     struct foo {};
    | 
    |     template<typename T>
    |     using member = typename T::member_type;
    | 
    |     template<typename T>
    |     void func(...) {}
    | 
    |     template<typename T>
    |     void func(member<T>*) {}
    | 
    |     void test();
    | 
    |     void test() { func<foo>(0); }
    | 
    |   }
    | 
    | }  // namespace cxx11
    | 
    | #endif  // __cplusplus >= 201103L
    | 
    | 
    | 
    | 
    | // If the compiler admits that it is not ready for C++14, why torture it?
    | // Hopefully, this will speed up the test.
    | 
    | #ifndef __cplusplus
    | 
    | #error "This is not a C++ compiler"
    | 
    | #elif __cplusplus < 201402L
    | 
    | #error "This is not a C++14 compiler"
    | 
    | #else
    | 
    | namespace cxx14
    | {
    | 
    |   namespace test_polymorphic_lambdas
    |   {
    | 
    |     int
    |     test()
    |     {
    |       const auto lambda = [](auto&&... args){
    |         const auto istiny = [](auto x){
    |           return (sizeof(x) == 1UL) ? 1 : 0;
    |         };
    |         const int aretiny[] = { istiny(args)... };
    |         return aretiny[0];
    |       };
    |       return lambda(1, 1L, 1.0f, '1');
    |     }
    | 
    |   }
    | 
    |   namespace test_binary_literals
    |   {
    | 
    |     constexpr auto ivii = 0b0000000000101010;
    |     static_assert(ivii == 42, "wrong value");
    | 
    |   }
    | 
    |   namespace test_generalized_constexpr
    |   {
    | 
    |     template < typename CharT >
    |     constexpr unsigned long
    |     strlen_c(const CharT *const s) noexcept
    |     {
    |       auto length = 0UL;
    |       for (auto p = s; *p; ++p)
    |         ++length;
    |       return length;
    |     }
    | 
    |     static_assert(strlen_c("") == 0UL, "");
    |     static_assert(strlen_c("x") == 1UL, "");
    |     static_assert(strlen_c("test") == 4UL, "");
    |     static_assert(strlen_c("another\0test") == 7UL, "");
    | 
    |   }
    | 
    |   namespace test_lambda_init_capture
    |   {
    | 
    |     int
    |     test()
    |     {
    |       auto x = 0;
    |       const auto lambda1 = [a = x](int b){ return a + b; };
    |       const auto lambda2 = [a = lambda1(x)](){ return a; };
    |       return lambda2();
    |     }
    | 
    |   }
    | 
    |   namespace test_digit_separators
    |   {
    | 
    |     constexpr auto ten_million = 100'000'000;
    |     static_assert(ten_million == 100000000, "");
    | 
    |   }
    | 
    |   namespace test_return_type_deduction
    |   {
    | 
    |     auto f(int& x) { return x; }
    |     decltype(auto) g(int& x) { return x; }
    | 
    |     template < typename T1, typename T2 >
    |     struct is_same
    |     {
    |       static constexpr auto value = false;
    |     };
    | 
    |     template < typename T >
    |     struct is_same<T, T>
    |     {
    |       static constexpr auto value = true;
    |     };
    | 
    |     int
    |     test()
    |     {
    |       auto x = 0;
    |       static_assert(is_same<int, decltype(f(x))>::value, "");
    |       static_assert(is_same<int&, decltype(g(x))>::value, "");
    |       return x;
    |     }
    | 
    |   }
    | 
    | }  // namespace cxx14
    | 
    | #endif  // __cplusplus >= 201402L
    | 
    | 
    | 
    configure:5569: result: no
    configure:5579: checking whether g++ supports C++14 features with -std=gnu++14
    configure:5995: g++ -std=gnu++14 -c -g -O2  conftest.cpp >&5
    configure:5995: $? = 0
    configure:6004: result: yes
    configure:6044: checking whether C++ compiler accepts -fvisibility=hidden
    configure:6063: g++ -std=gnu++14 -c -g -O2  -fvisibility=hidden  conftest.cpp >&5
    configure:6063: $? = 0
    configure:6071: result: yes
    configure:6359: checking for lsmash_free in -llsmash
    configure:6384: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -llsmash   >&5
    configure:6384: $? = 0
    configure:6393: result: yes
    configure:6407: checking for aacDecoder_Open in -lfdk-aac
    configure:6432: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lfdk-aac  -llsmash  >&5
    /usr/bin/ld: cannot find -lfdk-aac
    collect2: error: ld returned 1 exit status
    configure:6432: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | /* end confdefs.h.  */
    | 
    | /* Override any GCC internal prototype to avoid an error.
    |    Use char because int might match the return type of a GCC
    |    builtin and then its argument prototype would still apply.  */
    | #ifdef __cplusplus
    | extern "C"
    | #endif
    | char aacDecoder_Open ();
    | int
    | main ()
    | {
    | return aacDecoder_Open ();
    |   ;
    |   return 0;
    | }
    configure:6441: result: no
    configure:6452: checking for ogg_packet_clear in -logg
    configure:6477: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -logg  -llsmash  >&5
    configure:6477: $? = 0
    configure:6486: result: yes
    configure:6497: checking for pthread_create in -lpthread
    configure:6522: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lpthread  -logg -llsmash  >&5
    configure:6522: $? = 0
    configure:6531: result: yes
    configure:6542: checking for vorbis_block_init in -lvorbis
    configure:6567: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lvorbis  -lpthread -logg -llsmash  >&5
    configure:6567: $? = 0
    configure:6576: result: yes
    configure:6587: checking for vorbis_encode_init in -lvorbisenc
    configure:6612: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lvorbisenc  -lvorbis -lpthread -logg -llsmash  >&5
    configure:6612: $? = 0
    configure:6621: result: yes
    configure:6632: checking for vpx_free in -lvpx
    configure:6657: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lvpx  -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    /tmp/ccOAEshx.o: In function `main':
    /root/src/vireo-master/vireo/conftest.cpp:28: undefined reference to `vpx_free'
    collect2: error: ld returned 1 exit status
    configure:6657: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | /* end confdefs.h.  */
    | 
    | /* Override any GCC internal prototype to avoid an error.
    |    Use char because int might match the return type of a GCC
    |    builtin and then its argument prototype would still apply.  */
    | #ifdef __cplusplus
    | extern "C"
    | #endif
    | char vpx_free ();
    | int
    | main ()
    | {
    | return vpx_free ();
    |   ;
    |   return 0;
    | }
    configure:6666: result: no
    configure:6677: checking for _ZN8mkvmuxer10AudioTrackC1EPj in -lwebm
    configure:6702: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lwebm  -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    /usr/bin/ld: cannot find -lwebm
    collect2: error: ld returned 1 exit status
    configure:6702: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | /* end confdefs.h.  */
    | 
    | /* Override any GCC internal prototype to avoid an error.
    |    Use char because int might match the return type of a GCC
    |    builtin and then its argument prototype would still apply.  */
    | #ifdef __cplusplus
    | extern "C"
    | #endif
    | char _ZN8mkvmuxer10AudioTrackC1EPj ();
    | int
    | main ()
    | {
    | return _ZN8mkvmuxer10AudioTrackC1EPj ();
    |   ;
    |   return 0;
    | }
    configure:6711: result: no
    configure:6722: checking for deflate in -lz
    configure:6747: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lz  -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:6747: $? = 0
    configure:6756: result: yes
    configure:6770: checking for av_init_packet in -lavcodec
    configure:6795: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lavcodec  -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:6795: $? = 0
    configure:6804: result: yes
    configure:6822: checking for av_add_index_entry in -lavformat
    configure:6847: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lavformat  -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:6847: $? = 0
    configure:6856: result: yes
    configure:6874: checking for av_asprintf in -lavutil
    configure:6899: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lavutil  -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:6899: $? = 0
    configure:6908: result: yes
    configure:6926: checking for swscale_version in -lswscale
    configure:6951: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lswscale  -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:6951: $? = 0
    configure:6960: result: yes
    configure:6978: checking for x264_free in -lx264
    configure:7003: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264  -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7003: $? = 0
    configure:7012: result: yes
    configure:7125: checking how to run the C++ preprocessor
    configure:7152: g++ -std=gnu++14 -E  conftest.cpp
    configure:7152: $? = 0
    configure:7166: g++ -std=gnu++14 -E  conftest.cpp
    conftest.cpp:23:28: fatal error: ac_nonexistent.h: No such file or directory
    compilation terminated.
    configure:7166: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | /* end confdefs.h.  */
    | #include <ac_nonexistent.h>
    configure:7191: result: g++ -std=gnu++14 -E
    configure:7211: g++ -std=gnu++14 -E  conftest.cpp
    configure:7211: $? = 0
    configure:7225: g++ -std=gnu++14 -E  conftest.cpp
    conftest.cpp:23:28: fatal error: ac_nonexistent.h: No such file or directory
    compilation terminated.
    configure:7225: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | /* end confdefs.h.  */
    | #include <ac_nonexistent.h>
    configure:7254: checking for grep that handles long lines and -e
    configure:7312: result: /bin/grep
    configure:7317: checking for egrep
    configure:7379: result: /bin/grep -E
    configure:7384: checking for ANSI C header files
    configure:7404: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7404: $? = 0
    configure:7477: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7477: $? = 0
    configure:7477: ./conftest
    configure:7477: $? = 0
    configure:7488: result: yes
    configure:7501: checking for sys/types.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for sys/stat.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for stdlib.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for string.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for memory.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for strings.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for inttypes.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for stdint.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7501: checking for unistd.h
    configure:7501: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7501: $? = 0
    configure:7501: result: yes
    configure:7516: checking fcntl.h usability
    configure:7516: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7516: $? = 0
    configure:7516: result: yes
    configure:7516: checking fcntl.h presence
    configure:7516: g++ -std=gnu++14 -E  conftest.cpp
    configure:7516: $? = 0
    configure:7516: result: yes
    configure:7516: checking for fcntl.h
    configure:7516: result: yes
    configure:7516: checking stddef.h usability
    configure:7516: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7516: $? = 0
    configure:7516: result: yes
    configure:7516: checking stddef.h presence
    configure:7516: g++ -std=gnu++14 -E  conftest.cpp
    configure:7516: $? = 0
    configure:7516: result: yes
    configure:7516: checking for stddef.h
    configure:7516: result: yes
    configure:7516: checking for stdlib.h
    configure:7516: result: yes
    configure:7516: checking for string.h
    configure:7516: result: yes
    configure:7516: checking sys/param.h usability
    configure:7516: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7516: $? = 0
    configure:7516: result: yes
    configure:7516: checking sys/param.h presence
    configure:7516: g++ -std=gnu++14 -E  conftest.cpp
    configure:7516: $? = 0
    configure:7516: result: yes
    configure:7516: checking for sys/param.h
    configure:7516: result: yes
    configure:7516: checking for unistd.h
    configure:7516: result: yes
    configure:7528: checking for stdbool.h that conforms to C99
    configure:7595: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    conftest.cpp:42:15: error: expected unqualified-id before string constant
                   "error: bool is not defined"
                   ^
    conftest.cpp:60:48: error: 's' does not name a type
                  struct s { _Bool s: 1; _Bool t; } s;
                                                    ^
    conftest.cpp:70:28: error: 's' was not declared in this scope
                  char i[sizeof s.t];
                                ^
    conftest.cpp: In function 'int main()':
    conftest.cpp:88:24: error: 's' was not declared in this scope
                  bool e = &s;
                            ^
    conftest.cpp:92:63: error: 'i' was not declared in this scope
                  return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
                                                                   ^
    configure:7595: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | #define STDC_HEADERS 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_MEMORY_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_FCNTL_H 1
    | #define HAVE_STDDEF_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_UNISTD_H 1
    | /* end confdefs.h.  */
    | 
    |              #include <stdbool.h>
    |              #ifndef bool
    |               "error: bool is not defined"
    |              #endif
    |              #ifndef false
    |               "error: false is not defined"
    |              #endif
    |              #if false
    |               "error: false is not 0"
    |              #endif
    |              #ifndef true
    |               "error: true is not defined"
    |              #endif
    |              #if true != 1
    |               "error: true is not 1"
    |              #endif
    |              #ifndef __bool_true_false_are_defined
    |               "error: __bool_true_false_are_defined is not defined"
    |              #endif
    | 
    |              struct s { _Bool s: 1; _Bool t; } s;
    | 
    |              char a[true == 1 ? 1 : -1];
    |              char b[false == 0 ? 1 : -1];
    |              char c[__bool_true_false_are_defined == 1 ? 1 : -1];
    |              char d[(bool) 0.5 == true ? 1 : -1];
    |              /* See body of main program for 'e'.  */
    |              char f[(_Bool) 0.0 == false ? 1 : -1];
    |              char g[true];
    |              char h[sizeof (_Bool)];
    |              char i[sizeof s.t];
    |              enum { j = false, k = true, l = false * true, m = true * 256 };
    |              /* The following fails for
    |                 HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
    |              _Bool n[m];
    |              char o[sizeof n == m * sizeof n[0] ? 1 : -1];
    |              char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
    |              /* Catch a bug in an HP-UX C compiler.  See
    |                 http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
    |                 http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
    |               */
    |              _Bool q = true;
    |              _Bool *pq = &q;
    | 
    | int
    | main ()
    | {
    | 
    |              bool e = &s;
    |              *pq |= q;
    |              *pq |= ! q;
    |              /* Refer to every declared value, to avoid compiler optimizations.  */
    |              return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
    |                      + !m + !n + !o + !p + !q + !pq);
    | 
    |   ;
    |   return 0;
    | }
    configure:7602: result: no
    configure:7604: checking for _Bool
    configure:7604: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    conftest.cpp: In function 'int main()':
    conftest.cpp:75:13: error: '_Bool' was not declared in this scope
     if (sizeof (_Bool))
                 ^
    configure:7604: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | #define STDC_HEADERS 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_MEMORY_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_FCNTL_H 1
    | #define HAVE_STDDEF_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_UNISTD_H 1
    | /* end confdefs.h.  */
    | #include <stdio.h>
    | #ifdef HAVE_SYS_TYPES_H
    | # include <sys/types.h>
    | #endif
    | #ifdef HAVE_SYS_STAT_H
    | # include <sys/stat.h>
    | #endif
    | #ifdef STDC_HEADERS
    | # include <stdlib.h>
    | # include <stddef.h>
    | #else
    | # ifdef HAVE_STDLIB_H
    | #  include <stdlib.h>
    | # endif
    | #endif
    | #ifdef HAVE_STRING_H
    | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
    | #  include <memory.h>
    | # endif
    | # include <string.h>
    | #endif
    | #ifdef HAVE_STRINGS_H
    | # include <strings.h>
    | #endif
    | #ifdef HAVE_INTTYPES_H
    | # include <inttypes.h>
    | #endif
    | #ifdef HAVE_STDINT_H
    | # include <stdint.h>
    | #endif
    | #ifdef HAVE_UNISTD_H
    | # include <unistd.h>
    | #endif
    | int
    | main ()
    | {
    | if (sizeof (_Bool))
    | 	 return 0;
    |   ;
    |   return 0;
    | }
    configure:7604: result: no
    configure:7615: checking for inline
    configure:7631: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7631: $? = 0
    configure:7639: result: inline
    configure:7657: checking for int16_t
    configure:7657: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7657: $? = 0
    configure:7657: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    conftest.cpp: In function 'int main()':
    conftest.cpp:77:58: error: size of array 'test_array' is negative
        < (int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 2))];
                                                              ^
    configure:7657: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | #define STDC_HEADERS 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_MEMORY_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_FCNTL_H 1
    | #define HAVE_STDDEF_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_UNISTD_H 1
    | /* end confdefs.h.  */
    | #include <stdio.h>
    | #ifdef HAVE_SYS_TYPES_H
    | # include <sys/types.h>
    | #endif
    | #ifdef HAVE_SYS_STAT_H
    | # include <sys/stat.h>
    | #endif
    | #ifdef STDC_HEADERS
    | # include <stdlib.h>
    | # include <stddef.h>
    | #else
    | # ifdef HAVE_STDLIB_H
    | #  include <stdlib.h>
    | # endif
    | #endif
    | #ifdef HAVE_STRING_H
    | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
    | #  include <memory.h>
    | # endif
    | # include <string.h>
    | #endif
    | #ifdef HAVE_STRINGS_H
    | # include <strings.h>
    | #endif
    | #ifdef HAVE_INTTYPES_H
    | # include <inttypes.h>
    | #endif
    | #ifdef HAVE_STDINT_H
    | # include <stdint.h>
    | #endif
    | #ifdef HAVE_UNISTD_H
    | # include <unistd.h>
    | #endif
    | 	        enum { N = 16 / 2 - 1 };
    | int
    | main ()
    | {
    | static int test_array [1 - 2 * !((int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 1)
    | 		 < (int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 2))];
    | test_array [0] = 0;
    | return test_array [0];
    | 
    |   ;
    |   return 0;
    | }
    configure:7657: result: yes
    configure:7668: checking for int32_t
    configure:7668: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7668: $? = 0
    configure:7668: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    conftest.cpp: In function 'int main()':
    conftest.cpp:77:53: warning: integer overflow in expression [-Woverflow]
        < (int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 2))];
                                                         ^
    conftest.cpp:77:58: error: size of array 'test_array' is negative
        < (int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 2))];
                                                              ^
    configure:7668: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | #define STDC_HEADERS 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_MEMORY_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_FCNTL_H 1
    | #define HAVE_STDDEF_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_UNISTD_H 1
    | /* end confdefs.h.  */
    | #include <stdio.h>
    | #ifdef HAVE_SYS_TYPES_H
    | # include <sys/types.h>
    | #endif
    | #ifdef HAVE_SYS_STAT_H
    | # include <sys/stat.h>
    | #endif
    | #ifdef STDC_HEADERS
    | # include <stdlib.h>
    | # include <stddef.h>
    | #else
    | # ifdef HAVE_STDLIB_H
    | #  include <stdlib.h>
    | # endif
    | #endif
    | #ifdef HAVE_STRING_H
    | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
    | #  include <memory.h>
    | # endif
    | # include <string.h>
    | #endif
    | #ifdef HAVE_STRINGS_H
    | # include <strings.h>
    | #endif
    | #ifdef HAVE_INTTYPES_H
    | # include <inttypes.h>
    | #endif
    | #ifdef HAVE_STDINT_H
    | # include <stdint.h>
    | #endif
    | #ifdef HAVE_UNISTD_H
    | # include <unistd.h>
    | #endif
    | 	        enum { N = 32 / 2 - 1 };
    | int
    | main ()
    | {
    | static int test_array [1 - 2 * !((int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 1)
    | 		 < (int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 2))];
    | test_array [0] = 0;
    | return test_array [0];
    | 
    |   ;
    |   return 0;
    | }
    configure:7668: result: yes
    configure:7679: checking for int64_t
    configure:7679: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7679: $? = 0
    configure:7679: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    conftest.cpp: In function 'int main()':
    conftest.cpp:77:53: warning: integer overflow in expression [-Woverflow]
        < (int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 2))];
                                                         ^
    conftest.cpp:77:58: error: size of array 'test_array' is negative
        < (int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 2))];
                                                              ^
    configure:7679: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | #define STDC_HEADERS 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_MEMORY_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_FCNTL_H 1
    | #define HAVE_STDDEF_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_UNISTD_H 1
    | /* end confdefs.h.  */
    | #include <stdio.h>
    | #ifdef HAVE_SYS_TYPES_H
    | # include <sys/types.h>
    | #endif
    | #ifdef HAVE_SYS_STAT_H
    | # include <sys/stat.h>
    | #endif
    | #ifdef STDC_HEADERS
    | # include <stdlib.h>
    | # include <stddef.h>
    | #else
    | # ifdef HAVE_STDLIB_H
    | #  include <stdlib.h>
    | # endif
    | #endif
    | #ifdef HAVE_STRING_H
    | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
    | #  include <memory.h>
    | # endif
    | # include <string.h>
    | #endif
    | #ifdef HAVE_STRINGS_H
    | # include <strings.h>
    | #endif
    | #ifdef HAVE_INTTYPES_H
    | # include <inttypes.h>
    | #endif
    | #ifdef HAVE_STDINT_H
    | # include <stdint.h>
    | #endif
    | #ifdef HAVE_UNISTD_H
    | # include <unistd.h>
    | #endif
    | 	        enum { N = 64 / 2 - 1 };
    | int
    | main ()
    | {
    | static int test_array [1 - 2 * !((int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 1)
    | 		 < (int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 2))];
    | test_array [0] = 0;
    | return test_array [0];
    | 
    |   ;
    |   return 0;
    | }
    configure:7679: result: yes
    configure:7690: checking for size_t
    configure:7690: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7690: $? = 0
    configure:7690: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    conftest.cpp: In function 'int main()':
    conftest.cpp:75:20: error: expected primary-expression before ')' token
     if (sizeof ((size_t)))
                        ^
    configure:7690: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | #define STDC_HEADERS 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_MEMORY_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_FCNTL_H 1
    | #define HAVE_STDDEF_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_UNISTD_H 1
    | /* end confdefs.h.  */
    | #include <stdio.h>
    | #ifdef HAVE_SYS_TYPES_H
    | # include <sys/types.h>
    | #endif
    | #ifdef HAVE_SYS_STAT_H
    | # include <sys/stat.h>
    | #endif
    | #ifdef STDC_HEADERS
    | # include <stdlib.h>
    | # include <stddef.h>
    | #else
    | # ifdef HAVE_STDLIB_H
    | #  include <stdlib.h>
    | # endif
    | #endif
    | #ifdef HAVE_STRING_H
    | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
    | #  include <memory.h>
    | # endif
    | # include <string.h>
    | #endif
    | #ifdef HAVE_STRINGS_H
    | # include <strings.h>
    | #endif
    | #ifdef HAVE_INTTYPES_H
    | # include <inttypes.h>
    | #endif
    | #ifdef HAVE_STDINT_H
    | # include <stdint.h>
    | #endif
    | #ifdef HAVE_UNISTD_H
    | # include <unistd.h>
    | #endif
    | int
    | main ()
    | {
    | if (sizeof ((size_t)))
    | 	    return 0;
    |   ;
    |   return 0;
    | }
    configure:7690: result: yes
    configure:7701: checking for uint16_t
    configure:7701: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7701: $? = 0
    configure:7701: result: yes
    configure:7713: checking for uint32_t
    configure:7713: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7713: $? = 0
    configure:7713: result: yes
    configure:7727: checking for uint64_t
    configure:7727: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7727: $? = 0
    configure:7727: result: yes
    configure:7741: checking for uint8_t
    configure:7741: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:7741: $? = 0
    configure:7741: result: yes
    configure:7763: checking for stdlib.h
    configure:7763: result: yes
    configure:7763: checking for unistd.h
    configure:7763: result: yes
    configure:7763: checking for sys/param.h
    configure:7763: result: yes
    configure:7783: checking for getpagesize
    configure:7783: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7783: $? = 0
    configure:7783: result: yes
    configure:7792: checking for working mmap
    configure:7939: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7939: $? = 0
    configure:7939: ./conftest
    configure:7939: $? = 0
    configure:7949: result: yes
    configure:7961: checking for getcwd
    configure:7961: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7961: $? = 0
    configure:7961: result: yes
    configure:7961: checking for memset
    configure:7961: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7961: $? = 0
    configure:7961: result: yes
    configure:7961: checking for mkdir
    configure:7961: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7961: $? = 0
    configure:7961: result: yes
    configure:7961: checking for munmap
    configure:7961: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7961: $? = 0
    configure:7961: result: yes
    configure:7961: checking for sqrt
    configure:7961: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7961: $? = 0
    configure:7961: result: yes
    configure:7961: checking for strrchr
    configure:7961: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:7961: $? = 0
    configure:7961: result: yes
    configure:8017: checking how to print strings
    configure:8044: result: printf
    configure:8065: checking for a sed that does not truncate output
    configure:8129: result: /bin/sed
    configure:8147: checking for fgrep
    configure:8209: result: /bin/grep -F
    configure:8244: checking for ld used by gcc
    configure:8311: result: /usr/bin/ld
    configure:8318: checking if the linker (/usr/bin/ld) is GNU ld
    configure:8333: result: yes
    configure:8345: checking for BSD- or MS-compatible name lister (nm)
    configure:8399: result: /usr/bin/nm -B
    configure:8529: checking the name lister (/usr/bin/nm -B) interface
    configure:8536: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:8539: /usr/bin/nm -B "conftest.o"
    configure:8542: output
    00000000 B some_variable
    configure:8549: result: BSD nm
    configure:8553: checking the maximum length of command line arguments
    configure:8684: result: 1572864
    configure:8732: checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format
    configure:8772: result: func_convert_file_noop
    configure:8779: checking how to convert i686-pc-linux-gnu file names to toolchain format
    configure:8799: result: func_convert_file_noop
    configure:8806: checking for /usr/bin/ld option to reload object files
    configure:8813: result: -r
    configure:8887: checking for objdump
    configure:8903: found /usr/bin/objdump
    configure:8914: result: objdump
    configure:8946: checking how to recognize dependent libraries
    configure:9146: result: pass_all
    configure:9231: checking for dlltool
    configure:9261: result: no
    configure:9291: checking how to associate runtime and link libraries
    configure:9318: result: printf %s\n
    configure:9378: checking for ar
    configure:9394: found /usr/bin/ar
    configure:9405: result: ar
    configure:9442: checking for archiver @FILE support
    configure:9459: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:9459: $? = 0
    configure:9462: ar cru libconftest.a @conftest.lst >&5
    ar: `u' modifier ignored since `D' is the default (see `U')
    configure:9465: $? = 0
    configure:9470: ar cru libconftest.a @conftest.lst >&5
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: conftest.o: No such file or directory
    configure:9473: $? = 1
    configure:9485: result: @
    configure:9543: checking for strip
    configure:9559: found /usr/bin/strip
    configure:9570: result: strip
    configure:9642: checking for ranlib
    configure:9669: result: ranlib
    configure:9771: checking command to parse /usr/bin/nm -B output from gcc object
    configure:9924: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:9927: $? = 0
    configure:9931: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
    configure:9934: $? = 0
    configure:10000: g++ -std=gnu++14 -o conftest -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden   conftest.cpp conftstm.o >&5
    configure:10003: $? = 0
    configure:10041: result: ok
    configure:10088: checking for sysroot
    configure:10118: result: no
    configure:10125: checking for a working dd
    configure:10163: result: /bin/dd
    configure:10167: checking how to truncate binary pipes
    configure:10182: result: /bin/dd bs=4096 count=1
    configure:10512: checking for mt
    configure:10542: result: no
    configure:10562: checking if : is a manifest tool
    configure:10568: : '-?'
    configure:10576: result: no
    configure:11250: checking for dlfcn.h
    configure:11250: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:11250: $? = 0
    configure:11250: result: yes
    configure:11516: checking for objdir
    configure:11531: result: .libs
    configure:11795: checking if gcc supports -fno-rtti -fno-exceptions
    configure:11813: gcc -c -g -O2  -fno-rtti -fno-exceptions conftest.c >&5
    cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
    configure:11817: $? = 0
    configure:11830: result: no
    configure:12188: checking for gcc option to produce PIC
    configure:12195: result: -fPIC -DPIC
    configure:12203: checking if gcc PIC flag -fPIC -DPIC works
    configure:12221: gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
    configure:12225: $? = 0
    configure:12238: result: yes
    configure:12267: checking if gcc static flag -static works
    configure:12295: result: yes
    configure:12310: checking if gcc supports -c -o file.o
    configure:12331: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
    configure:12335: $? = 0
    configure:12357: result: yes
    configure:12365: checking if gcc supports -c -o file.o
    configure:12412: result: yes
    configure:12445: checking whether the gcc linker (/usr/bin/ld) supports shared libraries
    configure:13704: result: yes
    configure:13741: checking whether -lc should be explicitly linked in
    configure:13749: gcc -c -g -O2  conftest.c >&5
    configure:13752: $? = 0
    configure:13767: gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep  -lc  \>/dev/null 2\>\&1
    configure:13770: $? = 0
    configure:13784: result: no
    configure:13944: checking dynamic linker characteristics
    configure:14525: gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c -lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash  >&5
    configure:14525: $? = 0
    configure:14762: result: GNU/Linux ld.so
    configure:14884: checking how to hardcode library paths into programs
    configure:14909: result: immediate
    configure:15457: checking whether stripping libraries is possible
    configure:15462: result: yes
    configure:15497: checking if libtool supports shared libraries
    configure:15499: result: yes
    configure:15502: checking whether to build shared libraries
    configure:15527: result: yes
    configure:15530: checking whether to build static libraries
    configure:15534: result: yes
    configure:15557: checking how to run the C++ preprocessor
    configure:15623: result: g++ -std=gnu++14 -E
    configure:15643: g++ -std=gnu++14 -E  conftest.cpp
    configure:15643: $? = 0
    configure:15657: g++ -std=gnu++14 -E  conftest.cpp
    conftest.cpp:52:28: fatal error: ac_nonexistent.h: No such file or directory
    compilation terminated.
    configure:15657: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "vireo"
    | #define PACKAGE_TARNAME "vireo"
    | #define PACKAGE_VERSION "2.4.22"
    | #define PACKAGE_STRING "vireo 2.4.22"
    | #define PACKAGE_BUGREPORT "[email protected]"
    | #define PACKAGE_URL ""
    | #define PACKAGE "vireo"
    | #define VERSION "2.4.22"
    | #define HAVE_CXX14 1
    | #define HAVE_LIBLSMASH 1
    | #define HAVE_LIBOGG 1
    | #define HAVE_LIBPTHREAD 1
    | #define HAVE_LIBVORBIS 1
    | #define HAVE_LIBVORBISENC 1
    | #define HAVE_LIBZ 1
    | #define HAVE_LIBAVCODEC 1
    | #define HAVE_LIBAVFORMAT 1
    | #define HAVE_LIBAVUTIL 1
    | #define HAVE_LIBSWSCALE 1
    | #define HAVE_LIBX264 1
    | #define STDC_HEADERS 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_MEMORY_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_FCNTL_H 1
    | #define HAVE_STDDEF_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_SYS_PARAM_H 1
    | #define HAVE_GETPAGESIZE 1
    | #define HAVE_MMAP 1
    | #define HAVE_GETCWD 1
    | #define HAVE_MEMSET 1
    | #define HAVE_MKDIR 1
    | #define HAVE_MUNMAP 1
    | #define HAVE_SQRT 1
    | #define HAVE_STRRCHR 1
    | #define HAVE_DLFCN_H 1
    | #define LT_OBJDIR ".libs/"
    | /* end confdefs.h.  */
    | #include <ac_nonexistent.h>
    configure:15819: checking for ld used by g++ -std=gnu++14
    configure:15886: result: /usr/bin/ld
    configure:15893: checking if the linker (/usr/bin/ld) is GNU ld
    configure:15908: result: yes
    configure:15963: checking whether the g++ -std=gnu++14 linker (/usr/bin/ld) supports shared libraries
    configure:17036: result: yes
    configure:17072: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  conftest.cpp >&5
    configure:17075: $? = 0
    configure:17556: checking for g++ -std=gnu++14 option to produce PIC
    configure:17563: result: -fPIC -DPIC
    configure:17571: checking if g++ -std=gnu++14 PIC flag -fPIC -DPIC works
    configure:17589: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  -fPIC -DPIC -DPIC conftest.cpp >&5
    configure:17593: $? = 0
    configure:17606: result: yes
    configure:17629: checking if g++ -std=gnu++14 static flag -static works
    configure:17657: result: yes
    configure:17669: checking if g++ -std=gnu++14 supports -c -o file.o
    configure:17690: g++ -std=gnu++14 -c -g -O2 -fvisibility=hidden -fvisibility-inlines-hidden  -o out/conftest2.o conftest.cpp >&5
    configure:17694: $? = 0
    configure:17716: result: yes
    configure:17721: checking if g++ -std=gnu++14 supports -c -o file.o
    configure:17768: result: yes
    configure:17798: checking whether the g++ -std=gnu++14 linker (/usr/bin/ld) supports shared libraries
    configure:17838: result: yes
    configure:17979: checking dynamic linker characteristics
    configure:18724: result: GNU/Linux ld.so
    configure:18789: checking how to hardcode library paths into programs
    configure:18814: result: immediate
    configure:19048: checking that generated files are newer than configure
    configure:19054: result: done
    configure:19133: creating ./config.status
    
    ## ---------------------- ##
    ## Running config.status. ##
    ## ---------------------- ##
    
    This file was extended by vireo config.status 2.4.22, which was
    generated by GNU Autoconf 2.69.  Invocation command line was
    
      CONFIG_FILES    = 
      CONFIG_HEADERS  = 
      CONFIG_LINKS    = 
      CONFIG_COMMANDS = 
      $ ./config.status 
    
    on puppypc26290
    
    config.status:1208: creating Makefile
    config.status:1208: creating vireo.pc
    config.status:1208: creating config.h
    config.status:1389: config.h is unchanged
    config.status:1437: executing depfiles commands
    config.status:1437: executing libtool commands
    configure:21608: === configuring in ../imagecore (/root/src/vireo-master/vireo/../imagecore)
    configure:21671: running /bin/sh ./configure --disable-option-checking '--prefix=/usr/local'  '--enable-gpl' --cache-file=/dev/null --srcdir=.
    
    ## ---------------- ##
    ## Cache variables. ##
    ## ---------------- ##
    
    ac_cv_build=i686-pc-linux-gnu
    ac_cv_c_compiler_gnu=yes
    ac_cv_c_inline=inline
    ac_cv_c_int16_t=yes
    ac_cv_c_int32_t=yes
    ac_cv_c_int64_t=yes
    ac_cv_c_uint16_t=yes
    ac_cv_c_uint32_t=yes
    ac_cv_c_uint64_t=yes
    ac_cv_c_uint8_t=yes
    ac_cv_cxx_compiler_gnu=yes
    ac_cv_env_CCC_set=
    ac_cv_env_CCC_value=
    ac_cv_env_CC_set=
    ac_cv_env_CC_value=
    ac_cv_env_CFLAGS_set=
    ac_cv_env_CFLAGS_value=
    ac_cv_env_CPPFLAGS_set=
    ac_cv_env_CPPFLAGS_value=
    ac_cv_env_CPP_set=
    ac_cv_env_CPP_value=
    ac_cv_env_CXXCPP_set=
    ac_cv_env_CXXCPP_value=
    ac_cv_env_CXXFLAGS_set=
    ac_cv_env_CXXFLAGS_value=
    ac_cv_env_CXX_set=
    ac_cv_env_CXX_value=
    ac_cv_env_LDFLAGS_set=
    ac_cv_env_LDFLAGS_value=
    ac_cv_env_LIBS_set=
    ac_cv_env_LIBS_value=
    ac_cv_env_LT_SYS_LIBRARY_PATH_set=
    ac_cv_env_LT_SYS_LIBRARY_PATH_value=
    ac_cv_env_build_alias_set=
    ac_cv_env_build_alias_value=
    ac_cv_env_host_alias_set=
    ac_cv_env_host_alias_value=
    ac_cv_env_target_alias_set=
    ac_cv_env_target_alias_value=
    ac_cv_func_getcwd=yes
    ac_cv_func_getpagesize=yes
    ac_cv_func_memset=yes
    ac_cv_func_mkdir=yes
    ac_cv_func_mmap_fixed_mapped=yes
    ac_cv_func_munmap=yes
    ac_cv_func_sqrt=yes
    ac_cv_func_strrchr=yes
    ac_cv_header_dlfcn_h=yes
    ac_cv_header_fcntl_h=yes
    ac_cv_header_inttypes_h=yes
    ac_cv_header_memory_h=yes
    ac_cv_header_stdbool_h=no
    ac_cv_header_stdc=yes
    ac_cv_header_stddef_h=yes
    ac_cv_header_stdint_h=yes
    ac_cv_header_stdlib_h=yes
    ac_cv_header_string_h=yes
    ac_cv_header_strings_h=yes
    ac_cv_header_sys_param_h=yes
    ac_cv_header_sys_stat_h=yes
    ac_cv_header_sys_types_h=yes
    ac_cv_header_unistd_h=yes
    ac_cv_host=i686-pc-linux-gnu
    ac_cv_lib_avcodec_av_init_packet=yes
    ac_cv_lib_avformat_av_add_index_entry=yes
    ac_cv_lib_avutil_av_asprintf=yes
    ac_cv_lib_fdk_aac_aacDecoder_Open=no
    ac_cv_lib_lsmash_lsmash_free=yes
    ac_cv_lib_ogg_ogg_packet_clear=yes
    ac_cv_lib_pthread_pthread_create=yes
    ac_cv_lib_swscale_swscale_version=yes
    ac_cv_lib_vorbis_vorbis_block_init=yes
    ac_cv_lib_vorbisenc_vorbis_encode_init=yes
    ac_cv_lib_vpx_vpx_free=no
    ac_cv_lib_webm__ZN8mkvmuxer10AudioTrackC1EPj=no
    ac_cv_lib_x264_x264_free=yes
    ac_cv_lib_z_deflate=yes
    ac_cv_objext=o
    ac_cv_path_EGREP='/bin/grep -E'
    ac_cv_path_FGREP='/bin/grep -F'
    ac_cv_path_GREP=/bin/grep
    ac_cv_path_SED=/bin/sed
    ac_cv_path_install='/usr/bin/ginstall -c'
    ac_cv_path_lt_DD=/bin/dd
    ac_cv_prog_AWK=gawk
    ac_cv_prog_CPP='gcc -E'
    ac_cv_prog_CXXCPP='g++ -std=gnu++14 -E'
    ac_cv_prog_ac_ct_AR=ar
    ac_cv_prog_ac_ct_CC=gcc
    ac_cv_prog_ac_ct_CXX=g++
    ac_cv_prog_ac_ct_OBJDUMP=objdump
    ac_cv_prog_ac_ct_RANLIB=ranlib
    ac_cv_prog_ac_ct_STRIP=strip
    ac_cv_prog_cc_c89=
    ac_cv_prog_cc_g=yes
    ac_cv_prog_cxx_g=yes
    ac_cv_prog_make_make_set=yes
    ac_cv_type__Bool=no
    ac_cv_type_size_t=yes
    am_cv_CC_dependencies_compiler_type=gcc3
    am_cv_CXX_dependencies_compiler_type=gcc3
    am_cv_make_support_nested_variables=yes
    am_cv_prog_cc_c_o=yes
    ax_cv_check_cxxflags___fvisibility_hidden=yes
    ax_cv_cxx_compile_cxx14=no
    ax_cv_cxx_compile_cxx14__std_gnupp14=yes
    [email protected]
    lt_cv_archive_cmds_need_lc=no
    lt_cv_deplibs_check_method=pass_all
    lt_cv_file_magic_cmd='$MAGIC_CMD'
    lt_cv_file_magic_test_file=
    lt_cv_ld_reload_flag=-r
    lt_cv_nm_interface='BSD nm'
    lt_cv_objdir=.libs
    lt_cv_path_LD=/usr/bin/ld
    lt_cv_path_LDCXX=/usr/bin/ld
    lt_cv_path_NM='/usr/bin/nm -B'
    lt_cv_path_mainfest_tool=no
    lt_cv_prog_compiler_c_o=yes
    lt_cv_prog_compiler_c_o_CXX=yes
    lt_cv_prog_compiler_pic='-fPIC -DPIC'
    lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC'
    lt_cv_prog_compiler_pic_works=yes
    lt_cv_prog_compiler_pic_works_CXX=yes
    lt_cv_prog_compiler_rtti_exceptions=no
    lt_cv_prog_compiler_static_works=yes
    lt_cv_prog_compiler_static_works_CXX=yes
    lt_cv_prog_gnu_ld=yes
    lt_cv_prog_gnu_ldcxx=yes
    lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
    lt_cv_shlibpath_overrides_runpath=no
    lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[	 ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[	 ][	 ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\'''
    lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/  {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/  {"\1", (void *) \&\1},/p'\'''
    lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/  {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/  {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/  {"lib\1", (void *) \&\1},/p'\'''
    lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
    lt_cv_sys_global_symbol_to_import=
    lt_cv_sys_max_cmd_len=1572864
    lt_cv_to_host_file_cmd=func_convert_file_noop
    lt_cv_to_tool_file_cmd=func_convert_file_noop
    lt_cv_truncate_bin='/bin/dd bs=4096 count=1'
    
    ## ----------------- ##
    ## Output variables. ##
    ## ----------------- ##
    
    ACLOCAL='${SHELL} /root/src/vireo-master/vireo/missing aclocal-1.15'
    AMDEPBACKSLASH='\'
    AMDEP_FALSE='#'
    AMDEP_TRUE=''
    AMTAR='$${TAR-tar}'
    AM_BACKSLASH='\'
    AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
    AM_DEFAULT_VERBOSITY='0'
    AM_V='$(V)'
    AR='ar'
    AUTOCONF='${SHELL} /root/src/vireo-master/vireo/missing autoconf'
    AUTOHEADER='${SHELL} /root/src/vireo-master/vireo/missing autoheader'
    AUTOMAKE='${SHELL} /root/src/vireo-master/vireo/missing automake-1.15'
    AWK='gawk'
    BUILD_SCALA_FALSE=''
    BUILD_SCALA_TRUE='#'
    CC='gcc'
    CCDEPMODE='depmode=gcc3'
    CFLAGS='-g -O2'
    CPP='gcc -E'
    CPPFLAGS=''
    CXX='g++ -std=gnu++14'
    CXXCPP='g++ -std=gnu++14 -E'
    CXXDEPMODE='depmode=gcc3'
    CXXFLAGS='-g -O2 -fvisibility=hidden -fvisibility-inlines-hidden'
    CYGPATH_W='echo'
    DEFS='-DHAVE_CONFIG_H'
    DEPDIR='.deps'
    DLLTOOL='false'
    DSYMUTIL=''
    DUMPBIN=''
    ECHO_C=''
    ECHO_N='-n'
    ECHO_T=''
    EGREP='/bin/grep -E'
    EXEEXT=''
    FGREP='/bin/grep -F'
    GREP='/bin/grep'
    HAVE_CXX14='1'
    INSTALL_DATA='${INSTALL} -m 644'
    INSTALL_PROGRAM='${INSTALL}'
    INSTALL_SCRIPT='${INSTALL}'
    INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
    JAVA_HOME=''
    JAVA_HOME_SET_FALSE=''
    JAVA_HOME_SET_TRUE='#'
    JAVA_PATH_NAME=''
    JNI_CPPFLAGS=''
    LD='/usr/bin/ld'
    LDFLAGS=''
    LIBOBJS=''
    LIBS='-lx264 -lswscale -lavutil -lavformat -lavcodec -lz -lvorbisenc -lvorbis -lpthread -logg -llsmash '
    LIBTOOL='$(SHELL) $(top_builddir)/libtool'
    LIPO=''
    LN_S='ln -s'
    LTLIBOBJS=''
    LT_SYS_LIBRARY_PATH=''
    MAKEINFO='${SHELL} /root/src/vireo-master/vireo/missing makeinfo'
    MANIFEST_TOOL=':'
    MKDIR_P='./install-sh -c -d'
    NM='/usr/bin/nm -B'
    NMEDIT=''
    OBJDUMP='objdump'
    OBJEXT='o'
    OTOOL64=''
    OTOOL=''
    PACKAGE='vireo'
    PACKAGE_BUGREPORT='[email protected]'
    PACKAGE_NAME='vireo'
    PACKAGE_STRING='vireo 2.4.22'
    PACKAGE_TARNAME='vireo'
    PACKAGE_URL=''
    PACKAGE_VERSION='2.4.22'
    PATH_SEPARATOR=':'
    RANLIB='ranlib'
    SED='/bin/sed'
    SET_MAKE=''
    SHELL='/bin/sh'
    STRIP='strip'
    USE_LIBAVCODEC_FALSE='#'
    USE_LIBAVCODEC_TRUE=''
    USE_LIBAVFORMAT_FALSE='#'
    USE_LIBAVFORMAT_TRUE=''
    USE_LIBAVUTIL_FALSE='#'
    USE_LIBAVUTIL_TRUE=''
    USE_LIBFDK_AAC_FALSE=''
    USE_LIBFDK_AAC_TRUE='#'
    USE_LIBLSMASH_FALSE='#'
    USE_LIBLSMASH_TRUE=''
    USE_LIBSWSCALE_FALSE='#'
    USE_LIBSWSCALE_TRUE=''
    USE_LIBVORBISENC_FALSE='#'
    USE_LIBVORBISENC_TRUE=''
    USE_LIBVORBIS_FALSE=''
    USE_LIBVORBIS_TRUE='#'
    USE_LIBVPX_FALSE=''
    USE_LIBVPX_TRUE='#'
    USE_LIBWEBM_FALSE=''
    USE_LIBWEBM_TRUE='#'
    USE_LIBX264_FALSE='#'
    USE_LIBX264_TRUE=''
    VERSION='2.4.22'
    _ACJNI_JAVAC=''
    ac_ct_AR='ar'
    ac_ct_CC='gcc'
    ac_ct_CXX='g++'
    ac_ct_DUMPBIN=''
    am__EXEEXT_FALSE=''
    am__EXEEXT_TRUE='#'
    am__fastdepCC_FALSE='#'
    am__fastdepCC_TRUE=''
    am__fastdepCXX_FALSE='#'
    am__fastdepCXX_TRUE=''
    am__include='include'
    am__isrc=''
    am__leading_dot='.'
    am__nodep='_no'
    am__quote=''
    am__tar='$${TAR-tar} chof - "$$tardir"'
    am__untar='$${TAR-tar} xf -'
    bindir='${exec_prefix}/bin'
    build='i686-pc-linux-gnu'
    build_alias=''
    build_cpu='i686'
    build_os='linux-gnu'
    build_vendor='pc'
    datadir='${datarootdir}'
    datarootdir='${prefix}/share'
    docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
    dvidir='${docdir}'
    exec_prefix='${prefix}'
    host='i686-pc-linux-gnu'
    host_alias=''
    host_cpu='i686'
    host_os='linux-gnu'
    host_vendor='pc'
    htmldir='${docdir}'
    includedir='${prefix}/include'
    infodir='${datarootdir}/info'
    install_sh='${SHELL} /root/src/vireo-master/vireo/install-sh'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/libexec'
    localedir='${datarootdir}/locale'
    localstatedir='${prefix}/var'
    mandir='${datarootdir}/man'
    mkdir_p='$(MKDIR_P)'
    oldincludedir='/usr/include'
    pdfdir='${docdir}'
    prefix='/usr/local'
    program_transform_name='s,x,x,'
    psdir='${docdir}'
    sbindir='${exec_prefix}/sbin'
    sharedstatedir='${prefix}/com'
    subdirs=' ../imagecore'
    sysconfdir='${prefix}/etc'
    target_alias=''
    
    ## ----------- ##
    ## confdefs.h. ##
    ## ----------- ##
    
    /* confdefs.h */
    #define PACKAGE_NAME "vireo"
    #define PACKAGE_TARNAME "vireo"
    #define PACKAGE_VERSION "2.4.22"
    #define PACKAGE_STRING "vireo 2.4.22"
    #define PACKAGE_BUGREPORT "[email protected]"
    #define PACKAGE_URL ""
    #define PACKAGE "vireo"
    #define VERSION "2.4.22"
    #define HAVE_CXX14 1
    #define HAVE_LIBLSMASH 1
    #define HAVE_LIBOGG 1
    #define HAVE_LIBPTHREAD 1
    #define HAVE_LIBVORBIS 1
    #define HAVE_LIBVORBISENC 1
    #define HAVE_LIBZ 1
    #define HAVE_LIBAVCODEC 1
    #define HAVE_LIBAVFORMAT 1
    #define HAVE_LIBAVUTIL 1
    #define HAVE_LIBSWSCALE 1
    #define HAVE_LIBX264 1
    #define STDC_HEADERS 1
    #define HAVE_SYS_TYPES_H 1
    #define HAVE_SYS_STAT_H 1
    #define HAVE_STDLIB_H 1
    #define HAVE_STRING_H 1
    #define HAVE_MEMORY_H 1
    #define HAVE_STRINGS_H 1
    #define HAVE_INTTYPES_H 1
    #define HAVE_STDINT_H 1
    #define HAVE_UNISTD_H 1
    #define HAVE_FCNTL_H 1
    #define HAVE_STDDEF_H 1
    #define HAVE_STDLIB_H 1
    #define HAVE_STRING_H 1
    #define HAVE_SYS_PARAM_H 1
    #define HAVE_UNISTD_H 1
    #define HAVE_STDLIB_H 1
    #define HAVE_UNISTD_H 1
    #define HAVE_SYS_PARAM_H 1
    #define HAVE_GETPAGESIZE 1
    #define HAVE_MMAP 1
    #define HAVE_GETCWD 1
    #define HAVE_MEMSET 1
    #define HAVE_MKDIR 1
    #define HAVE_MUNMAP 1
    #define HAVE_SQRT 1
    #define HAVE_STRRCHR 1
    #define HAVE_DLFCN_H 1
    #define LT_OBJDIR ".libs/"
    
    configure: exit 0
    

    make

    make[2]: Leaving directory '/initrd/mnt/dev_save/data/src/vireo-master/imagecore'
    make[2]: Entering directory '/initrd/mnt/dev_save/data/src/vireo-master/vireo'
      CXX      common/libvireo_la-bitreader.lo
      CXX      common/libvireo_la-data.lo
    common/data.cpp:207:16: error: duplicate explicit instantiation of ‘class vireo::common::Data<unsigned char, unsigned int>’ [-fpermissive]
     template class Data<Y, X>;\
                    ^
    common/data.cpp:215:1: note: in expansion of macro ‘DATA_EXPLICIT_INSTANTIATION’
     DATA_EXPLICIT_INSTANTIATION(uint8_t, uint32_t); // Data32
     ^
    common/data.cpp:208:65: error: duplicate explicit instantiation of ‘void vireo::common::operator<<(std::ostream&, const vireo::common::Data<Y, X>&) [with Y = unsigned char; X = unsigned int; std::ostream = std::basic_ostream<char>]’ [-fpermissive]
     template void operator<<(std::ostream& os, const Data<Y, X>& obj);\
                                                                     ^
    common/data.cpp:215:1: note: in expansion of macro ‘DATA_EXPLICIT_INSTANTIATION’
     DATA_EXPLICIT_INSTANTIATION(uint8_t, uint32_t); // Data32
     ^
    common/data.cpp:209:58: error: duplicate explicit instantiation of ‘void vireo::common::operator<<(FILE*, const vireo::common::Data<Y, X>&) [with Y = unsigned char; X = unsigned int; FILE = _IO_FILE]’ [-fpermissive]
     template void operator<<(FILE* out, const Data<Y, X>& obj);\
                                                              ^
    common/data.cpp:215:1: note: in expansion of macro ‘DATA_EXPLICIT_INSTANTIATION’
     DATA_EXPLICIT_INSTANTIATION(uint8_t, uint32_t); // Data32
     ^
    common/data.cpp:210:59: error: duplicate explicit instantiation of ‘void vireo::common::operator<<(int, const vireo::common::Data<Y, X>&) [with Y = unsigned char; X = unsigned int]’ [-fpermissive]
     template void operator<<(int out_fd, const Data<Y, X>& obj);
                                                               ^
    common/data.cpp:215:1: note: in expansion of macro ‘DATA_EXPLICIT_INSTANTIATION’
     DATA_EXPLICIT_INSTANTIATION(uint8_t, uint32_t); // Data32
     ^
    Makefile:1324: recipe for target 'common/libvireo_la-data.lo' failed
    make[2]: *** [common/libvireo_la-data.lo] Error 1
    make[2]: Leaving directory '/initrd/mnt/dev_save/data/src/vireo-master/vireo'
    Makefile:2086: recipe for target 'all-recursive' failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/initrd/mnt/dev_save/data/src/vireo-master/vireo'
    Makefile:648: recipe for target 'all' failed
    make: *** [all] Error 2
    
    opened by RedactedCode 0
  • Segmentation fault (core dumped)

    Segmentation fault (core dumped)

    Hello, I was looking for a tool to cut video without re-encoding in none key-frames and found vireo.

    I used this command to trim a video: trim "23000" "14000" "1.mp4" "3.mp4" but it gives me this output: Segmentation fault (core dumped) What is the problem?

    opened by alirasoli 2
  • Optimized 5 different buffers.

    Optimized 5 different buffers.

    Many vectors weren't being reserved where we already know the size.

    This makes the vector re-allocate(expensive) more times than necessary.

    I reserved the 5 vectors where we already knew how many elements will get pushed in.

    I also reduced the scope of audio_samples,video_samples,edit_boxes because they were declared way earlier than they are actually used. (prefer to delay declaration, as much as possible.)

    Also made edit_box a constant and a reference to save a copy cost and const because it isn't changed.

    opened by shahzadlone 1
Owner
Twitter
Twitter 💙 #opensource
Twitter
An efficient and versatile system call hook mechanism

Zpoline: hooking system calls without pain Zpoline is a novel system call hook mechanism that offers the following advantages. 100 times faster than p

null 95 Aug 25, 2022
Code accompanying our SIGGRAPH 2021 Technical Communications paper "Transition Motion Tensor: A Data-Driven Approach for Versatile and Controllable Agents in Physically Simulated Environments"

SIGGRAPH ASIA 2021 Technical Communications Transition Motion Tensor: A Data-Driven Framework for Versatile and Controllable Agents in Physically Simu

null 10 Apr 21, 2022
A generic post-processing injector for games and video software.

ReShade This is a generic post-processing injector for games and video software. It exposes an automated way to access both frame color and depth info

null 2.8k Oct 2, 2022
Pipet - c++ library for building lightweight processing pipeline at compile-time for string obfuscation, aes ciphering or whatever you want

Pipet Pipet is a lightweight c++17 headers-only library than can be used to build simple processing pipelines at compile time. Features Compile-time p

C. G. 59 Jul 30, 2022
The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language.

The Synthesis ToolKit in C++ (STK) By Perry R. Cook and Gary P. Scavone, 1995--2021. This distribution of the Synthesis ToolKit in C++ (STK) contains

null 809 Sep 24, 2022
A collection of post-processing shaders written for ReShade.

ReShade FX shaders This repository aims to collect post-processing shaders written in the ReShade FX shader language. Installation Download this repos

null 752 Oct 6, 2022
Itpp - IT++ library mirror/fork. C++ library of mathematical, signal processing and communication classes and functions.

Introduction ************ IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simula

null 18 Apr 9, 2022
Lee Thomason 296 Sep 10, 2022
A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script

Current building status Moon Moon is a lightweight online game server framework implement with multithread and multi-luaVM. One thread may have 1-N lu

Bruce 443 Sep 28, 2022
A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script

hive Distributed game server framework based on CPP 17 && LUA 5.4 框架(hive)+逻辑(server) 支持跨平台开发(windows,linux,mac) oop模式的lua开发,支持lua热更新 protobuf协议 pbc修改

toney 76 Oct 2, 2022
Digital control and signal processing library for DSPs developed in C

digital-control Overview Thisis a simple C library containing very useful digital control and signal processing functionalities destinated for DSP's a

CLECIO JUNG 3 Jul 11, 2022
A minimal header-only audio synthesis and processing library

Aurora A minimal header-only C++ audio synthesis and processing toolkit. Getting Started Aurora is a collection of header files which can be included

null 11 Sep 26, 2022
Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.

Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist. Attention This library is still under development! Read the docs and ch

everdrone 80 Aug 15, 2022
Arduino library for basic aerial navigation functions used for processing Euler angles, direction cosine matrices, quaternions, frame conversions, and more.

navduino Arduino library for basic aerial navigation functions used for Euler angles Direction cosine matrices Quaternions Rodrigues Rotation Vectors

PB2 5 Jul 28, 2022
An image processing application & library built in C++20 and the Qt Framework.

Image Processing This is an image processing application & library built using C++ and Qt. It contains set of the most common image processing algorit

Rami Zouari 9 Jun 8, 2022
Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.

JPEGView-Image-Viewer-and-Editor Updated Dec 07 2021. Version 1.1.1.0 has been released. Download link1, link2 added. Second life for famous JPEGView

Ann Hatt 30 Sep 14, 2022
Aquila is a digital signal processing library for C++11.

What is Aquila? Aquila is an open source and cross-platform DSP (Digital Signal Processing) library for C++11. Example #include "aquila/aquila.h" int

Zbigniew Siciarz 403 Sep 26, 2022
Basic definitions and utility functions for GNSS raw measurement processing

gnss_comm Authors/Maintainers: CAO Shaozu (shaozu.cao AT gmail.com) The gnss_comm package contains basic definitions and utility functions for GNSS ra

HKUST Aerial Robotics Group 60 Sep 20, 2022
DICOM images and volumes viewer with advanced processing infrastructure (WPF, ITK, VTK)

DicomViewer DICOM images and volumes viewer with advanced processing infrastructure Stack: WPF (C#) ITK (C++) VTK (C++) Structure: DicomViewer - WPF a

Paweł Piorun 1 Sep 8, 2022