#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)
Change History (8)
Changed 3 years ago by bryancn
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
comment:5 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | leopard powerpc removed |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Summary: | Failed to destroot gdbm: command execution failed → gdbm @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.
main.log