Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Apr 2022 19:53:29 +0200
From:      =?UTF-8?Q?Fernando_Apestegu=C3=ADa?= <fernape@freebsd.org>
To:        jbo@insane.engineer
Cc:        "ports@freebsd.org" <ports@freebsd.org>
Subject:   Re: Build issue with i386 port
Message-ID:  <CAGwOe2a=oNCK8jryHMhD11OQHnAw3C34M18aVFF8tSHubYxyGQ@mail.gmail.com>
In-Reply-To: <zfL6oy-z-MOKJcsJTWbT4bXx4TCQCLUWVzLxT3DgK6tpyDutGVNFjovLSBm78Q-sDQ0lz8tx4IyODhzrDhSPRR3wXpQJ9yk-7xlDu8wiW6w=@insane.engineer>
References:  <HHY42GcIqbl9KVSvHSzg73YO7HcDnD_PD4r9wDzBtyH0RPJcBXGdsfdwCYDixZRJRjN3qktWgORg2apUdq9YeGycdg1lLHZcyZ6PTIXTuQY=@insane.engineer> <zfL6oy-z-MOKJcsJTWbT4bXx4TCQCLUWVzLxT3DgK6tpyDutGVNFjovLSBm78Q-sDQ0lz8tx4IyODhzrDhSPRR3wXpQJ9yk-7xlDu8wiW6w=@insane.engineer>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Apr 11, 2022 at 7:24 PM <jbo@insane.engineer> wrote:
>
> Hello folks,
>
> I'm fairly new to the porting game so please bear with me.
>
> A few months ago, I created my first port: sysutils/cpufetch
> Back then, I was only testing this on amd64 so ONLY_FOR_ARCHS was set to amd64.
> In the meantime, I've spun up some i386 VMs (both FreeBSD 13 and 14) as upstream advertises to also support 32-bit FreeBSD.
> In the VMs, if I just clone the upstream repository [1] and run gmake, the software compiles & runs fine.
> After those successful tests I've updated the port's Makefile to also include i386 in ONLY_FOR_ARCHS.
>
> Not long after, I was receiving my first pkg fallout message informing me that the official pkg builds are failing:
>
> =======================<phase: build          >============================
> ===>  Building for cpufetch-1.00_1
> gmake[1]: Entering directory '/wrkdirs/usr/ports/sysutils/cpufetch/work/cpufetch-1.00'
> Makefile:38: Unsupported arch detected: i386. See https://github.com/Dr-Noob/cpufetch#1-support
> Makefile:39: If your architecture is supported but the compilation fails, please open an issue in https://github.com/Dr-Noob/cpufetch/issues
> Makefile:40: *** Aborting compilation.  Stop.
> gmake[1]: Leaving directory '/wrkdirs/usr/ports/sysutils/cpufetch/work/cpufetch-1.00'
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
> the maintainer.
> *** Error code 1
>
> Upstream's Makefile uses $(shell uname -m) to determine the architecture [2]. My VMs are successfully reporting this as
> i386 which upstream's Makefile appears to support explicitly. After all, I'm also able to build this software
> on those VMs if just cloning & running gmake manually.
>
> I'm not really sure where to go from here. As I can build the software in FreeBSD i386 VMs I think
> that the issue is related to my port and not upstream. But then again, the build fails "within" upstream's Makefile.
>
> Could somebody help me out here?

When the Makefile checks the output of uname -m, it compares the
result with a list of values that includes i686 but not i386.
I think a simple REINPLACE_CMD would suffice here.

Since I failed to detect this, do you want me to fix it in the repo? I
will also send a patch upstream.

Cheers.
>
> [1] https://github.com/dr-noob/cpufetch
> [2] https://github.com/Dr-Noob/cpufetch/blob/master/Makefile#L14
>
>
> Best regards,
> ~ Joel Bodenmann
>



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