Bug 223362

Summary: devel/cpprestsdk: Fix build with clang 6, disable build tests ans samples
Product: Ports & Packages Reporter: Ivan Rozhuk <rozhuk.im>
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: Closed FIXED    
Severity: Affects Many People CC: jbeich, projects, rozhuk.im, vanilla
Priority: --- Flags: bugzilla: maintainer-feedback? (projects)
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://github.com/Microsoft/cpprestsdk/issues/747
Attachments:
Description Flags
patch
none
build fix none

Description Ivan Rozhuk 2017-11-01 11:19:27 UTC
Created attachment 187642 [details]
patch

- Add pkgconf file
- Disable build tests ans samples: now build 30 files (was 160).
Comment 1 Ivan Rozhuk 2017-11-28 15:16:45 UTC
ping
Comment 2 Ivan Rozhuk 2018-04-29 13:30:50 UTC
Created attachment 192905 [details]
build fix

- Disable build test and samples
- Fix build error:
/usr/include/c++/v1/memory:3656:5: error: destructor called on non-final 'pplx::details::linux_scheduler' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
    __data_.second().~_Tp();
    ^
/usr/include/c++/v1/memory:3612:5: note: in instantiation of member function 'std::__1::__shared_ptr_emplace<pplx::details::linux_scheduler, std::__1::allocator<pplx::details::linux_scheduler> >::__on_zero_shared' requested here
    __shared_ptr_emplace(_Alloc __a)
    ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of member function 'std::__1::__shared_ptr_emplace<pplx::details::linux_scheduler, std::__1::allocator<pplx::details::linux_scheduler> >::__shared_ptr_emplace' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<pplx::details::linux_scheduler>::make_shared<>' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
src/pplx/pplx.cpp:94:40: note: in instantiation of function template specialization 'std::__1::make_shared<pplx::details::linux_scheduler>' requested here
                    m_scheduler = std::make_shared< ::pplx::default_scheduler_t>();
                                       ^
/usr/include/c++/v1/memory:3656:23: note: qualify call to silence this warning
    __data_.second().~_Tp();
                      ^
Comment 3 commit-hook freebsd_committer freebsd_triage 2018-05-08 00:51:37 UTC
A commit references this bug:

Author: jbeich
Date: Tue May  8 00:50:51 UTC 2018
New revision: 469346
URL: https://svnweb.freebsd.org/changeset/ports/469346

Log:
  devel/cpprestsdk: unbreak with Clang 6.0 (C++14 by default)

  - Don't build tests and samples as they're not installed [1]

  PR:		223362
  Submitted by:	rozhuk.im@gmail.com
  Approved by:	maintainer timeout (6 months) [1], portmgr blanket

Changes:
  head/devel/cpprestsdk/Makefile
  head/devel/cpprestsdk/files/patch-include_pplx_pplxlinux.h
Comment 4 commit-hook freebsd_committer freebsd_triage 2018-05-08 00:52:41 UTC
A commit references this bug:

Author: jbeich
Date: Tue May  8 00:51:57 UTC 2018
New revision: 469347
URL: https://svnweb.freebsd.org/changeset/ports/469347

Log:
  MFH: r469346

  devel/cpprestsdk: unbreak with Clang 6.0 (C++14 by default)

  - Don't build tests and samples as they're not installed [1]

  PR:		223362
  Submitted by:	rozhuk.im@gmail.com
  Approved by:	maintainer timeout (6 months) [1], portmgr blanket
  Approved by:	ports-secteam blanket

Changes:
_U  branches/2018Q2/
  branches/2018Q2/devel/cpprestsdk/Makefile
  branches/2018Q2/devel/cpprestsdk/files/patch-include_pplx_pplxlinux.h
Comment 5 Jan Beich freebsd_committer freebsd_triage 2018-05-08 00:56:25 UTC
Thanks. Landed.