From: Michael Tremer <michael.tremer@ipfire.org>
To: Adolf Belka <adolf.belka@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 18:09:55 +0100 [thread overview]
Message-ID: <D19C5421-1CE1-4ADC-917A-C8AC0F6AD69A@ipfire.org> (raw)
In-Reply-To: <A07913A3-B745-4CDC-8FC5-AA78C5DB617D@ipfire.org>
Done!
https://git.ipfire.org/?p=ddns.git;a=commitdiff;h=9078a34ac16fe2a9926c4690fb078c7331c96b0d
https://git.ipfire.org/?p=location/libloc.git;a=commitdiff;h=5eb68e1aafb70d02e351de4945023c017908e548
https://git.ipfire.org/?p=fireperf.git;a=commitdiff;h=12004f3a78584a267898abffece9f8f653e9e0da
I noticed that autoreconf calls autopoint automatically. It just needed the —force switch to actually update some files in the build system.
So this is all sorted and with the next update of any of these packages, we will drop the patches that were just merged into next.
Good job!
-Michael
> On 14 May 2025, at 16:49, Michael Tremer <michael.tremer@ipfire.org> wrote:
>
> Hello Adolf,
>
> There is not much to do except applying all those patches to the individual Git repositories.
>
> -Michael
>
>> On 14 May 2025, at 16:47, Adolf Belka <adolf.belka@ipfire.org> wrote:
>>
>> 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.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>
>>
>>
>
prev parent reply other threads:[~2025-05-14 17:10 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
2025-05-14 15:49 ` Michael Tremer
2025-05-14 17:09 ` Michael Tremer [this message]
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=D19C5421-1CE1-4ADC-917A-C8AC0F6AD69A@ipfire.org \
--to=michael.tremer@ipfire.org \
--cc=adolf.belka@ipfire.org \
--cc=development@lists.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