bugGNU gettext - Bugs: bug #58892, 0.21: broken aclocal macros

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #58892: 0.21: broken aclocal macros

Submitted by:  Tomasz Kłoczko <kloczek>
Submitted on:  Mon 03 Aug 2020 06:51:16 PM UTC  
 
Category:  Build Severity:  3 - Normal
Item Group:  None Status:  Invalid
Privacy:  Public Assigned to:  Bruno Haible <haible>
Open/Closed:  Closed

( Jump to the original submission)

Mon 03 Aug 2020 11:30:47 PM UTC, comment #11: 

> May I ask which one distribution you are using?


I use automake 1.16.2, autoconf 2.69 built from source; my distro's packages in /usr are therefore irrelevant. And I have no third-party .m4 file in the place where I installed autoconf and automake.

You might want to check what *.m4 files you have under PREFIX/share/.

Bruno Haible <haible>
Project AdministratorIn charge of this item.
Mon 03 Aug 2020 10:08:08 PM UTC, comment #10: 

May I ask which one distribution you are using?

Tomasz Kłoczko <kloczek>
Mon 03 Aug 2020 10:02:16 PM UTC, comment #9: 

> there is no any technical resons why it should not be working gettext .. especially if it WAS working with gettext 0.20.2.


The 'autoreconf -fiv' command works fine for me, for freshly unpacked gettext 0.21 and 0.20.2. See the attached log files.

I'm using automake 1.16.2, autoconf 2.69, and gettext 0.21.

(file #49624, file #49625)

Bruno Haible <haible>
Project AdministratorIn charge of this item.
Mon 03 Aug 2020 09:44:03 PM UTC, comment #8: 

When I'll have tested my solution on scale of whole distibution (which will take probably at least week for my automation) to confirm that there is no other issues I'll open the ticket against libtool.

Reall please focus on gettext ..

How to untangle gettext with gnulib regeration to have aesy as in +99% of all other packjages which are using libtool and where so far all what was really necessary to do was just "autoreconf -fiv".

[tkloczko@barrel SPECS]$ grep "^autoreconf -fiv" * -l | wc -l
693
[tkloczko@barrel SPECS]$ grep "^BuildRequires:.*automake" * -l | wc -l
688

In other words gettext in now only number 6 out of almost 700 package where using that procedure wherre it WORKS abd there is no any technical resons why it should not be working gettext .. especially if it WAS working with gettext 0.20.2.

Tomasz Kłoczko <kloczek>
Mon 03 Aug 2020 09:27:04 PM UTC, comment #7: 

> how can I do this on my build system which has completely cut of public network?
> I need to regenerate few things because you distributing whole tree with broken libtool which trashes LTO.


Oh, you have a fix for libtool with '-ftlo'? I discussed this problem with someone recently, and we both don't have a good solution. If you publish your patch at https://savannah.gnu.org/projects/libtool and if I find it reasonable, I'll apply it in my GNU packages (gettext and others), until there is a new libtool release.

If all you do is to apply a patch to libtool.m4, you

1) need to apply it to `find . -name libtool.m4`, that is,

./m4/libtool.m4
./libtextstyle/m4/libtool.m4

2) Regenerate the configure files using the autoconf statements found in autogen.sh and libtextstyle/autogen.sh:

(cd gettext-runtime/libasprintf && autoconf)
(cd gettext-runtime && autoconf)
(cd libtextstyle && autoconf)
(cd gettext-tools/examples && autoconf)
(cd gettext-tools && autoconf)
autoconf

This recipe should work with the current directory layout of gettext. It may require adaptations if you want to use it in the long-term future.

Bruno Haible <haible>
Project AdministratorIn charge of this item.
Mon 03 Aug 2020 08:26:23 PM UTC, comment #6: 

All your autogen.sh procedure assumes that someone will be syncing with gnulib.

That is the main problem.
I don't need to resync with gnulib. All what I need to do is just regenerate ac/am/lt stuff.

Tomasz Kłoczko <kloczek>
Mon 03 Aug 2020 08:22:44 PM UTC, comment #5: 

comment #4:
[..]

> After fetching the sources from the Git repository, peek at the comments in
> autogen.sh, then run
>   ./gitsub.sh pull
>   ./autogen.sh


And how can I do this on my build system which has completely cut of public network?
I need to regenerate few things because you distributing whole tree with broken libtool which trashes LTO.

> I disagree. autoreconf is not an essential part of the GNU build system. In some packages, it works. In some other packages, it works but only with particular -I options or only when you have installed 'libtool' before. In some other packages, it is not supported.
>


So dowes it mean that you are not using GNU build system?

Lolkk uou are not evn using coorctly gettext.m4 in the libasprintf !!!

