Modify

Opened 4 years ago

Closed 4 years ago

#8815 closed Bugs (fixed)

Android - error: 'posix_memalign' was not declared in this scope

Reported by: mik01@… Owned by: Andrey Semashev
Milestone: To Be Determined Component: log
Version: Boost 1.54.0 Severity: Problem
Keywords: Cc:

Description

gcc.compile.c++ bin.v2/libs/log/build/gcc-arm/release/build-no/link-static/log-api-unix/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:175:36: error: 'posix_memalign' was not declared in this scope

It looks like posix_memalign ist not available for Android (using arm-linux-androideabi-gcc 4.6).

Possible fix (libs/log/src/threadsafe_queue.cpp):

// Solaris 10 does not have posix_memalign. Solaris 11 and later seem to have it.
// The same goes for Android.
#if !(defined(sun) || defined(__sun)) || defined(__SunOS_5_11) || defined(__SunOS_5_12)
#ifndef __ANDROID__
#define BOOST_LOG_HAS_POSIX_MEMALIGN 1
#endif
#endif

Attachments (0)

Change History (1)

comment:1 Changed 4 years ago by Andrey Semashev

Resolution: fixed
Status: newclosed

(In [85020]) Refactored aligned memory allocation. Added support for Android. Fixes #8815.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Andrey Semashev.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.