#57134 closed defect (fixed)
autogen @5.18.14: build fails on 10.13 due to error: no member named 'st_mtim' in 'struct stat'
Reported by: | kencu (Ken) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt) | |
Port: | autogen |
Description
Looks like the recent update to 5.18.14
is the cause for this, as nothing else seems to have changed in the build of autogen
.
5.18.16
is out, but also fails in the same fashion.
rolling back to 5.18.12
still works fine, and I see that's where homebrew is pegged at present.
Attachments (1)
Change History (7)
comment:1 follow-up: 4 Changed 6 years ago by kencu (Ken)
comment:2 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
As I mentioned in the PR, 5.18.12 didn't build on High Sierra either, which is why I merged it without resolving this issue. I did report the issue to the developer, who suggested running ./configure
with ac_cv_func_utimensat=no
as a workaround; I have not tested that yet.
comment:3 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:4 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to kencu:
In testing
autogen 5.18.16
, I found one file,config/mk-shdefs
, needs some minor editing to get through the initial configuration. It seems themktemp
command on macOS does not accept the--suffix
flag.
I have reported this to the developers. If you have a suggested fix, you could mention it to them there.
comment:5 follow-up: 6 Changed 6 years ago by kencu (Ken)
Thanks for the background. Something must have changed with 5.18.12
on High Sierra, because it builds now. But anyway, that fix for 5.18.14
is just what we needed, and now that works great. Seems I have seen that fix before, but just didn't recall it yesterday...
for 5.18.16
the guile patch doesn't apply, so I disabled it for now.
re: the mktemp
issue, I see we already have gmktemp
in coreutils
, and this port already depends on coreutils
, so the trick is to force it to use gmktemp
instead of mktemp
. Unfortunately it looks like there is no way to do that in a simple configure force, as mktemp
is not tested the way other applications like SED
are tested, and you can't just override it. So I just batch replaced them all in the port.
Sadly, even after that, 5.18.16
fails to build:
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_autogen/autogen/work/autogen-5.18.16/columns' top_builddir=.. \ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_autogen/autogen/work/autogen-5.18.16/agen5/autogen -L../autoopts/tpl -L../autoopts/tpl -MFstamp-agtexi -Tagtexi-cmd.tpl -DLEVEL=section --timeout=`expr 16 '*' 3` ./opts.def Could not decipher Guile version: n
so autogen 5.18.16 vs guile will need some more sorting out.
I'll attach the patch I used to replace mktemp with gmktemp pending some upstream addressing of the issue, if they do.
Changed 6 years ago by kencu (Ken)
Attachment: | patch-autogen-mktemp.diff added |
---|
patch to replace mktemp with gmktemp
comment:6 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to kencu:
for
5.18.16
the guile patch doesn't apply, so I disabled it for now.
5.18.16 includes guile 2.2 support so our patch and our notes
are no longer needed.
re: the
mktemp
issue, I see we already havegmktemp
incoreutils
, and this port already depends oncoreutils
, so the trick is to force it to usegmktemp
instead ofmktemp
. Unfortunately it looks like there is no way to do that in a simple configure force, asmktemp
is not tested the way other applications likeSED
are tested, and you can't just override it. So I just batch replaced them all in the port.
Oh, I didn't notice that the port already depended on coreutils. In that case, we can certainly use gmktemp
until upstream sorts out their portability issues. It should only be necessary to patch those invocations of mktemp
that use --suffix
.
Sadly, even after that,
5.18.16
fails to build:make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_autogen/autogen/work/autogen-5.18.16/columns' top_builddir=.. \ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_autogen/autogen/work/autogen-5.18.16/agen5/autogen -L../autoopts/tpl -L../autoopts/tpl -MFstamp-agtexi -Tagtexi-cmd.tpl -DLEVEL=section --timeout=`expr 16 '*' 3` ./opts.def Could not decipher Guile version: n
I don't see that problem. Do you have guile @2.2.4_0 installed? Try this PR?
In testing
autogen 5.18.16
, I found one file,config/mk-shdefs
, needs some minor editing to get through the initial configuration. It seems themktemp
command on macOS does not accept the--suffix
flag.