[x265] why fail to build x265 with vmaf

qw applemax82 at 163.com
Mon Sep 9 04:18:13 CEST 2019


Hi,


The latest vmaf source code is used, but I still fail to build x265. Below is the error message:


Scanning dependencies of target common
[  1%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixel-a.asm.o
[  2%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/const-a.asm.o
[  3%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/cpu-a.asm.o
[  4%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/ssd-a.asm.o
[  6%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/mc-a.asm.o
[  7%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/mc-a2.asm.o
[  8%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixel-util8.asm.o
[  9%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/blockcopy8.asm.o
[ 10%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixeladd8.asm.o
[ 12%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/dct8.asm.o
[ 13%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/seaintegral.asm.o
[ 14%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/sad-a.asm.o
[ 15%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/intrapred8.asm.o
[ 17%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/intrapred8_allangs.asm.o
[ 18%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/v4-ipfilter8.asm.o
[ 19%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/h-ipfilter8.asm.o
[ 20%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/ipfilter8.asm.o
[ 21%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/loopfilter.asm.o
[ 23%] Building CXX object common/CMakeFiles/common.dir/x86/asm-primitives.cpp.o
[ 24%] Building CXX object common/CMakeFiles/common.dir/vec/vec-primitives.cpp.o
[ 25%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse3.cpp.o
[ 26%] Building CXX object common/CMakeFiles/common.dir/vec/dct-ssse3.cpp.o
[ 28%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse41.cpp.o
[ 29%] Building CXX object common/CMakeFiles/common.dir/primitives.cpp.o
[ 30%] Building CXX object common/CMakeFiles/common.dir/pixel.cpp.o
[ 31%] Building CXX object common/CMakeFiles/common.dir/dct.cpp.o
[ 32%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o
[ 34%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 35%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
[ 36%] Building CXX object common/CMakeFiles/common.dir/loopfilter.cpp.o
[ 37%] Building CXX object common/CMakeFiles/common.dir/constants.cpp.o
[ 39%] Building CXX object common/CMakeFiles/common.dir/cpu.cpp.o
[ 40%] Building CXX object common/CMakeFiles/common.dir/version.cpp.o
[ 41%] Building CXX object common/CMakeFiles/common.dir/threading.cpp.o
[ 42%] Building CXX object common/CMakeFiles/common.dir/threadpool.cpp.o
[ 43%] Building CXX object common/CMakeFiles/common.dir/wavefront.cpp.o
[ 45%] Building CXX object common/CMakeFiles/common.dir/md5.cpp.o
[ 46%] Building CXX object common/CMakeFiles/common.dir/bitstream.cpp.o
[ 47%] Building CXX object common/CMakeFiles/common.dir/yuv.cpp.o
[ 48%] Building CXX object common/CMakeFiles/common.dir/shortyuv.cpp.o
[ 50%] Building CXX object common/CMakeFiles/common.dir/picyuv.cpp.o
[ 51%] Building CXX object common/CMakeFiles/common.dir/common.cpp.o
[ 52%] Building CXX object common/CMakeFiles/common.dir/param.cpp.o
[ 53%] Building CXX object common/CMakeFiles/common.dir/frame.cpp.o
[ 54%] Building CXX object common/CMakeFiles/common.dir/framedata.cpp.o
[ 56%] Building CXX object common/CMakeFiles/common.dir/cudata.cpp.o
[ 57%] Building CXX object common/CMakeFiles/common.dir/slice.cpp.o
[ 58%] Building CXX object common/CMakeFiles/common.dir/lowres.cpp.o
[ 59%] Building CXX object common/CMakeFiles/common.dir/piclist.cpp.o
[ 60%] Building CXX object common/CMakeFiles/common.dir/predict.cpp.o
[ 62%] Building CXX object common/CMakeFiles/common.dir/scalinglist.cpp.o
[ 63%] Building CXX object common/CMakeFiles/common.dir/quant.cpp.o
[ 64%] Building CXX object common/CMakeFiles/common.dir/deblock.cpp.o
[ 64%] Built target common
Scanning dependencies of target encoder
[ 65%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o
[ 67%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o
[ 68%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o
[ 69%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o
[ 70%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o
[ 71%] Building CXX object encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o
[ 73%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o
[ 74%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o
[ 75%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o
[ 76%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o
[ 78%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o
[ 79%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o
[ 80%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o
[ 81%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o
[ 82%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o
[ 84%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o
[ 85%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o
In file included from /data2/qiang/vod_transcoder/add_vmaf/x265-3.1.1/source/encoder/api.cpp:36:0:
/usr/local/include/libvmaf.h:117:17: error: 'unique_ptr' in namespace 'std' does not name a template type
     static std::unique_ptr<IVmafQualityRunner>
                 ^~~~~~~~~~
encoder/CMakeFiles/encoder.dir/build.make:270: recipe for target 'encoder/CMakeFiles/encoder.dir/api.cpp.o' failed
make[2]: *** [encoder/CMakeFiles/encoder.dir/api.cpp.o] Error 1
CMakeFiles/Makefile2:211: recipe for target 'encoder/CMakeFiles/encoder.dir/all' failed
make[1]: *** [encoder/CMakeFiles/encoder.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2


Is there any requirement of gcc version?


thanks!


regards


Andrew





At 2019-09-06 20:00:38, "Emily Bowman" <silverbacknet at gmail.com> wrote:

Your libvmaf is way out of date; the current version includes <string> and for whatever reason, yours doesn't. Pull from the head netflix vmaf repo.




From: qw <applemax82 at 163.com>



Hi,


My environment is :
CentOS Linux release 7.4.1708 (Core)
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
cmake version 3.15.2


the version of x265 and vmaf is x265-3.1.1 and vmaf-1.3.14 respectively.


First, I build and install vmaf. Second I build x265 using the following command, but fail:
cmake -G "Unix Makefiles"-DENABLE_LIBVMAF=ON -DENABLE_SHARED=OFF -DSTATIC_LINK_CRT=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-std=c++11" ../source/
make


Below is the error message:


Scanning dependencies of target encoder
[  1%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o
[  2%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o
[  3%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o
[  4%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o
[  6%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o
[  7%] Building CXX object encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o
[  8%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o
[  9%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o
[ 10%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o
[ 12%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o
[ 13%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o
[ 14%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o
[ 15%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o
[ 17%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o
[ 18%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o
[ 19%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o
[ 20%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o
In file included from /data2/qiang/vod_transcoder/add_vmaf/x265-3.1.1/source/encoder/api.cpp:36:0:
/usr/local/include/libvmaf.h:95:27: error: 'string' in namespace 'std' does not name a type
     void set_scores(const std::string &key, const StatVector &scores);
                           ^
/usr/local/include/libvmaf.h:96:33: error: 'string' in namespace 'std' does not name a type
     StatVector get_scores(const std::string &key);
                                 ^
/usr/local/include/libvmaf.h:97:27: error: 'string' in namespace 'std' does not name a type
     bool has_scores(const std::string &key);
                           ^
/usr/local/include/libvmaf.h:98:28: error: 'string' in namespace 'std' does not name a type
     double get_score(const std::string &key);
                            ^
/usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of 'std'
     std::vector<std::string> get_keys();
                 ^
/usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of 'std'
/usr/local/include/libvmaf.h:99:28: error: template argument 1 is invalid
     std::vector<std::string> get_keys();
                            ^
/usr/local/include/libvmaf.h:99:28: error: template argument 2 is invalid
/usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of 'std'
     std::map<std::string, StatVector> d;
              ^
/usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of 'std'
/usr/local/include/libvmaf.h:102:37: error: template argument 1 is invalid
     std::map<std::string, StatVector> d;
                                     ^
/usr/local/include/libvmaf.h:102:37: error: template argument 3 is invalid
/usr/local/include/libvmaf.h:102:37: error: template argument 4 is invalid
/usr/local/include/libvmaf.h:116:12: error: 'unique_ptr' in namespace 'std' does not name a type
     static std::unique_ptr<IVmafQualityRunner>
            ^
make[2]: *** [encoder/CMakeFiles/encoder.dir/api.cpp.o] Error 1
make[1]: *** [encoder/CMakeFiles/encoder.dir/all] Error 2
make: *** [all] Error 2




What's wrong with my building process?


Thanks!


Regards


Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20190909/a0874c93/attachment-0001.html>


More information about the x265-devel mailing list