ports/182952: [PATCH] lang/python wrong cflags in python-config on systems where cc = clang
Pawel Pekala
pawel at FreeBSD.org
Sun Oct 13 18:50:00 UTC 2013
>Number: 182952
>Category: ports
>Synopsis: [PATCH] lang/python wrong cflags in python-config on systems where cc = clang
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Oct 13 18:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Pawel Pekala
>Release: 10.0-CURRENT
>Organization:
>Environment:
FreeBSD blaviken.slowicza.org 10.0-ALPHA5 FreeBSD 10.0-ALPHA5 #0 r256150M: Tue Oct 8 17:10:26 CEST 2013 corn at blaviken.slowicza.org:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
This issue affects FreeBSD 10 with clang as primary compiler (cc).
When compiling python configure script wrongly detects that system compiler
supports -OPT:Olimit=0 flag:
checking whether cc accepts -fno-strict-aliasing... yes
checking whether cc accepts -OPT:Olimit=0... yes
clang seems to ignore this flags and configure script comes to bad conclusion.
This breaks consumers using python-config scripts to get python cflags:
[corn:~]> python-config --cflags
-I/usr/local/include/python2.7 -I/usr/local/include/python2.7 -fno-strict-aliasing -OPT:Olimit=0 -O2 -pipe -fno-strict-aliasing -DNDEBUG
Olimit is there, while clang will be happy to ignore it, gcc will fail. I
discovered this trying to build print/lilypond.
Upstream bug: http://bugs.python.org/issue877121
lang/python32 and lang/python33 appears to be unaffected by this
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
Index: python26/Makefile
===================================================================
--- python26/Makefile (wersja 330122)
+++ python26/Makefile (kopia robocza)
@@ -3,7 +3,7 @@
PORTNAME= python26
PORTVERSION= 2.6.8
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@@ -20,7 +20,7 @@
PATCH_WRKSRC= ${PYTHON_WRKSRC}
GNU_CONFIGURE= yes
CONFIGURE_SCRIPT= ../configure # must be relative
-CONFIGURE_ENV= SVNVERSION="echo freebsd"
+CONFIGURE_ENV= SVNVERSION="echo freebsd" ac_cv_opt_olimit_ok=no
MAKE_ENV= VPATH="${PYTHON_WRKSRC}"
USE_LDCONFIG= yes
INSTALL_TARGET= altinstall
Index: python27/Makefile
===================================================================
--- python27/Makefile (wersja 330122)
+++ python27/Makefile (kopia robocza)
@@ -3,7 +3,7 @@
PORTNAME= python27
PORTVERSION= 2.7.5
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@@ -17,7 +17,7 @@
PATCH_WRKSRC= ${PYTHON_WRKSRC}
GNU_CONFIGURE= yes
CONFIGURE_SCRIPT= ../configure # must be relative
-CONFIGURE_ENV= SVNVERSION="echo freebsd"
+CONFIGURE_ENV= SVNVERSION="echo freebsd" ac_cv_opt_olimit_ok=no
MAKE_ENV= VPATH="${PYTHON_WRKSRC}"
USE_LDCONFIG= yes
INSTALL_TARGET= altinstall
Index: python31/Makefile
===================================================================
--- python31/Makefile (wersja 330122)
+++ python31/Makefile (kopia robocza)
@@ -2,7 +2,7 @@
PORTNAME= python31
PORTVERSION= 3.1.5
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@@ -19,7 +19,7 @@
PATCH_WRKSRC= ${PYTHON_WRKSRC}
GNU_CONFIGURE= yes
CONFIGURE_SCRIPT= ../configure # must be relative
-CONFIGURE_ENV= OPT="" SVNVERSION="echo freebsd"
+CONFIGURE_ENV= OPT="" SVNVERSION="echo freebsd" ac_cv_opt_olimit_ok=no
MAKE_ENV= VPATH="${PYTHON_WRKSRC}"
USE_LDCONFIG= yes
INSTALL_TARGET= altinstall
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list