问题
when i am trying to install xuggler through command line i am getting error message,how to solve this,the command line out given below,the out i given here is not the full out,only the last few lines,that is after starting the installation about 15 minute by the command "ant run-tests".
allbackHelper*, std::allocator<_Tp> = std::allocator<com::xuggle::ferry::JNIHelper::CallbackHelper*>]
[exec] /usr/include/c++/4.6/bits/allocator.h:109:7: note: no known conversion for argument 1 from ‘std::_List_base<com::xuggle::ferry::JNIHelper::CallbackHelper*, std::allocator<com::xuggle::ferry::JNIHelper::CallbackHelper*> >::_Tp_alloc_type {aka std::allocator<com::xuggle::ferry::JNIHelper::CallbackHelper*>}’ to ‘std::allocator<com::xuggle::ferry::JNIHelper::CallbackHelper*>&’
[exec] /usr/include/c++/4.6/bits/allocator.h:107:7: note: std::allocator<_Tp>::allocator() [with _Tp = com::xuggle::ferry::JNIHelper::CallbackHelper*]
[exec] /usr/include/c++/4.6/bits/allocator.h:107:7: note: candidate expects 0 arguments, 1 provided
[exec] In file included from /usr/include/c++/4.6/i686-linux-gnu/./bits/c++allocator.h:34:0,
[exec] from /usr/include/c++/4.6/bits/allocator.h:48,
[exec] from /usr/include/c++/4.6/list:62,
[exec] from ../../../../../../../csrc/com/xuggle/ferry/JNIHelper.h:24,
[exec] from ../../../../../../../csrc/com/xuggle/ferry/JNIHelper.cpp:21:
[exec] /usr/include/c++/4.6/ext/new_allocator.h: In member function ‘void __gnu_cxx::new_allocator<_Tp>::construct(__gnu_cxx::new_allocator<_Tp>::pointer, _Tp&) [with _Tp = com::xuggle::ferry::JNIHelper::CallbackHelper*, __gnu_cxx::new_allocator<_Tp>::pointer = com::xuggle::ferry::JNIHelper::CallbackHelper**]’:
[exec] /usr/include/c++/4.6/bits/stl_list.h:476:6: instantiated from ‘std::list<_Tp, _Alloc>::_Node* std::list<_Tp, _Alloc>::_M_create_node(std::list<_Tp, _Alloc>::value_type&) [with _Tp = com::xuggle::ferry::JNIHelper::CallbackHelper*, _Alloc = std::allocator<com::xuggle::ferry::JNIHelper::CallbackHelper*>, std::list<_Tp, _Alloc>::_Node = std::_List_node<com::xuggle::ferry::JNIHelper::CallbackHelper*>, std::list<_Tp, _Alloc>::value_type = com::xuggle::ferry::JNIHelper::CallbackHelper*]’
[exec] /usr/include/c++/4.6/bits/stl_list.h:1515:42: instantiated from ‘void std::list<_Tp, _Alloc>::_M_insert(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::value_type&) [with _Tp = com::xuggle::ferry::JNIHelper::CallbackHelper*, _Alloc = std::allocator<com::xuggle::ferry::JNIHelper::CallbackHelper*>, std::list<_Tp, _Alloc>::iterator = std::_List_iterator<com::xuggle::ferry::JNIHelper::CallbackHelper*>, std::list<_Tp, _Alloc>::value_type = com::xuggle::ferry::JNIHelper::CallbackHelper*]’
[exec] /usr/include/c++/4.6/bits/stl_list.h:988:9: instantiated from ‘void std::list<_Tp, _Alloc>::push_back(std::list<_Tp, _Alloc>::value_type&) [with _Tp = com::xuggle::ferry::JNIHelper::CallbackHelper*, _Alloc = std::allocator<com::xuggle::ferry::JNIHelper::CallbackHelper*>, std::list<_Tp, _Alloc>::value_type = com::xuggle::ferry::JNIHelper::CallbackHelper*]’
[exec] ../../../../../../../csrc/com/xuggle/ferry/JNIHelper.cpp:88:29: instantiated from here
[exec] /usr/include/c++/4.6/ext/new_allocator.h:108:9: error: no matching function for call to ‘operator new(unsigned int, void*)’
[exec] /usr/include/c++/4.6/ext/new_allocator.h:108:9: note: candidate is:
[exec] <built-in>:0:0: note: void* operator new(unsigned int)
[exec] <built-in>:0:0: note: candidate expects 1 argument, 2 provided
[exec] make[5]: Leaving directory `/home/sajith/xuggle-xuggle-xuggler-dbd82d2/build/native/i686-pc-linux-gnu/csrc/com/xuggle/ferry'
[exec] make[4]: Leaving directory `/home/sajith/xuggle-xuggle-xuggler-dbd82d2/build/native/i686-pc-linux-gnu/csrc/com/xuggle/ferry'
[exec] make[3]: Leaving directory `/home/sajith/xuggle-xuggle-xuggler-dbd82d2/build/native/i686-pc-linux-gnu/csrc/com/xuggle'
[exec] make[2]: Leaving directory `/home/sajith/xuggle-xuggle-xuggler-dbd82d2/build/native/i686-pc-linux-gnu/csrc/com'
[exec] make[1]: Leaving directory `/home/sajith/xuggle-xuggle-xuggler-dbd82d2/build/native/i686-pc-linux-gnu/csrc'
[exec] cc1plus: all warnings being treated as errors
[exec]
[exec] make[5]: *** [JNIHelper.lo] Error 1
[exec] make[4]: *** [all] Error 2
[exec] make[3]: *** [all-recursive] Error 1
[exec] make[2]: *** [all-recursive] Error 1
[exec] make[1]: *** [all-recursive] Error 1
[exec] make: *** [all-recursive] Error 1
BUILD FAILED /home/sajith/xuggle-xuggle-xuggler-dbd82d2/mk/buildtools/buildhelper.xml:1149: exec returned: 2
the error message in the above is displayed after a 15 minute of installation (as the result of the command 'ant run-tests')
回答1:
I've found a solution to fix this build fail:
[exec] cc1plus: all warnings being treated as errors
From a google research I've found it's a problem related to the gcc version you are using. But if you want to fix it independently from gcc version (you cannot choose gcc version in some linux distributions), go to the xuggle downloaded/extracted folder and use:
grep -rl "Werror" * | xargs sed -i 's/Werror/Wno-error/g'
This will force the compiler to consider warnings as warnings and not as errors, and the build will succeed.
Note: if you want to be sure that this command takes effect, before the command use:
grep -rl "Werror" *
And after the command use:
grep -rl "Wno-error" *
They should give you the same file-list.
来源:https://stackoverflow.com/questions/9646000/while-installing-xuggler-in-ubuntu-11-10-getting-error-message