Bug 209614 - graphics/blender: Fix build with libc++ 3.8.0
Summary: graphics/blender: Fix build with libc++ 3.8.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Marcus von Appen
URL:
Keywords:
Depends on:
Blocks: 208158
  Show dependency treegraph
 
Reported: 2016-05-18 17:24 UTC by Dimitry Andric
Modified: 2016-07-29 12:54 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (mva)


Attachments
Fix std::map declaration in graphics/blender (1.24 KB, patch)
2016-05-18 17:24 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer 2016-05-18 17:24:13 UTC
Created attachment 170452 [details]
Fix std::map declaration in graphics/blender

During the exp-run in bug 208158, it was found that graphics/blender gives errors with libc++ 3.8.0 [1]:

In file included from /wrkdirs/usr/ports/graphics/blender/work/blender-2.76b/intern/itasc/Armature.cpp:11:
In file included from /wrkdirs/usr/ports/graphics/blender/work/blender-2.76b/intern/itasc/Armature.hpp:11:
In file included from /wrkdirs/usr/ports/graphics/blender/work/blender-2.76b/intern/itasc/ControlledObject.hpp:12:
In file included from /wrkdirs/usr/ports/graphics/blender/work/blender-2.76b/intern/itasc/eigen_types.hpp:13:
In file included from /wrkdirs/usr/ports/graphics/blender/work/blender-2.76b/intern/itasc/kdl/tree.hpp:29:
/usr/include/c++/v1/map:837:5: error: implicit instantiation of undefined template '__static_assert_test<false>'
    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
    ^
/usr/include/c++/v1/__config:632:35: note: expanded from macro 'static_assert'
    typedef __static_assert_check<sizeof(__static_assert_test<(__b)>)> \
                                  ^
/wrkdirs/usr/ports/graphics/blender/work/blender-2.76b/intern/itasc/kdl/tree.hpp:59:9: note: in instantiation of template class 'std::__1::map<std::__1::basic_string<char>, KDL::TreeElement, std::__1::less<std::__1::basic_string<char> >, Eigen::aligned_allocator<std::__1::pair<std::__1::basic_string<char>, KDL::TreeElement> > >' requested here
        SegmentMap::value_type const *parent;
        ^

This is because the allocator for SegmentMap is not defined correctly.  Fix this by correcting the definition to use a const string.

[1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-05-01_10h29m48s/logs/errors/blender-2.76b_1.log
Comment 1 Marcus von Appen freebsd_committer freebsd_triage 2016-07-29 12:53:39 UTC
This has been incorporated in the latest 2.77a update from ports r419248, thanks!