Bug 209652

Summary: graphics/embree: Fix build with libc++ 3.8.0
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: Alexey Dokuchaev <danfe>
Status: Closed FIXED    
Severity: Affects Some People Flags: bugzilla: maintainer-feedback? (danfe)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 208158    
Attachments:
Description Flags
Disable some overloaded math functions for libc++ 3.8.0 and higher none

Description Dimitry Andric freebsd_committer 2016-05-19 20:25:27 UTC
Created attachment 170491 [details]
Disable some overloaded math functions for libc++ 3.8.0 and higher

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

/wrkdirs/usr/ports/graphics/embree/work/embree-2.7.0/tutorials/common/tutorial/tutorial_device.cpp:270:39: error: call to 'abs' is ambiguous
  Vec3fa col = Vec3fa(min(1.f,.3f+.8f*abs(dot(Ng,normalize(ray.dir)))));
                                      ^~~

This is because embree defines its own version of a number of <cmath> functions, which cause the ambiguity.  These functions are only declared in <cmath> for libc++ 3.8.0 and later, so fix it by disabling the custom functions for those versions of libc++.

[1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-05-01_10h29m48s/logs/errors/embree-2.7.0_1.log
Comment 1 commit-hook freebsd_committer 2016-05-29 15:02:08 UTC
A commit references this bug:

Author: danfe
Date: Sun May 29 15:02:04 UTC 2016
New revision: 416111
URL: https://svnweb.freebsd.org/changeset/ports/416111

Log:
  Disable some overloaded math functions for libc++ 3.8.0 and higher, and thus
  unbreak the build.

  This is because this port defines its own versions of a number of <cmath>
  functions, which cause the ambiguity.  These functions are only declared in
  <cmath> for libc++ 3.8.0 and later, so fix it by disabling the custom
  functions for those versions of libc++.

  PR:		209652
  Submitted by:	dim

Changes:
  head/graphics/embree/files/patch-common_math_math.h
Comment 2 Alexey Dokuchaev freebsd_committer 2016-05-29 15:03:42 UTC
Committed as ports r416111, thank you!