[LLVMdev] Building Boost library failed with Clang 2.9

Bryce Lelbach admin at thefireflyproject.us
Thu Jan 13 19:12:51 PST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Clang has a few outstanding regressions with Boost. On Linux it's a chore, on 
darwin, I'd advise using prebuilt binaries.

On Fri, 14 Jan 2011 11:01:42 +0800
Chia-Wei Yeh <leafy7382 at gmail.com> wrote:

> I tried building boost 1.45 release with clang 2.9 following instructions
> on
> 
> http://blog.llvm.org/2010/05/clang-builds-boost.html
> 
> but got the following result:
> 
> $ clang++ --version
> clang version 2.9 (trunk 123420)
> Target: x86_64-apple-darwin10
> Thread model: posix
> 
> $ ./bjam toolset=clang
> 
> Building the Boost C++ Libraries.
> 
> 
> Performing configuration checks
> 
>     - has_icu builds           : no
> warning: Graph library does not contain MPI-based parallel components.
> note: to enable them, add "using mpi ;" to your user-config.jam
>     - ../config//has_gcc_visibility builds : yes
>     - ../config//has_long_double_support builds : yes
> warning: skipping optional Message Passing Interface (MPI) library.
> note: to enable MPI support, add "using mpi ;" to user-config.jam.
> note: to suppress this message, pass "--without-mpi" to bjam.
> note: otherwise, you can safely ignore this message.
> 
> Component configuration:
> 
>     - date_time                : building
>     - filesystem               : building
>     - graph                    : building
>     - graph_parallel           : building
>     - iostreams                : building
>     - math                     : building
>     - mpi                      : building
>     - program_options          : building
>     - python                   : building
>     - random                   : building
>     - regex                    : building
>     - serialization            : building
>     - signals                  : building
>     - system                   : building
>     - test                     : building
>     - thread                   : building
>     - wave                     : building
> 
> ...patience...
> ...patience...
> ...patience...
> ...found 7481 targets...
> ...updating 6 targets...
> clang-darwin.compile.c++
> bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/threading-multi/mapped_file.o
> In file included from libs/iostreams/src/mapped_file.cpp:18:
> ./boost/iostreams/device/mapped_file.hpp:416:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:395:26: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file_source::open(const basic_mapped_file_params<Path>& p)
>                          ^
> ./boost/iostreams/device/mapped_file.hpp:410:26: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
> void mapped_file_source::open(
>                          ^
> ./boost/iostreams/device/mapped_file.hpp:450:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
>     void open( const Path& path,
>          ^
> ./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file::open(const basic_mapped_file_params<Path>& p)
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function
> template not viable: requires at least 2 arguments, but 1 was provided
> void mapped_file::open(
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:462:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
>     void open( const Path& path,
>          ^
> ./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file::open(const basic_mapped_file_params<Path>& p)
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function
> template not viable: requires at least 2 arguments, but 1 was provided
> void mapped_file::open(
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:492:18: error: call to member
> function 'open' is ambiguous
>     mapped_file::open(params);
>     ~~~~~~~~~~~~~^~~~
> ./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
>     void open( const Path& path,
>          ^
> ./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file::open(const basic_mapped_file_params<Path>& p)
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function
> template not viable: requires at least 2 arguments, but 1 was provided
> void mapped_file::open(
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:504:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:481:24: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file_sink::open(const basic_mapped_file_params<Path>& p)
>                        ^
> ./boost/iostreams/device/mapped_file.hpp:496:24: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
> void mapped_file_sink::open(
>                        ^
> 5 errors generated.
> 
>     "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"
> 
> ...failed clang-darwin.compile.c++
> bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/threading-multi/mapped_file.o...
> ...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...
> clang-darwin.compile.c++
> bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi/mapped_file.o
> In file included from libs/iostreams/src/mapped_file.cpp:18:
> ./boost/iostreams/device/mapped_file.hpp:416:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:395:26: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file_source::open(const basic_mapped_file_params<Path>& p)
>                          ^
> ./boost/iostreams/device/mapped_file.hpp:410:26: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
> void mapped_file_source::open(
>                          ^
> ./boost/iostreams/device/mapped_file.hpp:450:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
>     void open( const Path& path,
>          ^
> ./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file::open(const basic_mapped_file_params<Path>& p)
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function
> template not viable: requires at least 2 arguments, but 1 was provided
> void mapped_file::open(
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:462:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
>     void open( const Path& path,
>          ^
> ./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file::open(const basic_mapped_file_params<Path>& p)
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function
> template not viable: requires at least 2 arguments, but 1 was provided
> void mapped_file::open(
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:492:18: error: call to member
> function 'open' is ambiguous
>     mapped_file::open(params);
>     ~~~~~~~~~~~~~^~~~
> ./boost/iostreams/device/mapped_file.hpp:289:10: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
>     void open( const Path& path,
>          ^
> ./boost/iostreams/device/mapped_file.hpp:438:19: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file::open(const basic_mapped_file_params<Path>& p)
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:442:19: note: candidate function
> template not viable: requires at least 2 arguments, but 1 was provided
> void mapped_file::open(
>                   ^
> ./boost/iostreams/device/mapped_file.hpp:504:5: error: call to member
> function 'open' is ambiguous
>     open(p);
>     ^~~~
> ./boost/iostreams/device/mapped_file.hpp:481:24: note: candidate function
> [with Path = boost::iostreams::detail::path]
> void mapped_file_sink::open(const basic_mapped_file_params<Path>& p)
>                        ^
> ./boost/iostreams/device/mapped_file.hpp:496:24: note: candidate function
> [with Path =
> boost::iostreams::basic_mapped_file_params<boost::iostreams::detail::path>]
> void mapped_file_sink::open(
>                        ^
> 5 errors generated.
> 
>     "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"
> 
> ...failed clang-darwin.compile.c++
> bin.v2/libs/iostreams/build/clang-darwin-4.2.1/release/link-static/threading-multi/mapped_file.o...
> ...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...
> ...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...
> ...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...
> ...failed updating 2 targets...
> ...skipped 4 targets...
> 
> Am I missing something here?
> 
> Cheers,
> 
> Chia-Wei
> 
> 



- -- 
Bryce Lelbach aka wash
boost-spirit.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAk0vvzMACgkQ9cB/V3/s9EwyzQCgl0FKffB3212YmQ1xf//RYIhs
rdoAoKki1YpUMuIWlck7LsUPNoiXtYU/
=/CTv
-----END PGP SIGNATURE-----




More information about the llvm-dev mailing list