[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