Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

please depend on a newer Automake than 1.11 #621

Closed
smcv opened this issue Mar 12, 2017 · 3 comments
Closed

please depend on a newer Automake than 1.11 #621

smcv opened this issue Mar 12, 2017 · 3 comments

Comments

@smcv
Copy link
Collaborator

smcv commented Mar 12, 2017

Debian policy is to run autoreconf during builds if possible, so that we are building from the real source code, rather than from what upstream happen to have generated. configure.ac claims that flatpak will build with any Automake >= 1.11, but when a bug in Debian's autobuilder infrastructure caused several autobuilders to select Automake 1.11 instead of 1.15, those builds failed:

dh_autoreconf --as-needed
Copying file m4/codeset.m4
Copying file m4/fcntl-o.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes_h.m4
Copying file m4/lcmessage.m4
Copying file m4/lock.m4
Copying file m4/longlong.m4
Copying file m4/printf-posix.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/threadlib.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file po/Makevars.template
Prototype after '@' for main::list_compare : address@hidden@ at /usr/bin/aclocal line 162.
Illegal character in prototype for main::list_compare : address@hidden@ at /usr/bin/aclocal line 162.
Prototype mismatch: sub main::list_compare (address@hidden@) vs (\@\@) at /usr/bin/aclocal line 340.
acinclude.m4:113: the serial number must appear before any macro definition
acinclude.m4:321: the serial number must appear before any macro definition
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Prototype after '@' for main::list_compare : address@hidden@ at /usr/bin/aclocal line 162.
Illegal character in prototype for main::list_compare : address@hidden@ at /usr/bin/aclocal line 162.
Prototype mismatch: sub main::list_compare (address@hidden@) vs (\@\@) at /usr/bin/aclocal line 340.
acinclude.m4:113: the serial number must appear before any macro definition
acinclude.m4:321: the serial number must appear before any macro definition
configure.ac:38: installing `./compile'
configure.ac:47: installing `./missing'
buildutil/glib-tap.mk:92: ENABLE_ALWAYS_BUILD_TESTS does not appear in AM_CONDITIONAL
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
buildutil/glib-tap.mk:104: ENABLE_INSTALLED_TESTS does not appear in AM_CONDITIONAL
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
tests/Makefile.am.inc:62: ENABLE_INSTALLED_TESTS does not appear in AM_CONDITIONAL
Makefile.am:90:   `tests/Makefile.am.inc' included from here
tests/Makefile.am.inc:100: ENABLE_INSTALLED_TESTS does not appear in AM_CONDITIONAL
Makefile.am:90:   `tests/Makefile.am.inc' included from here
buildutil/glib-tap.mk:15: `installed_test_LTLIBRARIES' is used but `installed_testdir' is undefined
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
buildutil/glib-tap.mk:16: `installed_test_PROGRAMS' is used but `installed_testdir' is undefined
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
buildutil/glib-tap.mk:17: `installed_test_SCRIPTS' is used but `installed_testdir' is undefined
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
Makefile.am: installing `./depcomp'
buildutil/glib-tap.mk:118: `installed_test_meta_DATA' is used but `installed_test_metadir' is undefined
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
buildutil/glib-tap.mk:19: `nobase_installed_test_DATA' is used but `installed_testdir' is undefined
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
buildutil/glib-tap.mk:18: `installed_test_DATA' is used but `installed_testdir' is undefined
Makefile.am:14:   `buildutil/glib-tap.mk' included from here
autoreconf: automake failed with exit status: 1
dh_autoreconf: autoreconf -f -i returned exit code 1

Please increase the first argument of AM_INIT_AUTOMAKE to the oldest that you are interested in supporting. Presumably there's some minimum version that you want to support (Debian stable or Ubuntu LTS or an old RHEL or something), and anything older than that is uninteresting?

In Debian jessie-backports, flatpak successfully builds with Automake 1.14.1 (released 2013-12-24), so that version is certainly fine. I had to patch flatpak's C code a bit to cope with the older GLib in jessie, but that's a separate issue, and probably not worth fixing upstream - if 0.8.x remains stable then my patches should continue to apply indefinitely.

@kalev
Copy link
Contributor

kalev commented Mar 14, 2017

If possible, please don't bump the automake dep higher than 1.13.4 as this is what we have in RHEL 7.

@smcv
Copy link
Collaborator Author

smcv commented Mar 14, 2017

If 1.13.4 works, then depending on 1.13.4 is fine. Just as long as the dependency isn't on a version that doesn't actually work :-)

@alexlarsson
Copy link
Member

It built on 1.13.4 on rhel7, so i went with that.

alexlarsson added a commit that referenced this issue Apr 3, 2017
It doesn't build on the current minimum of 1.11.
Fixes #621

(cherry picked from commit afc2dd3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants