Boost logo

Boost Users :

Subject: [Boost-users] passing compiler directives
From: Matt Priest (mpriest_at_[hidden])
Date: 2012-04-23 15:24:00


Hello,

In advance, please excuse this newbie question.

I am trying to build boost_1_48_0 and it is going well for all but 4
targets, two of which are the disclaimed <iostreams> failures relating
to the bzip targets.

However, I'm getting errors when trying to build :
    boost_1_48_0/libs/filesystem/v3/src/unique_path.cpp

Here's the error (there's a nearly duplicate error for the statically
linked target):

    gcc.compile.c++
    /users/mpriest/Docs/Boost/build/boost/bin.v2/libs/filesystem/build/gcc-4.7.0/release/threading-multi/v3/src/unique_path.o
    libs/filesystem/v3/src/unique_path.cpp: In function 'void
    {anonymous}::system_crypt_random(void*, std::size_t,
    boost::system::error_code*)':
    libs/filesystem/v3/src/unique_path.cpp:68:49: error: 'read' was not
    declared in this scope
    libs/filesystem/v3/src/unique_path.cpp:71:17: error: 'close' was not
    declared in this scope
    libs/filesystem/v3/src/unique_path.cpp:79:13: error: 'close' was not
    declared in this scope

        "gcc" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline
    -Wall -m64 -pthread -fPIC -DBOOST_ALL_NO_LIB=1
    -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DNDEBUG
    -I"." -c -o
    "/users/mpriest/Docs/Boost/build/boost/bin.v2/libs/filesystem/build/gcc-4.7.0/release/threading-multi/v3/src/unique_path.o"
    "libs/filesystem/v3/src/unique_path.cpp"

    ...failed gcc.compile.c++
    /users/mpriest/Docs/Boost/build/boost/bin.v2/libs/filesystem/build/gcc-4.7.0/release/threading-multi/v3/src/unique_path.o...

It seems like a simple include file availability issue or a
pre-processor define issue, but I can't seem to affect a change in that
compiler command through the user-config.jam file edits.
When I run b2 with --debug-configuration option, I clearly see that
change the -L and -I options in the user-config.jam file is reflected in
the output, but still only see the -I"." option as shown above.

It seems to me that those functions, read and close, should be made
available through including the usual <fcntl.h>, and I think it's a bit
curious that no other targets fail from the lack of "read" and "close".

Any insight would be appreciated... thank you.

Matt



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net