Boost logo

Boost :

From: Caleb Epstein (caleb.epstein_at_[hidden])
Date: 2005-03-21 10:32:02


On Mon, 14 Mar 2005 08:57:25 -0500, Caleb Epstein
<caleb.epstein_at_[hidden]> wrote:

> The file "operations_posix_windows.cpp" in the filesystem library
> defines the macro _FILE_OFFSET_BITS=64 in an attempt to enable large
> file support on POSIX platforms. Unfortunately, this definition comes
> too late for it to work properly on Solaris, so Boost.Filesystem
> incorrectly reports that large file support is unavailable (cf.
> http://tinyurl.com/44jvy).
>
> The _FILE_OFFSET_BITS macro definition needs to happen before the
> inclusion of <sys/types.h>, but this system header is being pulled in
> courtesy of <boost/config.hpp> which is included by
> <boost/filesystem/config.hpp>. I'm attaching the output of g++ -H on
> this file which lists header files as they are included, along with a
> nesting depth so you can see what is going on.
>
> Can this macro definition just be moved before any other includes? I
> think it should be harmless on any non-POSIX platform. I think
> defining it before ANY header is included or on the compiler
> command-line is the only way for to make this work reliably.

I've received no reply to this bug report, so I'm following up and CC'ing Beman.

-- 
Caleb Epstein
caleb dot epstein at gmail dot com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk