From: Adolf Belka <adolf.belka@ipfire.org>
To: Michael Tremer <michael.tremer@ipfire.org>
Cc: "IPFire: Development-List" <development@lists.ipfire.org>
Subject: Re: New version of gettext is causing fireperf to fail to build
Date: Wed, 14 May 2025 17:47:39 +0200 [thread overview]
Message-ID: <34614968-2199-45d7-a8fb-85452ab1da6b@ipfire.org> (raw)
In-Reply-To: <F2D59767-CE5E-41E9-B910-9B08C7664874@ipfire.org>
Hi Michael,
On 14/05/2025 17:09, Michael Tremer wrote:
> Thank you.
>
> We should upstream the changes into the individual repositories.
I will look at doing that.
Regards,
Adolf.
>
> I have merged your patches for now to get the build going again.
>
> -Michael
>
>> On 14 May 2025, at 10:57, Adolf Belka <adolf.belka@ipfire.org> wrote:
>>
>> Hi Michael,
>>
>>
>> Also had to do the same with libloc.
>>
>> Everything else after that has built successfully.
>>
>> Will do a full clean build now and then submit patches for the changes.
>>
>> Regards,
>> Adolf.
>>
>> On 14/05/2025 10:19, Adolf Belka wrote:
>>> Hi Michael,
>>> Success!!
>>> On 13/05/2025 20:57, Adolf Belka wrote:
>>>> Hi Michael,
>>>>
>>>> On 13/05/2025 16:24, Michael Tremer wrote:
>>>>> Hello Adolf,
>>>>>
>>>>> Yay, a breaking change in Gettext. This might hurt us a lot then…
>>>>>
>>>>> The “autogen.sh” script is just a script that I wrote which takes care of setting up autoconf/automake and intltool.
>>>>>
>>>>> What happens when you add autopoint to that script? Or run autopoint before running the script?
>>>>
>>>> I added autopoint into the LFS just before the autogen.sh line.
>>>>
>>>> It failed to build with the following log output:-
>>>>
>>>>
>>>> May 13 18:16:55: Building fireperf make: Entering directory '/home/build/sandbox/ipfire-2.x/lfs'
>>>> make: Nothing to be done for 'download'.
>>>> make: Leaving directory '/home/build/sandbox/ipfire-2.x/lfs'
>>>> make: Entering directory '/usr/src/lfs'
>>>> fireperf-0.2.0.tar.gz checksum OK
>>>> ====================================== Installing fireperf-0.2.0 ...
>>>> Install started; saving file list to /usr/src/lsalr ...
>>>> fireperf-0.2.0/
>>>> fireperf-0.2.0/.gitignore
>>>> fireperf-0.2.0/Makefile.am
>>>> fireperf-0.2.0/autogen.sh
>>>> fireperf-0.2.0/configure.ac
>>>> fireperf-0.2.0/debian/
>>>> fireperf-0.2.0/debian/build.sh
>>>> fireperf-0.2.0/debian/changelog
>>>> fireperf-0.2.0/debian/compat
>>>> fireperf-0.2.0/debian/control
>>>> fireperf-0.2.0/debian/copyright
>>>> fireperf-0.2.0/debian/rules
>>>> fireperf-0.2.0/m4/
>>>> fireperf-0.2.0/m4/.gitignore
>>>> fireperf-0.2.0/man/
>>>> fireperf-0.2.0/man/.gitignore
>>>> fireperf-0.2.0/man/asciidoc.conf
>>>> fireperf-0.2.0/man/fireperf.txt
>>>> fireperf-0.2.0/po/
>>>> fireperf-0.2.0/po/.gitignore
>>>> fireperf-0.2.0/po/POTFILES.in
>>>> fireperf-0.2.0/src/
>>>> fireperf-0.2.0/src/.gitignore
>>>> fireperf-0.2.0/src/client.c
>>>> fireperf-0.2.0/src/client.h
>>>> fireperf-0.2.0/src/logging.c
>>>> fireperf-0.2.0/src/logging.h
>>>> fireperf-0.2.0/src/main.c
>>>> fireperf-0.2.0/src/main.h
>>>> fireperf-0.2.0/src/random.c
>>>> fireperf-0.2.0/src/random.h
>>>> fireperf-0.2.0/src/server.c
>>>> fireperf-0.2.0/src/server.h
>>>> fireperf-0.2.0/src/util.c
>>>> fireperf-0.2.0/src/util.h
>>>> cd /usr/src/fireperf-0.2.0 && autopoint
>>>> autopoint: *** Missing version: please specify in configure.ac through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using
>>>> autopoint: *** Stop.
>>>> make: *** [fireperf:84: /usr/src/log/fireperf-0.2.0] Error 1
>>>> make: Leaving directory '/usr/src/lfs'
>>>>
>>>>
>>>> So I created a patch to add AM_GNU_GETTEXT_VERSION(0.25) into the configure.ac
>>>>
>>>> This then failed with the following log output:-
>>>>
>>>> autopoint: *** AM_GNU_GETTEXT without 'external' argument is no longer supported in version 0.25
>>>>
>>>> So I added AM_GNU_GETTEXT([external]) into configure.ac and tried again with log output
>>>>
>>>>
>>>> May 13 18:48:57: Building fireperf make: Entering directory '/home/ahb/sandbox/ipfire-2.x/lfs'
>>>> make: Nothing to be done for 'download'.
>>>> make: Leaving directory '/home/ahb/sandbox/ipfire-2.x/lfs'
>>>> make: Entering directory '/usr/src/lfs'
>>>> fireperf-0.2.0.tar.gz checksum OK
>>>> ====================================== Installing fireperf-0.2.0 ...
>>>> Install started; saving file list to /usr/src/lsalr ...
>>>> fireperf-0.2.0/
>>>> fireperf-0.2.0/.gitignore
>>>> fireperf-0.2.0/Makefile.am
>>>> fireperf-0.2.0/autogen.sh
>>>> fireperf-0.2.0/configure.ac
>>>> fireperf-0.2.0/debian/
>>>> fireperf-0.2.0/debian/build.sh
>>>> fireperf-0.2.0/debian/changelog
>>>> fireperf-0.2.0/debian/compat
>>>> fireperf-0.2.0/debian/control
>>>> fireperf-0.2.0/debian/copyright
>>>> fireperf-0.2.0/debian/rules
>>>> fireperf-0.2.0/m4/
>>>> fireperf-0.2.0/m4/.gitignore
>>>> fireperf-0.2.0/man/
>>>> fireperf-0.2.0/man/.gitignore
>>>> fireperf-0.2.0/man/asciidoc.conf
>>>> fireperf-0.2.0/man/fireperf.txt
>>>> fireperf-0.2.0/po/
>>>> fireperf-0.2.0/po/.gitignore
>>>> fireperf-0.2.0/po/POTFILES.in
>>>> fireperf-0.2.0/src/
>>>> fireperf-0.2.0/src/.gitignore
>>>> fireperf-0.2.0/src/client.c
>>>> fireperf-0.2.0/src/client.h
>>>> fireperf-0.2.0/src/logging.c
>>>> fireperf-0.2.0/src/logging.h
>>>> fireperf-0.2.0/src/main.c
>>>> fireperf-0.2.0/src/main.h
>>>> fireperf-0.2.0/src/random.c
>>>> fireperf-0.2.0/src/random.h
>>>> fireperf-0.2.0/src/server.c
>>>> fireperf-0.2.0/src/server.h
>>>> fireperf-0.2.0/src/util.c
>>>> fireperf-0.2.0/src/util.h
>>>> cd /usr/src/fireperf-0.2.0 && patch -Np1 -i /usr/src/src/patches/fireperf-0.2.0_add_gettext_version_to_configure.ac.patch
>>>> patching file configure.ac
>>>> cd /usr/src/fireperf-0.2.0 && autopoint
>>>> Copying file ABOUT-NLS
>>>> Creating directory build-aux
>>>> Copying file build-aux/config.rpath
>>>> Copying file m4/build-to-host.m4
>>>> Copying file m4/gettext.m4
>>>> Copying file m4/host-cpu-c-abi.m4
>>>> Copying file m4/iconv.m4
>>>> Copying file m4/intlmacosx.m4
>>>> Copying file m4/lib-ld.m4
>>>> Copying file m4/lib-link.m4
>>>> Copying file m4/lib-prefix.m4
>>>> Copying file m4/nls.m4
>>>> Copying file m4/po.m4
>>>> Copying file m4/progtest.m4
>>>> Copying file po/Makefile.in.in
>>>> Copying file po/Makevars.template
>>>> Copying file po/Rules-quot
>>>> Copying file po/boldquot.sed
>>>> Copying file po/en@boldquot.header
>>>> Copying file po/en@quot.header
>>>> Copying file po/insert-header.sed
>>>> Copying file po/quot.sed
>>>> Copying file po/remove-potcdate.sed
>>>> cd /usr/src/fireperf-0.2.0 && ./autogen.sh
>>>> autopoint: File po/Makefile.in.in has been locally modified.
>>>> autopoint: *** Some files have been locally modified. Not overwriting them because --force has not been specified. For your convenience, you find the local modifications in the file '/tmp/arhsZdgd/gtso2IqI/autopoint.diff'.
>>>> autopoint: *** Stop.
>>>> autoreconf: error: autopoint failed with exit status: 1
>>>> make: *** [fireperf:86: /usr/src/log/fireperf-0.2.0] Error 1
>>>> make: Leaving directory '/usr/src/lfs'
>>>>
>>>>
>>>> Run out of ideas of what, if anything, to change further or in place of what I have tried.
>>> Got it to build successfully.
>>> I realised that the message was about --force not being specified for autoreconf and not autopoint so I added --force into the autoreconf command in autogen.sh and fireperf then built successfully.
>>> Then the ddns package came along some build steps later and failed with the same message as fireperf.
>>> So I will look at taking the same action with that one as well and see how much further I get after that.
>>> Regards,
>>> Adolf.
>>>>
>>>> Regards,
>>>> Adolf.
>>>>
>>>>
>>>>> -Michael
>>>>>
>>>>>> On 13 May 2025, at 15:12, Adolf Belka <adolf.belka@ipfire.org> wrote:
>>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> I am running some package updates and one of those was gettext from 0.24 to 0.25
>>>>>>
>>>>>> gettext built without any problems but when the build got to fireperf it failed. Restoring gettext to the 0.24 version caused fireperf to build without any problems.
>>>>>>
>>>>>> The fireperf build log content was:-
>>>>>>
>>>>>> May 13 13:19:31: Building fireperf make: Entering directory '/home/build/sandbox/ipfire-2.x/lfs'
>>>>>> make: Nothing to be done for 'download'.
>>>>>> make: Leaving directory '/home/build/sandbox/ipfire-2.x/lfs'
>>>>>> make: Entering directory '/usr/src/lfs'
>>>>>> fireperf-0.2.0.tar.gz checksum OK
>>>>>> ====================================== Installing fireperf-0.2.0 ...
>>>>>> Install started; saving file list to /usr/src/lsalr ...
>>>>>> fireperf-0.2.0/
>>>>>> fireperf-0.2.0/.gitignore
>>>>>> fireperf-0.2.0/Makefile.am
>>>>>> fireperf-0.2.0/autogen.sh
>>>>>> fireperf-0.2.0/configure.ac
>>>>>> fireperf-0.2.0/debian/
>>>>>> fireperf-0.2.0/debian/build.sh
>>>>>> fireperf-0.2.0/debian/changelog
>>>>>> fireperf-0.2.0/debian/compat
>>>>>> fireperf-0.2.0/debian/control
>>>>>> fireperf-0.2.0/debian/copyright
>>>>>> fireperf-0.2.0/debian/rules
>>>>>> fireperf-0.2.0/m4/
>>>>>> fireperf-0.2.0/m4/.gitignore
>>>>>> fireperf-0.2.0/man/
>>>>>> fireperf-0.2.0/man/.gitignore
>>>>>> fireperf-0.2.0/man/asciidoc.conf
>>>>>> fireperf-0.2.0/man/fireperf.txt
>>>>>> fireperf-0.2.0/po/
>>>>>> fireperf-0.2.0/po/.gitignore
>>>>>> fireperf-0.2.0/po/POTFILES.in
>>>>>> fireperf-0.2.0/src/
>>>>>> fireperf-0.2.0/src/.gitignore
>>>>>> fireperf-0.2.0/src/client.c
>>>>>> fireperf-0.2.0/src/client.h
>>>>>> fireperf-0.2.0/src/logging.c
>>>>>> fireperf-0.2.0/src/logging.h
>>>>>> fireperf-0.2.0/src/main.c
>>>>>> fireperf-0.2.0/src/main.h
>>>>>> fireperf-0.2.0/src/random.c
>>>>>> fireperf-0.2.0/src/random.h
>>>>>> fireperf-0.2.0/src/server.c
>>>>>> fireperf-0.2.0/src/server.h
>>>>>> fireperf-0.2.0/src/util.c
>>>>>> fireperf-0.2.0/src/util.h
>>>>>> cd /usr/src/fireperf-0.2.0 && ./autogen.sh
>>>>>> libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
>>>>>> libtoolize: linking file 'build-aux/ltmain.sh'
>>>>>> libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
>>>>>> libtoolize: linking file 'm4/libtool.m4'
>>>>>> libtoolize: linking file 'm4/ltoptions.m4'
>>>>>> libtoolize: linking file 'm4/ltsugar.m4'
>>>>>> libtoolize: linking file 'm4/ltversion.m4'
>>>>>> libtoolize: linking file 'm4/lt~obsolete.m4'
>>>>>> You should update your 'aclocal.m4' by running aclocal.
>>>>>> intltoolize: 'po/Makefile.in.in' exists: use '--force' to overwrite
>>>>>> configure.ac:21: warning: The macro 'AC_PROG_CC_STDC' is obsolete.
>>>>>> configure.ac:21: You should run autoupdate.
>>>>>> ./lib/autoconf/c.m4:1669: AC_PROG_CC_STDC is expanded from...
>>>>>> configure.ac:21: the top level
>>>>>> configure.ac:32: warning: AM_NLS is m4_require'd but not m4_defun'd
>>>>>> m4/intltool.m4:27: IT_PROG_INTLTOOL is expanded from...
>>>>>> configure.ac:32: the top level
>>>>>> configure:13968: error: possibly undefined macro: AM_NLS
>>>>>> If this token and others are legitimate, please use m4_pattern_allow.
>>>>>> See the Autoconf documentation.
>>>>>> autoreconf: error: /usr/bin/autoconf failed with exit status: 1
>>>>>> make: *** [fireperf:84: /usr/src/log/fireperf-0.2.0] Error 1
>>>>>> make: Leaving directory '/usr/src/lfs'
>>>>>>
>>>>>>
>>>>>> I found the following in the 0.24.1 version changelog
>>>>>>
>>>>>> * Bug fixes:
>>>>>> - Fix bad interactions between autoreconf and autopoint.
>>>>>>
>>>>>> and the following bug in gettext "bug #67090: autotools issue with gettext-tools 0.24.1"
>>>>>>
>>>>>> with the conclusion
>>>>>>
>>>>>> I have now added a piece of documentation that clarifies how to obtain the autoconf macros, and that autoreconf is discouraged for this purpose:
>>>>>> https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=43f5ac51ddeb1b70a7b9647cb45cfeee67fd8c41
>>>>>>
>>>>>> fireperf is using autogen.sh to create the configure file and it runs autoreconf.
>>>>>>
>>>>>> It looks like with the latest gettext version autoreconf should be replaced with some other method but I have no idea what?
>>>>>>
>>>>>> Regards,
>>>>>> Adolf.
>>>>>>
>>>>>
>>>>>
>>>>
>>
>
>
next prev parent reply other threads:[~2025-05-14 15:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-13 14:12 Adolf Belka
2025-05-13 14:24 ` Michael Tremer
2025-05-13 18:57 ` Adolf Belka
2025-05-14 8:19 ` Adolf Belka
2025-05-14 9:57 ` Adolf Belka
2025-05-14 15:09 ` Michael Tremer
2025-05-14 15:47 ` Adolf Belka [this message]
2025-05-14 15:49 ` Michael Tremer
2025-05-14 17:09 ` Michael Tremer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=34614968-2199-45d7-a8fb-85452ab1da6b@ipfire.org \
--to=adolf.belka@ipfire.org \
--cc=development@lists.ipfire.org \
--cc=michael.tremer@ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox