Path: csiph.com!aioe.org!bofh.it!news.nic.it!robomod From: Drew Parsons Newsgroups: linux.debian.maint.python,linux.debian.bugs.dist Subject: overriding default compile flags when building python extensions Date: Fri, 03 May 2019 13:50:01 +0200 Message-ID: X-Original-To: debian-python@lists.debian.org X-Mailbox-Line: From debian-python-request@lists.debian.org Fri May 3 11:49:33 2019 Old-Return-Path: X-Amavis-Spam-Status: No, score=-7.6 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, FOURLA=0.1, LDO_WHITELIST=-5, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no X-Policyd-Weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .debian. - helo: .relay8-d.mail.gandi. - helo-domain: .gandi.) FROM/MX_MATCHES_NOT_HELO(DOMAIN)=0; rate: -3.5 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Organization: The Debian Project Reply-To: dparsons@debian.org Mail-Reply-To: dparsons@debian.org X-Sender: dparsons@debian.org User-Agent: Roundcube Webmail/1.3.8 X-Mailing-List: archive/latest/16905 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/c7f3205caf5ddd8bac8452a1d12b0e9b@debian.org Approved: robomod@news.nic.it Lines: 30 Sender: robomod@news.nic.it X-Original-Cc: 928140@bugs.debian.org, =?UTF-8?Q?Nico_Schl=C3=B6mer?= X-Original-Date: Fri, 03 May 2019 19:49:18 +0800 X-Original-Message-ID: Xref: csiph.com linux.debian.maint.python:11428 linux.debian.bugs.dist:956934 Dear Debian Python community, how does one control or override the default flags used by setup.py (setuptools module) when compiling a C extension for a python module? The intention is to switch off -g in pygalmesh, because of memory constraints on 32 bit systems when compiling against CGAL, see Bug#928140, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928140 A failed build, e.g. i386 at https://buildd.debian.org/status/fetch.php?pkg=pygalmesh&arch=i386&ver=0.3.1-1&stamp=1556128605&raw=0 shows -g is used twice. The second usage comes from CFLAGS in dpkg-buildflags, which I can control. The first -g is the problem (in "-DNDEBUG -g -fwrapv -O2 -Wall"). The advice from the internet (stackoverflow) is exceedingly poor on this question, in most cases addressing how to add flags, not how to change the existing default flags. Alternatives like OPT="" python3 ./setup.py simply do not work. The default in question appears to be the OPT variable defined in /usr/lib/python3.7/config-3.7m-x86_64-linux-gnu/Makefile But how to override it? Upstream (Nico) suggests instead to build with CC=clang++. Is this a good alternative for Debian python modules? Drew