[Bug 208270] www/node: Fix build with libc++ 3.8.0

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Mar 24 22:50:59 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208270

            Bug ID: 208270
           Summary: www/node: Fix build with libc++ 3.8.0
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: dim at FreeBSD.org
                CC: linpct at gmail.com
                CC: linpct at gmail.com
             Flags: maintainer-feedback?(linpct at gmail.com)

Created attachment 168585
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=168585&action=edit
Fix several std::map declarations in www/node

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

/usr/include/c++/v1/map:837:5: error: static_assert failed
"Allocator::value_type must be same type as value_type"
    static_assert((is_same<typename allocator_type::value_type,
value_type>::value),
    ^            
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/v8/src/compiler/js-type-feedback.h:41:21: note: in instantiation of
template class 'std::__1::map<unsigned int, v8::internal::TypeFeedbackId,
std::__1::less<unsigned int>,
v8::internal::zone_allocator<v8::internal::TypeFeedbackId> >' requested here
  TypeFeedbackIdMap type_feedback_id_map_;
                    ^

This is because libc++ 3.8.0 has added these sanity checks for custom std::map
allocators, which *must* be of the type std::pair<const Key, Value>.  I fixed
the few std::map instances in the node source by adding this to their allocator
types.

[1]
http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-03-22_18h30m05s/logs/errors/node-5.9.0.log

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list