autoreconf: Leaving directory `libasprintf'
autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION

Look .. gettext only build few binaries and libraries but all aclocal macros are so overcomplicated like in binutils or in gcc.

Even reusing .m4 macrtos in mnot done by sharing amongs the sunbrojects those file ad by this almost all .m4 files are installed four times.

Tomasz Kłoczko <kloczek>
Mon 03 Aug 2020 08:12:51 PM UTC, comment #4: 

> ./autogen.sh
>            Subdirectory 'gnulib' does not yet exist.


Have you been following the instructions from the HACKING file? It says:

After fetching the sources from the Git repository, peek at the comments in
autogen.sh, then run
  ./gitsub.sh pull
  ./autogen.sh

> Nevertemess all nelow distrinuted files are broken.
> $ grep -r gl_MSVC_INVAL -l | grep comp
> gettext-runtime/gnulib-m4/gnulib-comp.m4
> libtextstyle/gnulib-m4/gnulib-comp.m4
> gettext-tools/gnulib-m4/gnulib-comp.m4
> gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4


No, these files are correct.

> Up to 0.21 ALWAYS all what was necessary to do was just "autoreconf".


It was never documented that you could run 'autoreconf' in an unpacked GNU gettext tarball. If something is not documented, you can't rely on it.

> If ac/am/lt build framework requires any additional steps it means that it is BRKOKEN BY DESIGN.


I disagree. autoreconf is not an essential part of the GNU build system. In some packages, it works. In some other packages, it works but only with particular -I options or only when you have installed 'libtool' before. In some other packages, it is not supported.

Bruno Haible <haible>
Project AdministratorIn charge of this item.
Mon 03 Aug 2020 07:55:30 PM UTC, comment #3: 

Just in case if will not agree.
Up to 0.21 ALWAYS all what was necessary to do was just "autoreconf".

If ac/am/lt build framework requires any additional steps it means that it is BRKOKEN BY DESIGN.

Tomasz Kłoczko <kloczek>
Mon 03 Aug 2020 07:51:57 PM UTC, comment #2: 

comment #1:

> This is not supported.
>
> If you take the tarball, you are supposed to use the configure script that is in the tarball.
>
> If you like to regenerate the configure script, take a git checkout and run './autogen.sh', as described in the HACKING file.


If that requires more than "auroreconf" it means that it is broken.

And ..

[tkloczko@barrel gettext-0.21]$ ./autogen.sh

      • Subdirectory 'gnulib' does not yet exist. Use './gitsub.sh pull' to create it, or set the environment variable GNULIB_SRCDIR.

Nevertemess all nelow distrinuted files are broken.

[tkloczko@barrel gettext-0.21]$ grep -r gl_MSVC_INVAL -l | grep comp
gettext-runtime/gnulib-m4/gnulib-comp.m4
libtextstyle/gnulib-m4/gnulib-comp.m4
gettext-tools/gnulib-m4/gnulib-comp.m4
gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4

Tomasz Kłoczko <kloczek>
Mon 03 Aug 2020 07:36:26 PM UTC, comment #1: 

This is not supported.

If you take the tarball, you are supposed to use the configure script that is in the tarball.

If you like to regenerate the configure script, take a git checkout and run './autogen.sh', as described in the HACKING file.

Bruno Haible <haible>
Project AdministratorIn charge of this item.
Mon 03 Aug 2020 06:51:16 PM UTC, original submission:  

automake 1.16.2

[tkloczko@barrel gettext-0.21]$ autoreconf -fiv
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
gnulib-m4/gnulib-comp.m4:436: error: AC_REQUIRE(gl_MSVC_INVAL): cannot be used outside of an AC_DEFUN'd macro
gnulib-m4/gnulib-comp.m4:436: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
sh: line 0: cd: gettext-tools: No such file or directory
autoreconf: configure.ac: tracing
gnulib-m4/gnulib-comp.m4:436: error: AC_REQUIRE(gl_MSVC_INVAL): cannot be used outside of an AC_DEFUN'd macro
gnulib-m4/gnulib-comp.m4:436: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
sh: line 0: cd: gettext-tools: No such file or directory
autoreconf: configure.ac: adding subdirectory gettext-runtime to autoreconf
autoreconf: Entering directory `gettext-runtime'
autoreconf: running: aclocal --force -I m4 -I ../m4 -I gnulib-m4
autoreconf: configure.ac: adding subdirectory libasprintf to autoreconf
autoreconf: Entering directory `libasprintf'
autoreconf: running: aclocal --force -I ../../m4 -I ../m4 -I gnulib-m4
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, '../../build-aux'.
libtoolize: copying file '../../build-aux/ltmain.sh'
libtoolize: putting macros in '../../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 'AC_CONFIG_MACRO_DIRS([../../m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:23: installing '../../build-aux/missing'
autoreconf: Leaving directory `libasprintf'
autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, '../build-aux'.
libtoolize: copying file '../build-aux/ltmain.sh'
libtoolize: putting macros in '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 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
configure.ac:25: installing '../build-aux/missing'
autoreconf: Leaving directory `gettext-runtime'
autoreconf: configure.ac: adding subdirectory libtextstyle to autoreconf
autoreconf: Entering directory `libtextstyle'
autoreconf: running: aclocal --force -I m4 -I gnulib-m4
gnulib-m4/gnulib-comp.m4:436: error: AC_REQUIRE(gl_MSVC_INVAL): cannot be used outside of an AC_DEFUN'd macro
gnulib-m4/gnulib-comp.m4:436: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

Tomasz Kłoczko <kloczek>

 

Attached Files
file #49624:  0.20.2.log added by haible (4KiB - text/x-log)
file #49625:  0.21.log added by haible (4KiB - text/x-log)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by haible (Posted a comment)
  • -email is unavailable- added by kloczek (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-08-03 haible Attached File- => Added 0.20.2.log, #49624
        Attached File- => Added 0.21.log, #49625
    2020-08-03 haible CategoryNone => Build
        StatusNone => Invalid
        Assigned toNone => haible
        Open/ClosedOpen => Closed
        Summary0.21: broken aclocal nmacros => 0.21: broken aclocal macros

    Back to the top


    Powered by Savane 3.5