Bug 209332 - audio/ardour: Fix build with libc++ 3.8.0
Summary: audio/ardour: 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: Alexey Dokuchaev
URL:
Keywords:
Depends on:
Blocks: 208158
  Show dependency treegraph
 
Reported: 2016-05-06 14:59 UTC by Dimitry Andric
Modified: 2016-05-30 05:54 UTC (History)
0 users

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


Attachments
Fix std::map declaration in audio/ardour (1.01 KB, patch)
2016-05-06 14:59 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 freebsd_triage 2016-05-06 14:59:32 UTC
Created attachment 170049 [details]
Fix std::map declaration in audio/ardour

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

In file included from gtk2_ardour/editor.cc:33:
In file included from libs/pbd/pbd/enumwriter.h:24:
/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)>)> \
                                  ^
gtk2_ardour/tempo_lines.h:53:8: note: in instantiation of template class 'std::__1::map<double, Gnome::Canvas::SimpleLine *, std::__1::less<double>, boost::fast_pool_allocator<std::__1::pair<double, Gnome::Canvas::SimpleLine *>, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 8192, 0> >' requested here
        Lines _lines;
              ^

This is because the std::map's allocator is not defined correctly.  Fix this by correcting the 'fast_pool_allocator' definition to use a const double.

[1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-05-01_10h29m48s/logs/errors/ardour-2.8.16_1.log
Comment 1 commit-hook freebsd_committer freebsd_triage 2016-05-30 05:53:22 UTC
A commit references this bug:

Author: danfe
Date: Mon May 30 05:52:57 UTC 2016
New revision: 416138
URL: https://svnweb.freebsd.org/changeset/ports/416138

Log:
  During the exp-run in PR 208158, it was found that audio/ardour gives errors
  with libc++ 3.8.0.  This is because the std::map's allocator was not defined
  correctly.  Fix the `fast_pool_allocator' definition to use a `const double'.

  PR:		209332
  Submitted by:	dim

Changes:
  head/audio/ardour/Makefile
Comment 2 Alexey Dokuchaev freebsd_committer freebsd_triage 2016-05-30 05:54:35 UTC
In-place sed(1) version of the patch committed as ports r416138, thank you.