From owner-freebsd-ports@FreeBSD.ORG Fri Jan 16 03:35:48 2015 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B1C629FB for ; Fri, 16 Jan 2015 03:35:48 +0000 (UTC) Received: from acipenser.esturion.net (acipenser.esturion.net [65.101.5.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 85DD8CDE for ; Fri, 16 Jan 2015 03:35:48 +0000 (UTC) Received: by acipenser.esturion.net (Postfix, from userid 112) id 17E7E26033B; Thu, 15 Jan 2015 20:35:41 -0700 (MST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on acipenser.esturion.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 Received: from feyerabend.n1.pinyon.org (quine.pinyon.org [65.101.5.249]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by acipenser.esturion.net (Postfix) with ESMTPSA id 58394260269 for ; Thu, 15 Jan 2015 20:35:37 -0700 (MST) Message-ID: <54B88709.3010604@pinyon.org> Date: Thu, 15 Jan 2015 20:35:37 -0700 From: "Russell L. Carter" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: freebsd-ports@freebsd.org Subject: libfxp fails with poudriere but not as a port Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jan 2015 03:35:48 -0000 Greetings, amd64 stable/10, updated across the failure. I've been watching a poudriere build failure with graphics/libfpx for several days now and investigated, and it is a curious failure. Some advice solicited on the fix. With an updated poudriere world, and an updated outside r277194 stable/10 world, graphics/libfxp fails with: (wrapped, of course) /wrkdirs/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/oless/h/fat.hxx:368:63: error: explicitly assigning a variable of type 'SCODE' (aka 'int') to itself [-Werror,-Wself-assign] do if (((HRESULT)(sc = (FindMaxSect(&_sectMax)))<0)) { sc = sc; goto Err;} while(0); which a little bit of grepping finds this line in fat.hxx: msfChk(FindMaxSect(&_sectMax)); where msfChk is defined in msf.hxx: #define msfErr(l, e) ErrJmp(msf, l, e, sc) #define msfChkTo(l, e) do if (FAILED(sc = (e))) msfErr(l, sc) while(0) #define msfChk(e) msfChkTo(Err, e) and ErrJmp is defined in error.hxx: #define ErrJmp(comp, label, errval, var) \ {\ var = errval;\ goto label;\ } so that clearly, sc = sc, just like the compiler complained about. Now normally I'd experiment with the macros a bit to see if I could fix it but I am hesitant because if I update a ports tree on the same system as the poudriere build system and make reinstall, everything builds installs and works great (including wdm and emacs, the reason that I've dug down this far). If I cd /usr/ports/graphics/build && make build, the compiler is /usr/bin/c++, while poudriere's log says it used c++. Any ideas on what the difference might be would awesome. Once I understand this I would be delighted to provide a patch. Thanks, Russell Late thought: I elided a debug branch on the ErrJmp macro, is there a reason why the ports tree might by default have debugging on while poudriere would not? I don't see anything obvious in a /usr/ports compiler command: /usr/bin/c++ -O2 -pipe -DHAVE_WCHAR_H -DHAVE_DLFCN_H -DHAVE_SYS_TIME_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_MOUNT_H -Qunused-arguments -fstack-protector -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith -Wno-uninitialized -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -fno-rtti -fno-exceptions -fno-strict-aliasing -DHAVE_WCHAR_H -DHAVE_DLFCN_H -DHAVE_SYS_TIME_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_MOUNT_H -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/oless/h -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/jpeg -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/ole -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/basics -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/ri_image -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/oless -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/fpx -I/usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/. -I/usr/local/include -D_UNIX -Wno-c++11-extensions -c /usr/ports/graphics/libfpx/work/libfpx-1.3.1-4/ole/oleprops.cpp -o oleprops.o