Subject: [Boost-bugs] [Boost C++ Libraries] #13045: "uintptr_t is not defined" on Linux when using the Oracle's compiler
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-05-23 10:49:20
#13045: "uintptr_t is not defined" on Linux when using the Oracle's compiler
-------------------------------+-------------------------
Reporter: maxim.kartashev@⦠| Owner: johnmaddock
Type: Bugs | Status: new
Milestone: To Be Determined | Component: config
Version: Boost 1.63.0 | Severity: Problem
Keywords: |
-------------------------------+-------------------------
An attempt to build with
{{{
$ b2 stdlib=sun-stlport
}}}
on Oracle Linux using the Oracle's compiler fails like so
{{{
"CC" -library=stlport4 -std=sun03 -xO4 -mt -erroff=%none -m64 -KPIC
-DBOOST_ALL_NO_LIB=1 -DBOOST_MATH_TR1_DYN_LINK=1 -DNDEBUG -I"."
-I"libs/math/src/tr1" -c -o "bin.v2/libs/math/build/sun/release/stdlib-
sun-stlport/threading-multi/assoc_legendre.o"
"libs/math/build/../src/tr1/assoc_legendre.cpp"
...failed sun.compile.c++ bin.v2/libs/math/build/sun/release/stdlib-sun-
stlport/threading-multi/assoc_legendre.o...
sun.compile.c++ bin.v2/libs/math/build/sun/release/stdlib-sun-stlport
/threading-multi/beta.o
"./boost/cstdint.hpp", line 381: Error: uintptr_t is not defined.
"./boost/atomic/detail/atomic_template.hpp", line 670: Error: uintptr_t is
not defined.
2 Error(s) detected.
}}}
Reproducible on Oracle Linux 6 and 7, works fine on Solaris 11.3.
The problem is that the header holding the definition of uintptr_t does
not get included directly. On other platforms, uintptr_t gets pulled in
accidentally through some other includes.
The fix is to define BOOST_HAS_STDINT_H in Oracle's compiler config.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/13045> 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-05-23 10:53:29 UTC