Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 546584

Summary: www-plugins/gnash-0.8.10_p20150316[vaapi] compilation errors: use of deleted function, initialization
Product: Gentoo Linux Reporter: José Romildo Malaquias <jrmalaq>
Component: Current packagesAssignee: Chí-Thanh Christopher Nguyễn <chithanh>
Status: RESOLVED FIXED    
Severity: normal CC: pageexec
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://savannah.gnu.org/bugs/?44636
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 550356    
Attachments: www-plugins:gnash-0.8.10_p20150316:20150414-143906.log
The output of "emerge --info"

Description José Romildo Malaquias 2015-04-14 14:47:01 UTC
Created attachment 401238 [details]
www-plugins:gnash-0.8.10_p20150316:20150414-143906.log

I am getting the following errors when installing gnash on mu ~amd64 system:

[...]
In file included from vaapi/VaapiContext.cpp:23:0:
vaapi/VaapiContext.h: In member function ‘void gnash::VaapiContext::setData(std::unique_ptr<gnash::VaapiContextData>)’:
vaapi/VaapiContext.h:87:76: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = gnash::VaapiContextData; _Dp = std::default_delete<gnash::VaapiContextData>]’
 d setData(std::unique_ptr<VaapiContextData> user_data) { _user_data = user_data
                                                                     ^
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/include/g++-v4/memory:81:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/format/alt_sstream.hpp:21,
                 from /usr/include/boost/format/internals.hpp:23,
                 from /usr/include/boost/format.hpp:38,
                 from vaapi/VaapiContext.cpp:20:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/include/g++-v4/bits/unique_ptr.h:357:19:
note: declared here
       unique_ptr& operator=(const unique_ptr&) = delete;
                   ^
vaapi/VaapiGlobalContext.cpp: In constructor ‘gnash::VaapiGlobalContext::VaapiGlobalContext(std::unique_ptr<gnash::VaapiDisplay>)’:
vaapi/VaapiGlobalContext.cpp:36:23: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = gnash::VaapiDisplay; _Dp = std::default_delete<gnash::VaapiDisplay>]’
     : _display(display)
                       ^
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/include/g++-v4/memory:81:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/format/alt_sstream.hpp:21,
                 from /usr/include/boost/format/internals.hpp:23,
                 from /usr/include/boost/format.hpp:38,
                 from ../libbase/log.h:31,
                 from vaapi/VaapiGlobalContext.cpp:24:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/include/g++-v4/bits/unique_ptr.h:356:7: note: declared here
       unique_ptr(const unique_ptr&) = delete;
       ^
vaapi/VaapiGlobalContext.cpp: In static member function ‘static gnash::VaapiGlobalContext* gnash::VaapiGlobalContext::get()’:
vaapi/VaapiGlobalContext.cpp:148:66: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = gnash::VaapiDisplay; _Dp = std::default_delete<gnash::VaapiDisplay>]’
             vaapi_global_context.reset(new VaapiGlobalContext(dpy));
                                                                  ^
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/include/g++-v4/memory:81:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/format/alt_sstream.hpp:21,
                 from /usr/include/boost/format/internals.hpp:23,
                 from /usr/include/boost/format.hpp:38,
                 from ../libbase/log.h:31,
                 from vaapi/VaapiGlobalContext.cpp:24:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/include/g++-v4/bits/unique_ptr.h:356:7: note: declared here
       unique_ptr(const unique_ptr&) = delete;
       ^
vaapi/VaapiGlobalContext.cpp:35:1: error:   initializing argument 1 of ‘gnash::VaapiGlobalContext::VaapiGlobalContext(std::unique_ptr<gnash::VaapiDisplay>)’
 VaapiGlobalContext::VaapiGlobalContext(std::unique_ptr<VaapiDisplay> display)
 ^
Comment 1 José Romildo Malaquias 2015-04-14 14:48:05 UTC
Created attachment 401240 [details]
The output of "emerge --info"
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2015-04-19 14:44:24 UTC
This is already reported upstream. As a workaround, disable the vaapi flag for gnash.
Comment 3 PaX Team 2015-07-28 17:09:33 UTC
it's supposedly fixed upstream already, can a newer snapshot be added to portage?
Comment 4 Chí-Thanh Christopher Nguyễn gentoo-dev 2016-04-24 20:31:45 UTC
commit a4bd272fba3feab333eced74d266dcc6e828f80a
Author: Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
Date:   Sun Apr 24 22:30:10 2016 +0200

    www-plugins/gnash: fix building against newer libva, address repoman warnings
    
    Bug: https://bugs.gentoo.org/show_bug.cgi?id=546584
    
    Package-Manager: portage-2.2.26