ports/115028: [patch] audio/snd build fails due to complex trig confusion

Don Lewis truckman at FreeBSD.org
Mon Jul 30 06:00:08 UTC 2007


>Number:         115028
>Category:       ports
>Synopsis:       [patch] audio/snd build fails due to complex trig confusion
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 30 06:00:07 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Don Lewis
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
totally disorganized
>Environment:
System: FreeBSD mousie.catspoiler.org 7.0-CURRENT FreeBSD 7.0-CURRENT #16: Fri Jul 27 21:11:42 PDT 2007 dl at mousie.catspoiler.org:/usr/obj/usr/src/sys/GENERICDDB i386


>Description:
The audio/snd port fails to build on -CURRENT because the code in the
test program that configure uses to detect the presence of complex
trig support gets optimized away.  The empty program then compiles,
links, and runs without error, fooling configure into thinking that
complex trig is supported.

When the actual code attempts to use the complex trig functions, the
linker returns an error because the functions are not present in the
system libraries.

>How-To-Repeat:

Attempt to build the audio/snd port on 7-CURRENT with the system gcc.

>Fix:

One possible fix is to declare the variable in the test program as
a volatile to keep the code being tested from being optimized away.

--- configure.orig	2004-11-16 06:47:00.000000000 -0800
+++ configure	2007-07-29 22:04:42.000000000 -0700
@@ -8335,7 +8335,7 @@
 int
 main ()
 {
- _Complex double val;
+ volatile _Complex double val;
                   val = ccosh(cacosh(1.5) / 100.0)
 
   ;
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list