Opened 11 years ago

Closed 11 years ago

#37499 closed defect (worksforme)

urlview: build fails because automake-1.11 is missing

Reported by: macports@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: urlview

Description

The build explicitly calls automake-1.11, which fails if it's been superceded by the current version of automake, 1.13. (I'd attach the log but I already worked around it with a softlink so the log has been deleted.)

Change History (5)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Port: @0.9-19_0 removed
Summary: build failure - automakeurlview: build fails because automake-1.11 is missing

I'm unable to reproduce this; it builds fine for me and I see no occurrences of "automake-1.11" in the source code. Seeing your main.log file might help.

comment:2 in reply to:  1 Changed 11 years ago by macports@…

Replying to ryandesign@…:

I'm unable to reproduce this; it builds fine for me and I see no occurrences of "automake-1.11" in the source code. Seeing your main.log file might help.

As I said, the main.log was deleted after a successful workaround. I know it was calling 1.11 because when I made a link from automake-1.11 to automake-1.13 it worked.

There seems to be a somewhat different problem with several unrelated ports using the newer automake/autoconf, for instance I get this same error on multiple ports:

--->  Computing dependencies for sshfs.
--->  Configuring sshfs
configure.ac:3: error: 'AM_CONFIG_HEADER': this macro is obsolete.
    You should use the 'AC_CONFIG_HEADERS' macro instead.
/opt/local/share/aclocal-1.13/obsolete-err.m4:12: AM_CONFIG_HEADER is expanded from...
configure.ac:3: the top level
autom4te: /opt/local/bin/gm4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_fuse_sshfs/sshfs/work/sshfs-fuse-2.4" && autoreconf --install 
Exit code: 1
Error: org.macports.configure for port sshfs returned: autoreconf failure: command execution failed
Warning: targets not executed for sshfs: org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
Please see the log file for port sshfs for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_fuse_sshfs/sshfs/main.log

:

In that case editing configure.ac to replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS resulted in a successful build.

( One Inkscape dev has noticed the same issue: https://bugs.launchpad.net/inkscape/+bug/1094576 - that diff may be broadly useful.)

comment:3 Changed 11 years ago by macports@…

Further research led to this: https://www.gnu.org/software/automake/manual/automake.html#Public-Macros

AM_INIT_AUTOMAKE is called with a single argument: a space-separated list of Automake options that should be applied to every Makefile.am in the tree. The effect is as if each option were listed in AUTOMAKE_OPTIONS (see Options).

This macro could once (before Automake 1.13) also be called in the now obsolete and completely unsupported form AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]). In this form, there were two required arguments: the package and the version number.

If your configure.ac has:

          AC_INIT([src/foo.c])
          AM_INIT_AUTOMAKE([mumble], [1.5])

you must modernize it as follows in order to make it work with Automake 1.13 or later:

          AC_INIT([mumble], [1.5])
          AC_CONFIG_SRCDIR([src/foo.c])
          AM_INIT_AUTOMAKE

Can you change this ticket to reflect the problem or should I open a new one?

comment:4 in reply to:  3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

Replying to macports@…:

Replying to ryandesign@…:

I'm unable to reproduce this; it builds fine for me and I see no occurrences of "automake-1.11" in the source code. Seeing your main.log file might help.

As I said, the main.log was deleted after a successful workaround.

Right, but since the build succeeds for me, I have nothing to go on unless I see a logfile from you showing the failed build. You could remove the automake-1.11 symlink you created and re-try the build to make it fail again. You can leave urlview installed and just run "sudo port build urlview" and then attach that main.log (whose location is printed by "port logfile urlview") to this ticket.

There seems to be a somewhat different problem with several unrelated ports using the newer automake/autoconf, for instance I get this same error on multiple ports:

configure.ac:3: error: 'AM_CONFIG_HEADER': this macro is obsolete.
    You should use the 'AC_CONFIG_HEADERS' macro instead.

Yes but that should only happen if the configure script is regenerated from the configure.ac (or configure.in) file by running autoconf or autoreconf, and urlview does not do that.

Replying to macports@…:

Further research led to this: https://www.gnu.org/software/automake/manual/automake.html#Public-Macros

AM_INIT_AUTOMAKE is called with a single argument: a space-separated list of Automake options that should be applied to every Makefile.am in the tree. The effect is as if each option were listed in AUTOMAKE_OPTIONS (see Options).

This macro could once (before Automake 1.13) also be called in the now obsolete and completely unsupported form AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]). In this form, there were two required arguments: the package and the version number.

I agree that urlview's configure.in uses that obsolete form of AM_INIT_AUTOMAKE but again since it ships with a pre-made configure script and does not run autoconf or autoreconf it doesn't matter what's in the configure.in.

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

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.