Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Feb 2014 22:05:59 -0800 (PST)
From:      Don Lewis <truckman@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/186998: [patch] math/fftw3 port fails during configure on i386 with clang
Message-ID:  <201402240605.s1O65xIn064533@mousie.catspoiler.org>
Resent-Message-ID: <201402240610.s1O6A0OE011891@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         186998
>Category:       ports
>Synopsis:       [patch] math/fftw3 port fails during configure on i386 with clang
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 24 06:10:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Don Lewis
>Release:        FreeBSD 11.0-CURRENT i386
>Organization:
FreeBSD project
>Environment:
System: FreeBSD scratch.catspoiler.org 11.0-CURRENT FreeBSD 11.0-CURRENT #70 r262340M: Sat Feb 22 15:58:39 PST 2014     dl@scratch.catspoiler.org:/usr/obj/usr/src/sys/GENERICSMB  i386

ports revision 345674

clang version 3.4

>Description:

When attempting to build the math/fftw3 port, it fails during the configure
step:

checking for gcc... cc
checking whether the C compiler works... no
configure: error: in `/usr/ports/math/fftw3/work/fftw-3.3.3':
configure: error: C compiler cannot create executables
See `config.log' for more details
===>  Script "configure" failed unexpectedly.
Please report the problem to bf@FreeBSD.org [maintainer] and attach the
"/usr/ports/math/fftw3/work/fftw-3.3.3/config.log" including the output of
the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/math/fftw3
*** Error code 1

Stop.
make: stopped in /usr/ports/math/fftw3


The following snippet of config.log shows that the cause of the problem is
that clang rejects the -malign-double command line option:

configure:4046: checking whether the C compiler works
configure:4068: cc -O2 -pipe -march=athlon64 -O3 -ffast-math -fstrict-aliasing -efomit-frame-pointer -malign-double   conftest.c  >&5
cc: error: unknown argument: '-malign-double'
configure:4072: $? = 1
configure:4110: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "fftw"
| #define PACKAGE_TARNAME "fftw"
| #define PACKAGE_VERSION "3.3.3"
| #define PACKAGE_STRING "fftw 3.3.3"
| #define PACKAGE_BUGREPORT "fftw@fftw.org"
| #define PACKAGE_URL ""
| #define PACKAGE "fftw"
| #define VERSION "3.3.3"
| #define FFTW_ENABLE_ALLOCA 1
| #define HAVE_SSE2 1
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:4115: error: in `/usr/ports/math/fftw3/work/fftw-3.3.3':
configure:4118: error: C compiler cannot create executables
See `config.log' for more details


>How-To-Repeat:

Attempt to build the port on an i386 with clang version 3.4.

>Fix:

The following Makefile patch fixes the problem for me.  It is untested
on a machine with gcc.

Index: Makefile
===================================================================
--- Makefile	(revision 345674)
+++ Makefile	(working copy)
@@ -62,7 +62,10 @@
 CFLAGS+=	-fomit-frame-pointer
 .  endif
 .  if ${ARCH} == "i386"
+_COMPILER_VERSION!=     ${CC} --version
+.    if !${_COMPILER_VERSION:Mclang}
 CFLAGS+=	-malign-double
+.    endif
 .  endif
 WITHOUT_NO_STRICT_ALIASING=	yes
 .endif # end OPTIMIZED_CFLAGS

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402240605.s1O65xIn064533>