Bug 272622

Summary: archivers/gtar fails to configure on i386
Product: Ports & Packages Reporter: Cy Schubert <cy>
Component: Individual Port(s)Assignee: Christian Weisgerber <naddy>
Status: Closed FIXED    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (naddy)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Fix build on i386. none

Description Cy Schubert freebsd_committer freebsd_triage 2023-07-20 14:34:53 UTC
On i386 only (builds properly in my amd64 poudriere):

configure: error: in `/wrkdirs/usr/ports/archivers/gtar/work/tar-1.35':
configure: error: could not enable timestamps after mid-January 2038.
This package recommends support for these later
timestamps. However, to proceed with signed 32-bit
time_t even though it will fail then, configure with
'--disable-year2038'.
See `config.log' for more details
===>  Script "configure" failed unexpectedly.
Please report the problem to naddy@FreeBSD.org [maintainer] and attach the
"/wrkdirs/usr/ports/archivers/gtar/work/tar-1.35/config.log" including the
output of the failure of your make command. Also, it might be a good idea to
provide an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make: stopped in /usr/ports/archivers/gtar
=>> Cleaning up wrkdir
===>  Cleaning for gtar-1.35
build of archivers/gtar | gtar-1.35 ended at Thu Jul 20 06:48:58 PDT 2023
build time: 00:01:59
!!! build failure encountered !!!


I may cobble a patch for this later.
Comment 1 Cy Schubert freebsd_committer freebsd_triage 2023-07-20 14:51:53 UTC
Created attachment 243504 [details]
Fix build on i386.
Comment 2 Cy Schubert freebsd_committer freebsd_triage 2023-07-20 15:01:03 UTC
Hmm. CONFIGURE_ARGS_i386 doesn't take. Though, the warning says it will fail later anyway.

I'm not too concerned about this. I use amd64 here with i386 boot partitions for testing and a single i386 machine. None of the i386 partitions nor the i386 machine have been used for a while, only my i386 poudriere is currently used for testing. (Been toying with the idea of retiring all i386 here entirely.)
Comment 3 commit-hook freebsd_committer freebsd_triage 2023-07-20 20:47:07 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6aae9fcd852a0acd371a4fa072afce7318f471f1

commit 6aae9fcd852a0acd371a4fa072afce7318f471f1
Author:     Christian Weisgerber <naddy@FreeBSD.org>
AuthorDate: 2023-07-20 20:40:32 +0000
Commit:     Christian Weisgerber <naddy@FreeBSD.org>
CommitDate: 2023-07-20 20:46:10 +0000

    archivers/gtar: fix build on i386

    Override a hidden safety check that stops the build on platforms
    that are not Y2038 safe.  FreeBSD/i386 still has a 32-bit time_t.

    PR:             272622
    Reported by:    cy

 archivers/gtar/Makefile | 2 ++
 1 file changed, 2 insertions(+)
Comment 4 Christian Weisgerber freebsd_committer freebsd_triage 2023-07-20 20:51:28 UTC
Thanks.  I missed that check because it is hidden in gnulib.  The --disable-year2038 option can be set unconditionally, it has no effect on Y2038-safe platforms.