Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#36557 - compilation of a program using boost breaks

Attached to Project: Arch Linux
Opened by Andreas Baumann (andreas_baumann) - Friday, 16 August 2013, 06:44 GMT
Last edited by Dave Reisner (falconindy) - Friday, 16 August 2013, 20:00 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

/usr/include/boost/atomic/atomic.hpp:202:16: error: 'uintptr_t' was not declared in this scope
typedef atomic<uintptr_t> atomic_uintptr_t;

Additional info:
* boost and boost-libs: 1.54.0-2
* glibc 2.18-1

There is an upstream bug reported: https://svn.boost.org/trac/boost/ticket/8973

The break is most likely due to the upgrade of glibc.

Anybody else experiencing problems with boost?
This task depends upon

Closed by  Dave Reisner (falconindy)
Friday, 16 August 2013, 20:00 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#36566 
Comment by Andreas Baumann (andreas_baumann) - Friday, 16 August 2013, 08:40 GMT
IMHO the test in 'boost/cstdint.hpp' is broken:

#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
..
# else
# include <stdint.h>

So stdint.h is never included.

__GLIBC_HAVE_LONG_LONG has been deprecated so it is never defined.

This is fixed in current trunk of boost:

http://svn.boost.org/svn/boost/trunk/boost/cstdint.hpp

suggesting a backport of the following condition:

#if defined(BOOST_HAS_STDINT_H) \
&& (!defined(__GLIBC__) \
|| defined(__GLIBC_HAVE_LONG_LONG) \
|| (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
Comment by Johannes Wienke (languitar) - Friday, 16 August 2013, 13:59 GMT
I can confirm that the proposed patch solves the problem.

Loading...