Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#63570 closed defect (fixed)

gdbm @1.21: destroot failure in some timezones

Reported by: bryancn Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: mpp-xiaobc
Port: gdbm

Description (last modified by jmroot (Joshua Root))

:debug:main Starting logging for gdbm @1.21_0
:debug:sysinfo Mac OS X 10.5.8 (darwin/9.8.0) arch powerpc
:debug:sysinfo MacPorts 2.7.1
:debug:sysinfo Xcode 3.1.4
:debug:sysinfo SDK 10.5
:debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.5

...

:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1918: `Crash Tolerance API' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1849: `Numsync' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1837: `Availability' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1824: `Performance Impact' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1736: `Manual crash recovery' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1630: `Crash recovery' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1609: `Synchronizing the Database' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1575: `Enabling crash tolerance' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1525: `Filesystems supporting crash tolerance' has no Up field (perhaps incorrect sectioning?).
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1837: warning: unreferenced node `Availability'.
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1824: warning: unreferenced node `Performance Impact'.
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1575: warning: unreferenced node `Enabling crash tolerance'.
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1525: warning: unreferenced node `Filesystems supporting crash tolerance'.
:info:destroot makeinfo: Removing output file `gdbm.info' due to errors; use --force to preserve.
:info:destroot make[1]: *** [gdbm.info] Error 1

...

--->  Staging gdbm into destroot
Error: Failed to destroot gdbm: command execution failed 

Attachments (1)

main.log (187.4 KB) - added by bryancn 3 years ago.
main.log

Download all attachments as: .zip

Change History (8)

Changed 3 years ago by bryancn

Attachment: main.log added

main.log

comment:1 Changed 3 years ago by jmroot (Joshua Root)

Description: modified (diff)
Keywords: leopard powerpc added; ppc 10.5.8 removed

comment:2 Changed 3 years ago by mpp-xiaobc

Same issue here. Using MacPorts 2.7.1 compiled from source with custom prefix

version:1
:debug:main Starting logging for gdbm @1.21_0
:debug:sysinfo macOS 11.6 (darwin/20.6.0) arch i386
:debug:sysinfo MacPorts 2.7.1
:debug:sysinfo Xcode none
:debug:sysinfo SDK 11
:debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 11.0

...

:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1918: `Crash Tolerance API' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1849: `Numsync' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1837: `Availability' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1824: `Performance Impact' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1736: `Manual crash recovery' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1630: `Crash recovery' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1609: `Synchronizing the Database' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1575: `Enabling crash tolerance' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1525: `Filesystems supporting crash tolerance' has no Up field (perhaps incorrect sectioning?).
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1837: warning: unreferenced node `Availability'.
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1824: warning: unreferenced node `Performance Impact'.
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1575: warning: unreferenced node `Enabling crash tolerance'.
:info:destroot /Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc//gdbm.texi:1525: warning: unreferenced node `Filesystems supporting crash tolerance'.
:info:destroot makeinfo: Removing output file `gdbm.info' due to errors; use --force to preserve.
:info:destroot make[1]: *** [gdbm.info] Error 1
:info:destroot make[1]: Leaving directory `/Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21/doc'
:info:destroot make: *** [install-recursive] Error 1
:info:destroot make: Leaving directory `/Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21'
:info:destroot Command failed:  cd "/Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/gdbm-1.21" && /usr/bin/make -w install DESTDIR=/Users/xiao/projects/macport/local/var/macports/build/_Users_xiao_projects_macport_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_gdbm/gdbm/work/destroot 
:info:destroot Exit code: 2
:error:destroot Failed to destroot gdbm: command execution failed

...

comment:3 Changed 3 years ago by mpp-xiaobc

Cc: mpp-xiaobc added

comment:4 Changed 3 years ago by mpp-xiaobc

As a workaround I am using gdbm@1.20, commit 4756df1a8691db45b55cbe47124fd34945dd4914 (https://github.com/macports/macports-ports/tree/4756df1a8691db45b55cbe47124fd34945dd4914/databases/gdbm).

Edit: Strangely, when I installed clang-12 it autoupdated to gdbm@1.21 without a problem:

$ sudo port install clang-12
Password:
--->  Computing dependencies for gdbm
--->  Staging gdbm into destroot
--->  Installing gdbm @1.21_0
--->  Cleaning gdbm
--->  Computing dependencies for gdbm
--->  Deactivating gdbm @1.20_0
--->  Cleaning gdbm
--->  Activating gdbm @1.21_0
--->  Cleaning gdbm
--->  Computing dependencies for clang-12
--->  Building clang-12
Last edited 3 years ago by mpp-xiaobc (previous) (diff)

comment:5 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: leopard powerpc removed
Resolution: fixed
Status: newclosed
Summary: Failed to destroot gdbm: command execution failedgdbm @1.21: destroot failure in some timezones

In the attached main.log's build phase I see:

Making all in doc
make[2]: Entering directory `/path/to/gdbm/work/gdbm-1.21/doc'
Updating ./version.texi
make[2]: Leaving directory `/path/to/gdbm/work/gdbm-1.21/doc'

Whereas on my High Sierra system I just see:

Making all in doc
make[2]: Entering directory `/path/to/gdbm/work/gdbm-1.21/doc'
make[2]: Leaving directory `/path/to/gdbm/work/gdbm-1.21/doc'

And then in the destroot phase of the attached main.log where we see all the has no Up field errors on mine I just see the installation of the pre-existing .info files.

The has no Up field errors are apparently indicative of attempting to rebuild the documentation with a too-old version of makeinfo, which can be rectified by installing the texinfo port. However the real question is why the build system believes it should rebuild the documentation on your systems yet on mine it is happy to accept the documentation as included in the distribution.

Looking in doc/Makefile.in, I see that it decides to update version.texi if its timestamp is older than the timestamps of gdbm.texi and the configure script. When the gdbm port was updated to 1.21, a patch for the configure script was added, meaning that its modification timestamp would be changed, meaning that it tries to update version.texi, only it doesn't update the file directly: it updates a temporary file called stamp-vti, and if that file's contents matches version.texi then it does not update version.texi, otherwise it copies stamp-vti to version.texi to update it. And based on the updated version.texi, it later in the destroot phase decides to rebuild the documentation.

As distributed, version.texi contains:

@set UPDATED 2 September 2021
@set UPDATED-MONTH September 2021
@set EDITION 1.21
@set VERSION 1.21

This date does not indicate a timezone. I am in CDT timezone whereas the main.log indicates NZDT timezone. If I change my system's timezone to NZDT then I am able to reproduce the issue, because then version.texi has been updated to:

@set UPDATED 3 September 2021
@set UPDATED-MONTH September 2021
@set EDITION 1.21
@set VERSION 1.21

The problem was solved when gdbm was updated to 1.22 and the configure script patch was removed because it had been incorporated by the developers.

We must remember in the future that if we patch the configure script, we should also touch version.texi so that documentation is not unnecessarily (and sometimes unsuccessfully) rebuilt. This probably applies not only to this port but to any port that builds documentation with texinfo.

comment:6 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

I have reported the bug to the developers of automake here: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51609

comment:7 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

The automake developers tell me it's already fixed in automake 1.16, whereas gdbm 1.22's makefiles were generated with 1.15 so they don't include the fix. I've reported the problem to gdbm's bug reporting mailing list. I cannot find a web-based archive of the mailing list so I can't provide a link to the report.

Note: See TracTickets for help on using tickets.