Opened 5 years ago
Closed 4 years ago
#13045 closed Bugs (duplicate)
"uintptr_t is not defined" on Linux when using the Oracle's compiler
Reported by: | Owned by: | John Maddock | |
---|---|---|---|
Milestone: | To Be Determined | Component: | config |
Version: | Boost 1.63.0 | Severity: | Problem |
Keywords: | Cc: |
Description
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.
Change History (3)
comment:1 by , 5 years ago
comment:3 by , 4 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Pull Request: https://github.com/boostorg/config/pull/139