[swift-users] compilation problem with boost-1.61.0

Thomas Klausner tk at giga.or.at
Mon Aug 1 20:59:21 UTC 2016


Hi!

When pkgsrc updated boost from 1.60.0 to 1.61.0 (IIRC), swift stopped
compiling.

I had hoped it might be a temporary problem, but swift-4.0beta2 does
not compile in a quite similar way.

Does anyone else see this?

Here's the error I get with 3.0:

In file included from /scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_arithmetic.hpp:12:0,
                 from /scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_scalar.hpp:12,
                 from /scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_pod.hpp:14,
                 from /scratch/chat/swift/work/.buildlink/include/boost/type_traits/type_with_alignment.hpp:12,
                 from /scratch/chat/swift/work/.buildlink/include/boost/optional/optional.hpp:35,
                 from /scratch/chat/swift/work/.buildlink/include/boost/optional.hpp:15,
                 from Swiften/Parser/AttributeMap.cpp:10:
/scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_integral.hpp:75:31: error: 'int128_type' is not a member of 'boost'
 template<> struct is_integral<boost::int128_type> : public true_type{};
                               ^
/scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_integral.hpp:75:31: error: 'int128_type' is not a member of 'boost'
/scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_integral.hpp:75:49: error: template argument 1 is invalid
 template<> struct is_integral<boost::int128_type> : public true_type{};
                                                 ^
/scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_integral.hpp:76:31: error: 'uint128_type' is not a member of 'boost'
 template<> struct is_integral<boost::uint128_type> : public true_type{};
                               ^
/scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_integral.hpp:76:31: error: 'uint128_type' is not a member of 'boost'
/scratch/chat/swift/work/.buildlink/include/boost/type_traits/is_integral.hpp:76:50: error: template argument 1 is invalid
 template<> struct is_integral<boost::uint128_type> : public true_type{};
                                                  ^
In file included from /scratch/chat/swift/work/.buildlink/include/boost/optional/optional.hpp:35:0,
                 from /scratch/chat/swift/work/.buildlink/include/boost/optional.hpp:15,
                 from Swiften/Parser/AttributeMap.cpp:10:
/scratch/chat/swift/work/.buildlink/include/boost/type_traits/type_with_alignment.hpp:42:17: error: 'int128_type' in namespace 'boost' does not name a type
          boost::int128_type i128;
                 ^


And here's the one from 4.0beta2:
In file included from /scratch/wip/swift/work/.buildlink/include/boost/next_prior.hpp:22:0,
                 from /scratch/wip/swift/work/.buildlink/include/boost/iterator/reverse_iterator.hpp:10,
                 from /scratch/wip/swift/work/.buildlink/include/boost/signals2/detail/auto_buffer.hpp:21,
                 from /scratch/wip/swift/work/.buildlink/include/boost/signals2/connection.hpp:21,
                 from /scratch/wip/swift/work/.buildlink/include/boost/signals2/signal.hpp:22,
                 from /scratch/wip/swift/work/.buildlink/include/boost/signals2.hpp:19,
                 from ./Swiften/Whiteboard/WhiteboardSession.h:17,
                 from ./Swiften/Whiteboard/IncomingWhiteboardSession.h:19,
                 from ./Swift/Controllers/WhiteboardManager.h:20,
                 from Swift/Controllers/WhiteboardManager.cpp:13:
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp: At global scope:
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:64:25: error: 'int128_type' is not a member of 'boost'
                         boost::int128_type
                         ^
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:64:25: error: 'int128_type' is not a member of 'boost'
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:65:22: error: template argument 3 is invalid
                      >::type
                      ^
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:74:19: error: template argument 3 is invalid
                   >::type
                   ^
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:75:16: error: template argument 3 is invalid
                >::type
                ^
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:76:13: error: template argument 3 is invalid
             >::type
             ^
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:77:10: error: template argument 3 is invalid
          >::type,
          ^
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:96:25: error: 'int128_type' is not a member of 'boost'
                         boost::int128_type
                         ^
/scratch/wip/swift/work/.buildlink/include/boost/type_traits/make_signed.hpp:96:25: error: 'int128_type' is not a member of 'boost'

...

I don't know enough about boost or C++ to debug this. Can someone
please help me finding out if it's a bug in swift or boost or gcc
(5.4.0nb1 20160606)?
 Thomas


More information about the swift-users mailing list