From owner-svn-ports-head@freebsd.org Mon May 11 12:08:41 2020 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E078F2DFFDB; Mon, 11 May 2020 12:08:41 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49LKTj5h1Xz4T95; Mon, 11 May 2020 12:08:41 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1354) id BB4724628; Mon, 11 May 2020 12:08:41 +0000 (UTC) From: Jan Beich To: Hans Petter Selasky Cc: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r534893 - head/multimedia/webcamd References: <202005110834.04B8YTMU056795@repo.freebsd.org> Date: Mon, 11 May 2020 14:08:38 +0200 In-Reply-To: (Hans Petter Selasky's message of "Mon, 11 May 2020 13:31:10 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 May 2020 12:08:41 -0000 Hans Petter Selasky writes: > On 2020-05-11 13:17, Jan Beich wrote: > >> Hans Petter Selasky writes: >> >>> Author: hselasky >>> Date: Mon May 11 08:34:28 2020 >>> New Revision: 534893 >>> URL: https://svnweb.freebsd.org/changeset/ports/534893 >>> >>> Log: >>> Only set COMPAT32 option when building 64-bit platforms. >>> PR: 245698 >>> Approved by: pi (implicit) >> [...] >>> -.if exists(/usr/lib32/libcuse.so) >>> +.include >>> + >>> +.if ${ARCH} == amd64 || ${ARCH} == aarch64 >>> OPTIONS_DEFAULT+= COMPAT32 >>> .endif >> Looks pointless. Not only it misses other 64-bit archs like >> powerpc64 but >> also doesn't address bug 245698 where user accidentally enabled COMPAT option. > > Hi Jan, > > The COMPAT32 option was enabled by error because the user tried to > build both 32-bit and 64-bit world and ports from the same jail. > > The COMPAT32 option is mostly relevant for platforms that have lots of > binary applications in 32-bit mode, like wine-i386-devel, and is not > that relevant for power64 nor sparc64, at the moment. For example, lang/gcc* do enable MULTILIB by default on powerpc64. Compare with aarch64 which doesn't support /usr/lib32 yet. Looking at COMPAT32 code it defines CONFIG_X86_64 which is unlikely to work on non-x86 architectures and CONFIG_COMPAT_32BIT_TIME which is not true outside of i386 (time_t is int64_t on armv6, mips, powerpc). > It would be better if the ports tree could set a variable by default > if we are building for a 64-bit platform! > > .if ${ARCH64} != "" > > .endif Why list COMPAT32 option even if non-default on architectures where it's not supported? I can still reproduce bug 245698 on i386 e.g., $ poudriere options -nj 113i386 multimedia/webcamd $ poudriere testport -j 113i386 multimedia/webcamd [...] --- obj-media_tree-drivers-media-v4l2-core-v4l2-subdev.o --- media_tree/drivers/media/v4l2-core/v4l2-subdev.c:396:7: error: duplicate case value '1081628249' case VIDIOC_DQEVENT_TIME32: { ^ media_tree/include/media/v4l2-ioctl.h:750:32: note: expanded from macro 'VIDIOC_DQEVENT_TIME32' #define VIDIOC_DQEVENT_TIME32 _IOR('V', 89, struct v4l2_event_time32) ^ /usr/include/sys/ioccom.h:58:21: note: expanded from macro '_IOR' #define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t)) ^ /usr/include/sys/ioccom.h:54:35: note: expanded from macro '_IOC' #define _IOC(inout,group,num,len) ((unsigned long) \ ^ media_tree/drivers/media/v4l2-core/v4l2-subdev.c:389:7: note: previous case defined here case VIDIOC_DQEVENT: ^ media_tree/include/uapi/linux/videodev2.h:2536:26: note: expanded from macro 'VIDIOC_DQEVENT' #define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event) ^ --- obj-media_tree-drivers-media-v4l2-core-v4l2-common.o --- --- obj-media_tree-drivers-media-v4l2-core-v4l2-subdev.o --- /usr/include/sys/ioccom.h:58:21: note: expanded from macro '_IOR' #define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t)) ^ /usr/include/sys/ioccom.h:54:35: note: expanded from macro '_IOC' #define _IOC(inout,group,num,len) ((unsigned long) \ ^ 1 error generated.