Bug 219489

Summary: net/mediatomb: fails to build with lang/gcc6 or later on 10.*
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Raphael Kubo da Costa <rakuco>
Status: Closed FIXED    
Severity: Affects Only Me CC: gerald, leo, rakuco
Priority: --- Flags: rakuco: maintainer-feedback-
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221065
Bug Depends on:    
Bug Blocks: 219275    

Description Jan Beich freebsd_committer freebsd_triage 2017-05-24 03:55:23 UTC
libmediatomb.a(libmediatomb_a-taglib_handler.o): In function `TagLib::List<TagLib::ID3v2::Frame*>::detach()':
/usr/local/include/taglib/tlist.tcc:317: undefined reference to `operator delete(void*, unsigned int)'
libmediatomb.a(libmediatomb_a-taglib_handler.o): In function `TagLib::List<TagLib::ID3v2::Frame*>::~List()':
/usr/local/include/taglib/tlist.tcc:107: undefined reference to `operator delete(void*, unsigned int)'
libmediatomb.a(libmediatomb_a-taglib_handler.o): In function `TagLib::List<TagLib::ID3v2::Frame*>::~List()':
/usr/local/include/taglib/tlist.tcc:108: undefined reference to `operator delete(void*, unsigned int)'
collect2: error: ld returned 1 exit status

http://package22.nyi.freebsd.org/data/103amd64-default-PR219275/2017-05-20_20h22m32s/logs/errors/mediatomb-0.12.1_17.log
http://package23.nyi.freebsd.org/data/103i386-default-PR219275/2017-05-20_20h22m29s/logs/errors/mediatomb-0.12.1_17.log
Comment 1 Raphael Kubo da Costa freebsd_committer freebsd_triage 2017-07-28 11:06:50 UTC
Looking at the error, the cause seems to be the same as the one in bug 221065.
Comment 2 commit-hook freebsd_committer freebsd_triage 2017-08-05 10:56:44 UTC
A commit references this bug:

Author: rakuco
Date: Sat Aug  5 10:56:37 UTC 2017
New revision: 447398
URL: https://svnweb.freebsd.org/changeset/ports/447398

Log:
  Explicitly build with -std=gnu++11.

  This is a workaround for FreeBSD 10, whose libc++ does not have an overload for
  C++14's `operator delete(void*, size_t)'.

  Since GCC 6 uses -std=gnu++14 by default, linking fails when a dependency (such
  as taglib) is built with clang and lacking the overload. FreeBSD >= 11 is fine.

  PR:		219489
  Approved by:	portmgr (blanket approval)

Changes:
  head/net/mediatomb/Makefile