[vlc-devel] vlc3 : cannot link with libaccess_srt_plugin

Jean-Baptiste Kempf jb at videolan.org
Sun Dec 3 11:22:32 CET 2017


Hello Gilles,

What happens if you force -lstdc++ ?

Best,

On Sat, 2 Dec 2017, at 17:51, Gilles Sabourin wrote:
> Hello team,
> 
> With latest vlc, I got issues when linking with libaccess_srt_plugin,
> with 
> lots of unknown symbols. are they related to g++ version ?
> 
> This was ok, one week before...
> 
> BR,
> Gilles
> 
> [...]
> make[4]: Entering directory
> '/usr/src/packages/BUILD/vlc-beta-4.0.0/modules'
>   CCLD     libaccess_srt_plugin.la
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function `srt_strerror':                    
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/
> srt_c_api.cpp:109: undefined reference to `__cxa_guard_acquire'           
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function
> `std::string::operator=(std::string 
> const&)':                                                                 
> /usr/include/c++/5/bits/basic_string.h:3045: undefined reference to 
> `std::string::assign(std::string const&)'                                 
> /usr/include/c++/5/bits/basic_string.h:3045: undefined reference to 
> `std::string::assign(std::string const&)'                                 
> /usr/include/c++/5/bits/basic_string.h:3045: undefined reference to 
> `std::string::assign(std::string const&)'                                 
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function `srt_strerror':                    
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/
> srt_c_api.cpp:109: undefined reference to `__cxa_guard_release'           
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/
> srt_c_api.cpp:109: undefined reference to `__cxa_guard_abort'             
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function 
> `__gnu_cxx::new_allocator<std::_Rb_tree_node<logging::LogFA> 
> >::allocate(unsigned long, void const*)':                           
> /usr/include/c++/5/ext/new_allocator.h:104: undefined reference to
> `operator 
> new(unsigned long)'                                                       
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function
> `std::_Rb_tree_iterator<logging::LogFA> 
> std::_Rb_tree<logging::LogFA, logging::LogFA,
> std::_Identity<logging::LogFA>, 
> std::less< logging::LogFA>, std::allocator<logging::LogFA> 
> >::_M_insert_<std::_Rb_tree<logging::LogFA, logging::LogFA, 
> std::_Identity<logging::LogFA>, std::less<logging::LogFA>, 
> std::allocator<logging::LogFA> >::_Alloc_node>(std::_Rb_tree_node_bas e*, 
> std::_Rb_tree_node_base*, logging::LogFA const&,
> std::_Rb_tree<logging::LogFA, 
> logging::LogFA, std::_Identity<logging::LogFA>,
> std::less<logging::LogFA>, 
> std::allocator<logging::LogFA> >::_Alloc_node&)':                         
> /usr/include/c++/5/bits/stl_tree.h:1540: undefined reference to 
> `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, 
> std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'                      
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function 
> `std::_Rb_tree_const_iterator<logging::LogFA>::operator++()':             
> /usr/include/c++/5/bits/stl_tree.h:284: undefined reference to 
> `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'                 
> /usr/include/c++/5/bits/stl_tree.h:284: undefined reference to 
> `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'                 
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function 
> `__gnu_cxx::new_allocator<std::_Rb_tree_node<logging::LogFA> 
> >::deallocate(std::_Rb_tree_node<logging::LogFA>*, unsigned long)': 
> /usr/include/c++/5/ext/new_allocator.h:110: undefined reference to
> `operator 
> delete(void*)'                                                            
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function 
> `__gnu_cxx::new_allocator<std::_Rb_tree_node<logging::LogFA> 
> >::allocate(unsigned long, void const*)':                           
> /usr/include/c++/5/ext/new_allocator.h:104: undefined reference to
> `operator 
> new(unsigned long)'                                                       
> /usr/include/c++/5/ext/new_allocator.h:104: undefined reference to
> `operator 
> new(unsigned long)'                                                       
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function
> `std::_Rb_tree_node<logging::LogFA>* 
> std::_Rb_tree<logging::LogFA, logging::LogFA,
> std::_Identity<logging::LogFA>, 
> std::less<log ging::LogFA>, std::allocator<logging::LogFA> 
> >::_M_copy<std::_Rb_tree<logging::LogFA, logging::LogFA, 
> std::_Identity<logging::LogFA>, std::less<logging::LogFA>, 
> std::allocator<logging::LogFA>
> >::_Alloc_node>(std::_Rb_tree_node<logging:: 
> LogFA> const*, std::_Rb_tree_node<logging::LogFA>*, 
> std::_Rb_tree<logging::LogFA, logging::LogFA,
> std::_Identity<logging::LogFA>, 
> std::less<logging::LogFA>, std::allocator<logging::LogFA>
> >::_Alloc_node&)':                               
> /usr/include/c++/5/bits/stl_tree.h:1624: undefined reference to 
> `__cxa_begin_catch'
> /usr/include/c++/5/bits/stl_tree.h:1627: undefined reference to
> `__cxa_rethrow'
> /usr/include/c++/5/bits/stl_tree.h:1624: undefined reference to 
> `__cxa_end_catch'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function 
> `std::_Rb_tree_iterator<logging::LogFA>::operator--()':
> /usr/include/c++/5/bits/stl_tree.h:220: undefined reference to 
> `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
> /usr/include/c++/5/bits/stl_tree.h:220: undefined reference to 
> `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function 
> `std::_Rb_tree_iterator<logging::LogFA>::operator++()':
> /usr/include/c++/5/bits/stl_tree.h:205: undefined reference to 
> `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o): In function `_GLOBAL__sub_I_srt_c_api.cpp':
> /usr/include/c++/5/iostream:74: undefined reference to 
> `std::ios_base::Init::Init()'
> /usr/include/c++/5/iostream:74: undefined reference to 
> `std::ios_base::Init::~Init()'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(srt_c_api.cpp.o):
> (.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0):
> undefined 
> reference to `__gxx_personality_v0'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function 
> `__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >::allocate(unsigned
> long, 
> void const*)':
> /usr/include/c++/5/ext/new_allocator.h:104: undefined reference to
> `operator 
> new(unsigned long)'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `std::_Rb_tree_iterator<int> 
> std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, 
> std::allocator<int> >::_M_insert_<std::_Rb_tree<int, int,
> std::_Identity<int>, 
> std::less<int>, std::allocator<int>
> >::_Alloc_node>(std::_Rb_tree_node_base*, 
> std::_Rb_tree_node_base*, int const&, std::_Rb_tree<int, int, 
> std::_Identity<int>, std::less<int>, std::allocator<int>
> >::_Alloc_node&)':
> /usr/include/c++/5/bits/stl_tree.h:1540: undefined reference to 
> `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, 
> std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function 
> `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const,
> CUDTSocket*> 
> > >::allocate(unsigned long, void const*)':
> /usr/include/c++/5/ext/new_allocator.h:104: undefined reference to
> `operator 
> new(unsigned long)'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `std::_Rb_tree_iterator<std::pair<int
> const, 
> CUDTSocket*> > std::_Rb_tree<int, std::pair<int const, CUDTSocket*>, 
> std::_Select1st<std::pair<int const, CUDTSocket*> >, std::less<int>, 
> std::allocator<std::pair<int const, CUDTSocket*> > 
> >::_M_insert_<std::_Rb_tree<int, std::pair<int const, CUDTSocket*>, 
> std::_Select1st<std::pair<int const, CUDTSocket*> >, std::less<int>, 
> std::allocator<std::pair<int const, CUDTSocket*> > 
> >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, 
> std::pair<int const, CUDTSocket*> const&, std::_Rb_tree<int,
> std::pair<int 
> const, CUDTSocket*>, std::_Select1st<std::pair<int const, CUDTSocket*> >, 
> std::less<int>, std::allocator<std::pair<int const, CUDTSocket*> > 
> >::_Alloc_node&)':
> /usr/include/c++/5/bits/stl_tree.h:1540: undefined reference to 
> `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, 
> std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `CUDTUnited::lookup(int)':
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:495: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:495: 
> undefined reference to `__cxa_throw'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:495: 
> undefined reference to `__cxa_free_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `CUDTUnited::connect_complete(int)':
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:867: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:867: 
> undefined reference to `__cxa_throw'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:867: 
> undefined reference to `__cxa_free_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `CUDTUnited::getpeername(int, sockaddr*, 
> int*)':
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:957: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:957: 
> undefined reference to `__cxa_throw'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:949: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:954: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:957: 
> undefined reference to `__cxa_free_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `CUDTUnited::getsockname(int, sockaddr*, 
> int*)':
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:975: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:981: 
> undefined reference to `__cxa_throw'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:981: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:978: 
> undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:981: 
> undefined reference to `__cxa_free_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `CUDTUnited::epoll_add_usock(int, int,
> int 
> const*)':
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:
> 1220: undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:
> 1220: undefined reference to `__cxa_throw'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:
> 1220: undefined reference to `__cxa_free_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function `CUDTUnited::epoll_update_usock(int,
> int, int 
> const*)':
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:
> 1244: undefined reference to `__cxa_allocate_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:
> 1244: undefined reference to `__cxa_throw'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/native/srt/srtcore/api.cpp:
> 1244: undefined reference to `__cxa_free_exception'
> /usr/src/packages/BUILD/vlc-beta-4.0.0/contrib/x86_64-suse-linux/lib/
> libsrt.a(api.cpp.o): In function
> `std::_Rb_tree_const_iterator<int>::operator+
> +()':
> /usr/include/c++/5/bits/stl_tree.h:284: undefined reference to 
> `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


-- 
Jean-Baptiste Kempf -  President
+33 672 704 734


More information about the vlc-devel mailing list