<div>I tried building boost 1.45 release with clang 2.9 following instructions on </div><div><br></div><div><a href="http://blog.llvm.org/2010/05/clang-builds-boost.html">http://blog.llvm.org/2010/05/clang-builds-boost.html</a></div>
<div><br></div><div>but got the following result:</div><div><br></div><div><div>$ clang++ --version</div><div>clang version 2.9 (trunk 123420)</div><div>Target: x86_64-apple-darwin10</div><div>Thread model: posix</div></div>
<div><br></div><div>$ ./bjam toolset=clang</div><div><br></div><div>Building the Boost C++ Libraries.</div><div><br></div><div><br></div><div>Performing configuration checks</div><div><br></div><div>    - has_icu builds           : no</div>
<div>warning: Graph library does not contain MPI-based parallel components.</div><div>note: to enable them, add "using mpi ;" to your user-config.jam</div><div>    - ../config//has_gcc_visibility builds : yes</div>
<div>    - ../config//has_long_double_support builds : yes</div><div>warning: skipping optional Message Passing Interface (MPI) library.</div><div>note: to enable MPI support, add "using mpi ;" to user-config.jam.</div>
<div>note: to suppress this message, pass "--without-mpi" to bjam.</div><div>note: otherwise, you can safely ignore this message.</div><div><br></div><div>Component configuration:</div><div><br></div><div>    - date_time                : building</div>
<div>    - filesystem               : building</div><div>    - graph                    : building</div><div>    - graph_parallel           : building</div><div>    - iostreams                : building</div><div>    - math                     : building</div>
<div>    - mpi                      : building</div><div>    - program_options          : building</div><div>    - python                   : building</div><div>    - random                   : building</div><div>    - regex                    : building</div>
<div>    - serialization            : building</div><div>    - signals                  : building</div><div>    - system                   : building</div><div>    - test                     : building</div><div>    - thread                   : building</div>
<div>    - wave                     : building</div><div><br></div><div>...patience...</div><div>...patience...</div><div>...patience...</div><div>...found 7481 targets...</div><div>...updating 6 targets...</div><div>clang-darwin.compile.c++ bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/threading-multi/mapped_file.o</div>
<div>In file included from libs/iostreams/src/mapped_file.cpp:18:</div><div>./boost/iostreams/device/mapped_file.hpp:416:5: error: call to member function 'open' is ambiguous</div><div>    open(p);</div><div>    ^~~~</div>
<div>./boost/iostreams/device/mapped_file.hpp:395:26: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file_source::open(const basic_mapped_file_params<Path>& p)</div><div>
                         ^</div><div>./boost/iostreams/device/mapped_file.hpp:410:26: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div><div>void mapped_file_source::open(</div>
<div>                         ^</div><div>./boost/iostreams/device/mapped_file.hpp:450:5: error: call to member function 'open' is ambiguous</div><div>    open(p);</div><div>    ^~~~</div><div>./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div>
<div>    void open( const Path& path,</div><div>         ^</div><div>./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file::open(const basic_mapped_file_params<Path>& p)</div>
<div>                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function template not viable: requires at least 2 arguments, but 1 was provided</div><div>void mapped_file::open( </div><div>
                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:462:5: error: call to member function 'open' is ambiguous</div><div>    open(p);</div><div>    ^~~~</div><div>./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div>
<div>    void open( const Path& path,</div><div>         ^</div><div>./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file::open(const basic_mapped_file_params<Path>& p)</div>
<div>                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function template not viable: requires at least 2 arguments, but 1 was provided</div><div>void mapped_file::open( </div><div>
                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:492:18: error: call to member function 'open' is ambiguous</div><div>    mapped_file::open(params);</div><div>    ~~~~~~~~~~~~~^~~~</div><div>
./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div><div>    void open( const Path& path,</div>
<div>         ^</div><div>./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file::open(const basic_mapped_file_params<Path>& p)</div>
<div>                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function template not viable: requires at least 2 arguments, but 1 was provided</div><div>void mapped_file::open( </div><div>
                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:504:5: error: call to member function 'open' is ambiguous</div><div>    open(p);</div><div>    ^~~~</div><div>./boost/iostreams/device/mapped_file.hpp:481:24: note: candidate function [with Path = boost::iostreams::detail::path]</div>
<div>void mapped_file_sink::open(const basic_mapped_file_params<Path>& p)</div><div>                       ^</div><div>./boost/iostreams/device/mapped_file.hpp:496:24: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div>
<div>void mapped_file_sink::open(</div><div>                       ^</div><div>5 errors generated.</div><div><br></div><div>    "clang++" -x c++ -O3 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_DYN_LINK=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o "bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/threading-multi/mapped_file.o" "libs/iostreams/src/mapped_file.cpp"</div>
<div><br></div><div>...failed clang-darwin.compile.c++ bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/threading-multi/mapped_file.o...</div><div>...skipped <pstage/lib>libboost_iostreams.dylib for lack of <pbin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/threading-multi>mapped_file.o...</div>
<div>clang-darwin.compile.c++ bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi/mapped_file.o</div><div>In file included from libs/iostreams/src/mapped_file.cpp:18:</div><div>./boost/iostreams/device/mapped_file.hpp:416:5: error: call to member function 'open' is ambiguous</div>
<div>    open(p);</div><div>    ^~~~</div><div>./boost/iostreams/device/mapped_file.hpp:395:26: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file_source::open(const basic_mapped_file_params<Path>& p)</div>
<div>                         ^</div><div>./boost/iostreams/device/mapped_file.hpp:410:26: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div><div>
void mapped_file_source::open(</div><div>                         ^</div><div>./boost/iostreams/device/mapped_file.hpp:450:5: error: call to member function 'open' is ambiguous</div><div>    open(p);</div><div>    ^~~~</div>
<div>./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div><div>    void open( const Path& path,</div>
<div>         ^</div><div>./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file::open(const basic_mapped_file_params<Path>& p)</div>
<div>                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function template not viable: requires at least 2 arguments, but 1 was provided</div><div>void mapped_file::open( </div><div>
                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:462:5: error: call to member function 'open' is ambiguous</div><div>    open(p);</div><div>    ^~~~</div><div>./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div>
<div>    void open( const Path& path,</div><div>         ^</div><div>./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file::open(const basic_mapped_file_params<Path>& p)</div>
<div>                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function template not viable: requires at least 2 arguments, but 1 was provided</div><div>void mapped_file::open( </div><div>
                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:492:18: error: call to member function 'open' is ambiguous</div><div>    mapped_file::open(params);</div><div>    ~~~~~~~~~~~~~^~~~</div><div>
./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div><div>    void open( const Path& path,</div>
<div>         ^</div><div>./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function [with Path = boost::iostreams::detail::path]</div><div>void mapped_file::open(const basic_mapped_file_params<Path>& p)</div>
<div>                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function template not viable: requires at least 2 arguments, but 1 was provided</div><div>void mapped_file::open( </div><div>
                  ^</div><div>./boost/iostreams/device/mapped_file.hpp:504:5: error: call to member function 'open' is ambiguous</div><div>    open(p);</div><div>    ^~~~</div><div>./boost/iostreams/device/mapped_file.hpp:481:24: note: candidate function [with Path = boost::iostreams::detail::path]</div>
<div>void mapped_file_sink::open(const basic_mapped_file_params<Path>& p)</div><div>                       ^</div><div>./boost/iostreams/device/mapped_file.hpp:496:24: note: candidate function [with Path = boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]</div>
<div>void mapped_file_sink::open(</div><div>                       ^</div><div>5 errors generated.</div><div><br></div><div>    "clang++" -x c++ -O3 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o "bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi/mapped_file.o" "libs/iostreams/src/mapped_file.cpp"</div>
<div><br></div><div>...failed clang-darwin.compile.c++ bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi/mapped_file.o...</div><div>...skipped <pbin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi>libboost_iostreams.a(clean) for lack of <pbin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi>mapped_file.o...</div>
<div>...skipped <pbin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi>mapped_file.o...</div>
<div>...skipped <pstage/lib>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi>libboost_iostreams.a...</div><div>...failed updating 2 targets...</div>
<div>...skipped 4 targets...</div><div><br></div><div>Am I missing something here?</div><div><br></div><div>Cheers,</div><div><br></div><div>Chia-Wei</div><div><br></div><br>-- <br>"If it looks like a duck, walks like a duck, and quacks like a duck, then to the end user it's a duck, and end users have made it pretty clear they want a duck; whether the duck drinks hot chocolate or coffee is irrelevant."<br>