Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#2924 closed Bugs (fixed)

BSD and darwin gcc standard libraries aren't always detected.

Reported by: Daniel James Owned by: John Maddock
Milestone: Boost 1.39.0 Component: config
Version: Boost Development Trunk Severity: Problem
Keywords: Cc: ddeakins@…

Description

If you look at some of the config results for NetBSD and Darwin they gcc stdlib hasn't been detected (it says 'Unknown ISO standard library') because including <cstddef> doesn't define the C++ macros.

The attached patch fixes this for darwin 4.0.1 and hopefully the other platforms as well.

Attachments (1)

config.patch (1.0 KB ) - added by Daniel James 14 years ago.

Download all attachments as: .zip

Change History (14)

by Daniel James, 14 years ago

Attachment: config.patch added

comment:1 by John Maddock, 14 years ago

Sigh... looks like someone broke this in https://svn.boost.org/trac/boost/changeset/52104, can you go please ahead and commit, and check the release branch as well?

Thanks, John.

comment:2 by John Maddock, 14 years ago

Cc: ddeakins@… added

Looks like it's broken for Borland as well as all the glibc platforms, I'm CC'ing Dave Deakins as well since he caused the breakage :-)

John.

comment:3 by Daniel James, 14 years ago

Resolution: fixed
Status: newclosed

(In [52246]) Include <utility> for some versions of gcc's library.

Sometimes gcc's <cstddef> doesn't define the C++ macros, so check for it and include <utility> in that case. Also remove a workaround from container_fwd.hpp

Fixes #2924.

comment:4 by Daniel James, 14 years ago

Resolution: fixed
Status: closedreopened

Sorry, I only read your comment after committing. Reopening for Borland.

comment:5 by Daniel James, 14 years ago

Version: Boost 1.38.0Boost Development Trunk

Oh, and this is only on trunk. The release branch is fine.

comment:6 by Daniel James, 14 years ago

Actually, it isn't. I had an old version. I think we should revert the change on release. Especially since we're coming up to the deadline.

comment:7 by John Maddock, 14 years ago

Nod, I agree. If David can fix the regressions on Trunk we can always merge to release branch for the next release.

John.

comment:8 by David Deakins, 14 years ago

(In [52254]) Reverted change in boost/config/select_stdlib_config.hpp change in rev 52221. Some gcc and Borland stdlibs don't pick up the C++ macros needed for stdlib detection from <cstddef>. See ticket 2924.

comment:9 by David Deakins, 14 years ago

My bad. Change reverted on the release branch. I'll look into the Borland issue on the trunk right away and see if there is an easy patch for it.

comment:10 by David Deakins, 14 years ago

Ok, I just checked in a change to the trunk that will hopefully remove the regressions. I'll keep an eye on the Borland results and close the issue if the problem is resolved.

comment:11 by David Deakins, 14 years ago

Resolution: fixed
Status: reopenedclosed

The trunk results have cycled and it appears that with the revised change the Borland and gcc results are correct again. I believe this issue is now closed.

comment:12 by Daniel James, 14 years ago

(In [52324]) Merge quickbook and hash changelogs. Tweak gcc detection in container_fwd.hpp

Merged revisions 52084,52245-52246,52304,52320,52323 via svnmerge from https://svn.boost.org/svn/boost/trunk

........

r52084 | danieljames | 2009-03-31 20:43:58 +0100 (Tue, 31 Mar 2009) | 1 line

Changelog for unordered and hash.

........

r52245 | danieljames | 2009-04-08 06:51:31 +0100 (Wed, 08 Apr 2009) | 5 lines

Detect gcc stdlib for gcc 4.0.1.

For some reason the normal macros aren't defined for the standard library that comes with gcc 4.0.1 (although maybe just on BSDs?). So try to detect the library for that compiler.

........

r52246 | danieljames | 2009-04-08 11:56:22 +0100 (Wed, 08 Apr 2009) | 7 lines

Include <utility> for some versions of gcc's library.

Sometimes gcc's <cstddef> doesn't define the C++ macros, so check for it and include <utility> in that case. Also remove a workaround from container_fwd.hpp

Fixes #2924.

........

r52304 | danieljames | 2009-04-10 20:25:32 +0100 (Fri, 10 Apr 2009) | 4 lines

Don't use debug containers on darwin.

I'm getting errors from the darwin 4.2 debug containers which appear to a problem with its implementation.

........

r52320 | danieljames | 2009-04-11 08:53:59 +0100 (Sat, 11 Apr 2009) | 1 line

Don't need to include utility now that select_stdlib has been fixed.

........

r52323 | danieljames | 2009-04-11 09:26:20 +0100 (Sat, 11 Apr 2009) | 1 line

Also don't need to check for _GLIBCXX_CSTDDEF.

........

comment:13 by Daniel James, 14 years ago

Oops, sorry that got posted to this ticket. I didn't merge any changes to config there, as the later patches reverted the changes I made to config.

Note: See TracTickets for help on using tickets.