Hi Eric, Thank you. automake list folks -- the main question is "Why are .m4 files being installed and how can I prevent it?" >> -------- Original Message -------- >> > Subject: [Bug 347095] sys-devel/autogen installs colliding \ >> > m4 macros which break random packages >> > >> > Clear-Text: http://bugs.gentoo.org/show_bug.cgi?id=347095 >> > Secure: https://bugs.gentoo.org/show_bug.cgi?id=347095 > In this comment: >> > http://bugs.gentoo.org/show_bug.cgi?id=347095#c29 On 12/07/10 09:49, Eric Blake wrote: > Which macro are you using? Can you show the .m4 file that you are > installing as part of your public interface to autogen that is depending > on extensions.m4 under the hood? The m4 cruft I am using for configuring autogen uses extensions.m4. I do not deliberately install those macros. In fact: >> So, the questions: >> >> 1. Should these m4 files be installed? I did not believe that autogen configury macros should be installed in the first place. > Probably not - since extensions.m4 is not providing a public m4 macro > directly related to autogen, you are probably better off rewriting your > public macro to work without having to rely on extensions.m4. I do not really have public macros. (Should I have? To what end? Mostly, any client project that builds using autogen probably should not be. They probably ought to do the autogen-ing in a bootstrap phase. But if not, then just see if ``autogen --help'' works and they ought not need an m4 macro for a test that simple.) The public macro I _do_ intentionally install, I install to /usr/share/autogen and is for the purpose of testing the existence and version of libopts, and for allowing the location to be specified with a configure program option. It is "autoopts.m4" and Gentoo folks are not complaining of it. >> 3. If not, where's the magic for suppressing the installation? > > I'm not sure where the magic for installing it was located in the first > place; can you track down why extensions.m4 was being installed? (and > that may be more of an automake question) I spent some time looking at all my Makefile.am's and I am sure I don't know where the magic is, either. As far as I understand, of these files: > $ (cd ~/tmp/_I ; find * -type f|fgrep m4) > usr/local/share/autogen/autoopts.m4 > usr/local/share/aclocal/extensions.m4 > usr/local/share/aclocal/ag_macros.m4 > usr/local/share/aclocal/liboptschk.m4 > usr/local/share/aclocal/autoopts.m4 > usr/local/share/aclocal/snprintfv.m4 > usr/local/share/aclocal/unlocked-io.m4 > usr/local/share/aclocal/libopts.m4 I only mean to install the very first file. The rest are private and publicly installed via implicit means that I do not understand. Here are the macros I use that pull other stuff: > AC_INIT([GNU AutoGen],[5.11.4pre6],[autogen-users@xxxxxxxxxxxxxxxxxxxxx]) > AC_CONFIG_SRCDIR(agen5/autogen.c) > AC_CONFIG_AUX_DIR(config) > AC_CANONICAL_TARGET > AM_INIT_AUTOMAKE([gnu check-news 1.5 dist-bzip2]) > AC_USE_SYSTEM_EXTENSIONS > AC_LIBTOOL_WIN32_DLL m4_define(AC_PROVIDE_AC_LIBTOOL_WIN32_DLL) > AC_PROG_LIBTOOL > AM_WITH_DMALLOC > AM_PROG_CC_C_O > AC_PROG_CC_STDC > gl_FUNC_GLIBC_UNLOCKED_IO > AC_EXEEXT > AC_PROG_INSTALL > AC_PROG_LIBTOOL > AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, :) > AC_C_CONST > AC_C_INLINE > AC_CHECK_LIB(dl, dlopen) > AC_TYPE_MODE_T > AC_TYPE_PID_T > AC_TYPE_SIZE_T > AC_TYPE_UID_T > AC_C_LONG_DOUBLE > AC_CHECK_TYPES([u_int, long long, uintmax_t, size_t, wchar_t]) > AC_CHECK_SIZEOF(char*, 4) > AC_CHECK_SIZEOF(int, 4) > AC_CHECK_SIZEOF(long, 4) > AC_CHECK_SIZEOF(short, 2) > AC_CHECK_FUNCS(strchr strlcpy snprintf dlopen) > AC_SEARCH_LIBS(copysign, [m], > [AC_DEFINE(HAVE_COPYSIGN, 1, > [Define to 1 if you have the `copysign' function.])]) > AC_SEARCH_LIBS(copysignl, [m], > [AC_DEFINE(HAVE_COPYSIGNL, 1, > [Define to 1 if you have the `copysignl' function.])]) > AC_SEARCH_LIBS(modfl, [m], > [AC_DEFINE(HAVE_MODFL, 1, > [Define to 1 if you have the `modfl' function.])]) > AM_CONDITIONAL([NEED_PATHFIND], [test X$ac_cv_func_pathfind = Xyes]) The interesting "pullers of other stuff" are likely "AC_USE_SYSTEM_EXTENSIONS" and "gl_FUNC_GLIBC_UNLOCKED_IO". Nowhere that I have found have I set any magic make macro with 'DATA' in its name to any of the .m4 files. So I do not know how they get installed. I don't want 'em installed. _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf