[Boost-bugs] [Boost C++ Libraries] #8961: Android build error: 'posix_memalign' was not declared in this scope

Subject: [Boost-bugs] [Boost C++ Libraries] #8961: Android build error: 'posix_memalign' was not declared in this scope
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-08-03 20:17:04


#8961: Android build error: 'posix_memalign' was not declared in this scope
-----------------------------+------------------------------
 Reporter: james.withers@… | Type: Bugs
   Status: new | Milestone: To Be Determined
Component: None | Version: Boost 1.54.0
 Severity: Problem | Keywords:
-----------------------------+------------------------------
 I was compiling for Android NDK 9 and I got the following error:

 {{{
 gcc.compile.c++ bin.v2/libs/log/build/gcc-android4.8/release/build-no
 /link-static/log-api-unix/runtime-link-static/threading-
 multi/threadsafe_queue.o
 libs/log/src/threadsafe_queue.cpp: In static member function 'static void*
 boost::log::v2s_mt_posix::aux::threadsafe_queue_impl::operator
 new(std::size_t)':
 libs/log/src/threadsafe_queue.cpp:174:36: error: 'posix_memalign' was not
 declared in this scope
      if (posix_memalign(&p, 64, size) || !p)
 }}}

 I fixed the problem by changing this block in
 libs/log/src/threadsafe_queue.cpp from:

 {{{
 #if !(defined(sun) || defined(__sun)) || defined(__SunOS_5_11) ||
 defined(__SunOS_5_12)
 #define BOOST_LOG_HAS_POSIX_MEMALIGN 1
 #endif
 }}}

 to:

 {{{
 #if (!defined(__ANDROID__) && !(defined(sun)) || defined(__sun)) ||
 defined(__SunOS_5_11) || defined(__SunOS_5_12)
 #define BOOST_LOG_HAS_POSIX_MEMALIGN 1
 #endif
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8961>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC