[MacPorts] #27289: libtorrent-devel: there are no arguments to 'posix_memalign' that depend on a template parameter, so a declaration of 'posix_memalign' must be available (was: libtorrent-devel 0.12.7_0 Build Error: "shell command failed")

MacPorts noreply at macports.org
Fri Nov 12 09:59:42 PST 2010


#27289: libtorrent-devel: there are no arguments to 'posix_memalign' that depend on
a template parameter, so a declaration of 'posix_memalign' must be
available
---------------------------------------------+------------------------------
 Reporter:  gorzarg@…                        |       Owner:  gardnermj@…        
     Type:  defect                           |      Status:  new                
 Priority:  Normal                           |   Milestone:                     
Component:  ports                            |     Version:  1.9.2              
 Keywords:  libtorrent-devel rtorrent-devel  |        Port:  libtorrent-devel   
---------------------------------------------+------------------------------
Changes (by ryandesign@…):

  * owner:  macports-tickets@… => gardnermj@…
 * cc: gorzarg@… (removed)


Comment:

 The revelant error from the log seems to be:
 {{{
 :info:build ../../../rak/allocators.h: In static member function 'static
 T* rak::cacheline_allocator<T>::alloc_size(size_t)':
 :info:build ../../../rak/allocators.h:80: error: there are no arguments to
 'posix_memalign' that depend on a template parameter, so a declaration of
 'posix_memalign' must be available
 :info:build ../../../rak/allocators.h:80: error: (if you use
 '-fpermissive', G++ will accept your code, but allowing the use of an
 undeclared name is deprecated)
 :info:build ../../../rak/allocators.h: In static member function 'static
 T* rak::cacheline_allocator<T>::alloc_size(size_t) [with T =
 rak::priority_item*]':
 :info:build ../../../rak/allocators.h:76:   instantiated from 'T*
 rak::cacheline_allocator<T>::allocate(size_t, const void*) [with T =
 rak::priority_item*]'
 :info:build /usr/include/c++/4.0.0/bits/stl_vector.h:117:   instantiated
 from '_Tp* std::_Vector_base<_Tp, _Alloc>::_M_allocate(size_t) [with _Tp =
 rak::priority_item*, _Alloc =
 rak::cacheline_allocator<rak::priority_item*>]'
 :info:build /usr/include/c++/4.0.0/bits/vector.tcc:275:   instantiated
 from 'void std::vector<_Tp,
 _Alloc>::_M_insert_aux(__gnu_cxx::__normal_iterator<typename
 _Alloc::pointer, std::vector<_Tp, _Alloc> >, const _Tp&) [with _Tp =
 rak::priority_item*, _Alloc =
 rak::cacheline_allocator<rak::priority_item*>]'
 :info:build /usr/include/c++/4.0.0/bits/stl_vector.h:610:   instantiated
 from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp =
 rak::priority_item*, _Alloc =
 rak::cacheline_allocator<rak::priority_item*>]'
 :info:build ../../../rak/priority_queue.h:77:   instantiated from 'void
 rak::priority_queue<Value, Compare, Equal, Alloc>::push(const typename
 std::vector<Value, Alloc>::value_type&) [with Value = rak::priority_item*,
 Compare = rak::priority_compare, Equal = rak::priority_equal, Alloc =
 rak::cacheline_allocator<rak::priority_item*>]'
 :info:build ../../../rak/priority_queue_default.h:116:   instantiated from
 here
 :info:build ../../../rak/allocators.h:80: error: 'posix_memalign' was not
 declared in this scope
 }}}
 I see you are trying to install this on an Intel Mac running Tiger. I
 suppose Tiger does not contain the posix_memalign function. I know Snow
 Leopard does.

 [http://stackoverflow.com/questions/196329/osx-lacks-memalign This Stack
 Overflow question] suggests posix_memalign may not even be needed on the
 Mac (though Apple did add it to Mac OS X some time after Tiger, so it must
 serve some purpose...)

-- 
Ticket URL: <https://trac.macports.org/ticket/27289#comment:2>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list