From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4ZyKbD3LHGz3375 for ; Wed, 14 May 2025 17:10:00 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4ZyKb86hG3z30Mg for ; Wed, 14 May 2025 17:09:56 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4ZyKb81vjyz1Tl; Wed, 14 May 2025 17:09:56 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1747242596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JGbBpnv+8YNU4o72LWA59SuX88vCzfOlInT6AtQuSEw=; b=CM3TboN3EFigFm8p2TUpn7OQUHRjB5P1yZ0/S+cfTUF1SOnwhdtnV+CTMV4PYssXaLnaGm QIQBfn/UZyvfzLAA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1747242596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JGbBpnv+8YNU4o72LWA59SuX88vCzfOlInT6AtQuSEw=; b=L3GST3VPz3inHZxyYqgm+SP5gJPHdFy95qPLewY3SfDmsuIZRD2RmrWtfyuALPt6LAKP6M io2tu4dpssg+1C80ReIgGMsn0CUyEekxjsI7yTsD4iXsR/yoZfghPEMa1qz0mv58uXo27l P8qejWIa43OY2hvx4JMFF/FPsAHL8YCRIbP0eFJxTw5mrgFRM7u2TTLeQ+Es/h/IMnPmQw niwTURqEHVtsqDCQgOU9dDTzeud0XX+YYUtL6M9/vvFEfk6Vfx7AdOMGA9GGRRvLVFuUna P1gXjVA7dK1c1KILoyyp8wXb7jpGmFvO45naZgPtk0BtWxAepwuiYfqVwBuweQ== Content-Type: text/plain; charset=utf-8 Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: Mime-Version: 1.0 Subject: Re: New version of gettext is causing fireperf to fail to build From: Michael Tremer In-Reply-To: Date: Wed, 14 May 2025 18:09:55 +0100 Cc: "IPFire: Development-List" Content-Transfer-Encoding: quoted-printable Message-Id: References: <1b4d9025-5b3c-4af0-8f75-b2b691e9e6f8@ipfire.org> <1F0419DA-4D6A-466F-A828-E300BBB28308@ipfire.org> <1e01ddc3-37cf-4d61-abc8-392a45f5bcb2@ipfire.org> <34614968-2199-45d7-a8fb-85452ab1da6b@ipfire.org> To: Adolf Belka Done! = https://git.ipfire.org/?p=3Dddns.git;a=3Dcommitdiff;h=3D9078a34ac16fe2a992= 6c4690fb078c7331c96b0d = https://git.ipfire.org/?p=3Dlocation/libloc.git;a=3Dcommitdiff;h=3D5eb68e1= aafb70d02e351de4945023c017908e548 = https://git.ipfire.org/?p=3Dfireperf.git;a=3Dcommitdiff;h=3D12004f3a78584a= 267898abffece9f8f653e9e0da I noticed that autoreconf calls autopoint automatically. It just needed = the =E2=80=94force 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 = wrote: >=20 > Hello Adolf, >=20 > There is not much to do except applying all those patches to the = individual Git repositories. >=20 > -Michael >=20 >> On 14 May 2025, at 16:47, Adolf Belka wrote: >>=20 >> Hi Michael, >>=20 >> On 14/05/2025 17:09, Michael Tremer wrote: >>> Thank you. >>> We should upstream the changes into the individual repositories. >>=20 >> I will look at doing that. >>=20 >> Regards, >> Adolf. >>=20 >>> I have merged your patches for now to get the build going again. >>> -Michael >>>> On 14 May 2025, at 10:57, Adolf Belka = wrote: >>>>=20 >>>> Hi Michael, >>>>=20 >>>>=20 >>>> Also had to do the same with libloc. >>>>=20 >>>> Everything else after that has built successfully. >>>>=20 >>>> Will do a full clean build now and then submit patches for the = changes. >>>>=20 >>>> Regards, >>>> Adolf. >>>>=20 >>>> On 14/05/2025 10:19, Adolf Belka wrote: >>>>> Hi Michael, >>>>> Success!! >>>>> On 13/05/2025 20:57, Adolf Belka wrote: >>>>>> Hi Michael, >>>>>>=20 >>>>>> On 13/05/2025 16:24, Michael Tremer wrote: >>>>>>> Hello Adolf, >>>>>>>=20 >>>>>>> Yay, a breaking change in Gettext. This might hurt us a lot = then=E2=80=A6 >>>>>>>=20 >>>>>>> The =E2=80=9Cautogen.sh=E2=80=9D script is just a script that I = wrote which takes care of setting up autoconf/automake and intltool. >>>>>>>=20 >>>>>>> What happens when you add autopoint to that script? Or run = autopoint before running the script? >>>>>>=20 >>>>>> I added autopoint into the LFS just before the autogen.sh line. >>>>>>=20 >>>>>> It failed to build with the following log output:- >>>>>>=20 >>>>>>=20 >>>>>> 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 >>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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' >>>>>>=20 >>>>>>=20 >>>>>> So I created a patch to add AM_GNU_GETTEXT_VERSION(0.25) into the = configure.ac >>>>>>=20 >>>>>> This then failed with the following log output:- >>>>>>=20 >>>>>> autopoint: *** AM_GNU_GETTEXT without 'external' argument is no = longer supported in version 0.25 >>>>>>=20 >>>>>> So I added AM_GNU_GETTEXT([external]) into configure.ac and tried = again with log output >>>>>>=20 >>>>>>=20 >>>>>> 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 >>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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.pa= tch >>>>>> 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' >>>>>>=20 >>>>>>=20 >>>>>> 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. >>>>>>=20 >>>>>> Regards, >>>>>> Adolf. >>>>>>=20 >>>>>>=20 >>>>>>> -Michael >>>>>>>=20 >>>>>>>> On 13 May 2025, at 15:12, Adolf Belka = wrote: >>>>>>>>=20 >>>>>>>> Hi All, >>>>>>>>=20 >>>>>>>> I am running some package updates and one of those was gettext = from 0.24 to 0.25 >>>>>>>>=20 >>>>>>>> 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. >>>>>>>>=20 >>>>>>>> The fireperf build log content was:- >>>>>>>>=20 >>>>>>>> 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 >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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' >>>>>>>>=20 >>>>>>>>=20 >>>>>>>> I found the following in the 0.24.1 version changelog >>>>>>>>=20 >>>>>>>> * Bug fixes: >>>>>>>> - Fix bad interactions between autoreconf and autopoint. >>>>>>>>=20 >>>>>>>> and the following bug in gettext "bug #67090: autotools issue = with gettext-tools 0.24.1" >>>>>>>>=20 >>>>>>>> with the conclusion >>>>>>>>=20 >>>>>>>> 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=3Dgettext.git;a=3Dcommitdiff;h=3D43= f5ac51ddeb1b70a7b9647cb45cfeee67fd8c41 >>>>>>>>=20 >>>>>>>> fireperf is using autogen.sh to create the configure file and = it runs autoreconf. >>>>>>>>=20 >>>>>>>> It looks like with the latest gettext version autoreconf should = be replaced with some other method but I have no idea what? >>>>>>>>=20 >>>>>>>> Regards, >>>>>>>> Adolf. >>>>>>>>=20 >>>>>>>=20 >>>>>>>=20 >>>>>>=20 >>>>=20 >>=20 >>=20 >=20