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