Bug 4856 - Build fails with gettext 0.24
Summary: Build fails with gettext 0.24
Status: REOPENED
Alias: None
Product: Claws Mail
Classification: Unclassified
Component: Other (show other bugs)
Version: GIT
Hardware: PC Linux
: P3 normal
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2025-03-28 23:43 UTC by linux.felixbecker2
Modified: 2025-04-22 11:05 UTC (History)
2 users (show)

See Also:


Attachments
po/Makefile (16.37 KB, text/plain)
2025-03-29 22:24 UTC, linux.felixbecker2
Details
po/Makefile.in (16.37 KB, text/plain)
2025-03-29 22:25 UTC, linux.felixbecker2
Details
po/Makefile.in.in (16.24 KB, text/plain)
2025-03-29 22:25 UTC, linux.felixbecker2
Details
po/Makevars (2.47 KB, text/plain)
2025-03-29 22:25 UTC, linux.felixbecker2
Details
Diff of `po/` directory after `./autogen.sh` and `./configure` with gettext 0.23 and gettext 0.24. (13.40 KB, text/plain)
2025-03-30 15:56 UTC, linux.felixbecker2
Details
Patch adding `autopoint` run to `autogen.sh`. (306 bytes, patch)
2025-03-30 15:58 UTC, linux.felixbecker2
Details | Diff
`po/Makefile.in.in` after a fresh `git clone git://git.claws-mail.org/claws.git` (git commit hash: d15484088). (16.24 KB, text/plain)
2025-03-30 16:18 UTC, linux.felixbecker2
Details
Re-generated `po/Makefile.in.in` after applying the changes mentioned in https://www.claws-mail.org/bugzilla/show_bug.cgi?id=4856#c18 and then running `./autogen.sh`. (15.78 KB, text/plain)
2025-03-30 16:27 UTC, linux.felixbecker2
Details
`diff` of the original `po/Makefile.in.in` from claws mail git repository and of the re-generated `po/Makefile.in.in` after applying the changes mentioned in Comment 18. (deleted)
2025-03-30 16:42 UTC, linux.felixbecker2
Details

Description linux.felixbecker2 2025-03-28 23:43:30 UTC
Build of claws mail, git checkout, currently fails in `po/` with `make[2]: *** No rule to make target '/config.status', needed by 'Makefile'.  Stop.`:

```

Configure finished, type 'make' to build.
make  all-recursive
make[1]: Entering directory '/var/cache/makepkg/build/claws-mail-git/src/claws-mail'
Making all in po
make[2]: Entering directory '/var/cache/makepkg/build/claws-mail-git/src/claws-mail/po'
make[2]: *** No rule to make target '/config.status', needed by 'Makefile'.  Stop.
make[2]: Leaving directory '/var/cache/makepkg/build/claws-mail-git/src/claws-mail/po'
make[1]: *** [Makefile:803: all-recursive] Error 1
make[1]: Leaving directory '/var/cache/makepkg/build/claws-mail-git/src/claws-mail'
make: *** [Makefile:577: all] Error 2
```

Built using claws mail git checkout from git://git.claws-mail.org/claws.git, master branch, latest commit from 2025-03-27, commit hash 1324da453 (but the issue already existed longer), on Artix GNU/ Linux (rolling release).

libtoolize version: GNU libtool 2.5.4.1-baa1-dirty
make version: GNU Make, 4.4.1
GCC version: 14.2.1

Build with

```
./configure --prefix=/usr --disable-static \
    --enable-enchant \
    --enable-gnutls \
    --enable-ldap \
    --enable-crash-dialog \
    --enable-pgpmime-plugin \
    --enable-spamassassin-plugin \
    --enable-bogofilter-plugin \
    --enable-fancy-plugin \
    --enable-manual
make
```

Terminal output of the `./autogen.sh` and `./configure` calls:

```
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'.
libtoolize: copying file 'config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, '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'
configure.ac:86: installing 'config/compile'
configure.ac:12: installing 'config/config.guess'
configure.ac:12: installing 'config/config.sub'
configure.ac:13: installing 'config/install-sh'
configure.ac:13: installing 'config/missing'
src/Makefile.am: installing 'config/depcomp'
configure.ac: installing 'config/ylwrap'
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking for gtk-update-icon-cache... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for gcc... (cached) gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to enable C11 features... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for library containing strerror... none required
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for flex... flex
checking for lex output file root... lex.yy
checking for lex library... none needed
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking 32-bit host C ABI... no
checking for egrep -e... /usr/bin/grep -E
checking for ELF binary format... yes
checking for the common suffixes of directories in the library search path... lib,lib,lib64
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for file... file
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ranlib... ranlib
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for windres... no
checking for gawk... (cached) gawk
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for g++... /usr/bin/g++
checking for gcc option to enable large file support... none needed
checking for host platform... x86_64-pc-linux-gnu
checking for native Win32... no
checking for Cygwin... no
checking for time_t format specifier... ld
checking if gcc supports -Wno-pointer-sign... yes
checking for ld... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking for iconv... yes
checking for working iconv... yes
checking whether iconv is compatible with its POSIX signature... yes
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
configure: setting ALL_LINGUAS in configure.in is obsolete
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyPreferredLanguages... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for docbook2html... /usr/bin/docbook2html
checking for docbook2txt... /usr/bin/docbook2txt
checking for docbook2ps... /usr/bin/docbook2ps
checking for docbook2pdf... /usr/bin/docbook2pdf
checking for setlocale in -lxpg4... no
checking whether to use LibSM... yes
checking for SmcSaveYourselfDone in -lSM... yes
checking for X11/SM/SMlib.h... yes
checking for __VA_OPT__... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for fcntl.h... yes
checking for sys/file.h... yes
checking for unistd.h... (cached) yes
checking for paths.h... yes
checking for sys/param.h... yes
checking for sys/utsname.h... yes
checking for sys/select.h... yes
checking for wchar.h... (cached) yes
checking for wctype.h... yes
checking for locale.h... yes
checking for netdb.h... yes
checking for execinfo.h... yes
checking for library containing backtrace_symbols... none required
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking size of unsigned short... 2
checking size of unsigned int... 4
checking size of unsigned long... 8
checking for working alloca.h... yes
checking for alloca... yes
checking for fchmod... yes
checking for fgets_unlocked... yes
checking for flock... yes
checking for lockf... yes
checking for strcasestr... yes
checking for glib-2.0 >= 2.50 gmodule-2.0 >= 2.50 gobject-2.0 >= 2.50 gthread-2.0 >= 2.50... yes
checking for gdk-pixbuf-2.0 >= 2.26... yes
checking whether to use IPv6... yes
checking for IPv6 support... yes
checking whether to use GnuTLS... yes
checking for gnutls >= 2.2... yes
Building with GnuTLS
checking for gnutls >= 2.11... yes
checking for nettle... yes
checking whether GnuTLS support is present for OAuth2... yes
checking whether to build OAuth2 support... yes
checking for gtk+-3.0 >= 3.20 cairo... yes
checking whether to use deprecated GTK functions... yes
checking whether to use enchant... yes
checking for enchant >= 1.4.0... no
checking for enchant-2 >= 2.0.0... yes
Building with enchant-2
checking for gdb... yes
checking whether to use crash dialog... yes
checking whether to use compface... yes
checking for uncompface in -lcompface... yes
checking whether to use pthread... yes
checking for pthread_create in -lpthread... yes
checking for pthread.h... yes
checking for res_query in -lresolv... yes
checking for libstartup-notification-1.0 >= 0.5... yes
Building with libstartup-notification
checking for dbus-1 >= 0.60, dbus-glib-1 >= 0.60... yes
checking whether DBUS support for alternate address book is present... yes
checking whether to enable alternate address book... no
checking whether to use LDAP... yes
checking for res_query in -lresolv... (cached) yes
checking for bind in -lsocket... no
checking for gethostbyaddr in -lnsl... yes
checking for ber_get_tag in -llber... yes
checking for ldap.h... yes
checking for lber.h... yes
checking for ldap_open in -lldap... yes
checking for ldap_start_tls_s in -lldap... yes
checking whether ldap library is available... yes
checking whether TLS library is available... yes
checking The API version of OpenLDAP... version >= 3000
checking whether to use JPilot... yes
checking for pi-args.h... no
checking for pi-appinfo.h... no
checking for pi-address.h... no
checking for pi-version.h... no
checking for libpisock/pi-args.h... no
checking for libpisock/pi-appinfo.h... no
checking for libpisock/pi-address.h... no
checking for libpisock/pi-version.h... no
checking for unpack_Address in -lpisock... no
configure: JPilot support not available
checking for libnm... yes
Building with NetworkManager support
checking whether to use libetpan... yes
checking for libetpan >= 1.9.4... yes
checking for libetpan/libetpan.h... yes
checking whether libetpan-config hints compiles and links fine... yes
checking whether to use librsvg... yes
checking for librsvg-2.0 >= 2.39.0 cairo >= 1.0.0... yes
checking whether to use valgrind... yes
checking for valgrind >= 2.4.0... yes
checking whether to build unit tests... no
checking whether to build addressbook with more debug calls... no
checking whether to build LDAP with more debug calls... no
checking whether to build archive plugin with more debug calls... no
checking whether to build with timing debug calls... no
checking for libcurl... yes
checking for expat... yes
checking for webkit2gtk-4.1... yes
checking for libarchive... yes
checking for archive_read_new in -larchive... yes
checking for cairo >= 1.12.0... yes
checking for fontconfig... yes
checking for gumbo >= 0.12... yes
checking for libical >= 2.0... yes
checking for poppler-glib >= 0.12.0... yes
checking for gcc options needed to detect all undeclared functions... none needed
checking whether POPPLER_DEST_NAMED is declared... yes
checking whether POPPLER_DEST_XYZ is declared... yes
checking for perl... yes
checking for perl >= 5.8.0... yes
checking for perl module ExtUtils::Embed... ok
checking for Perl compile flags... ok
configure: Adding perl LIBS -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/include/db5.3 -D_LARGEFILE_SOURCE  -I/usr/lib/perl5/5.40/core_perl/CORE
checking for perl_alloc in -lperl... no
checking for libperl.so... yes
checking for gpgme >= 1.1.1... yes
checking for gpg-error... yes
checking for python3... yes
checking for python3-embed... yes
checking for pygobject-3.0... yes
checking for libnotify >= 0.4.3... yes
checking for libcanberra-gtk3... yes
checking for unity messaging-menu... no
checking for ayatana-appindicator3-0.1... yes
checking for gio-2.0 >= 2.15.6 gio-unix-2.0 >= 2.15.6... yes
checking for ytnef.h... yes
checking how libytnef's SwapDDWord() should be called... ok
checking whether to build acpi_notifier plugin... yes
checking whether to build address_keeper plugin... yes
checking whether to build archive plugin... yes
checking whether to build att_remover plugin... yes
checking whether to build attachwarner plugin... yes
checking whether to build bogofilter plugin... yes
checking whether to build bsfilter plugin... yes
checking whether to build clamd plugin... yes
checking whether to build demo plugin... no
checking whether to build Dillo plugin... yes
checking whether to build fancy plugin... yes
checking whether to build fetchinfo plugin... yes
checking whether to build keyword_warner plugin... yes
checking whether to build libravatar plugin... yes
checking whether to build litehtml_viewer plugin... yes
checking whether to build mailmbox plugin... yes
checking whether to build managesieve plugin... yes
checking whether to build newmail plugin... yes
checking whether to build notification plugin... yes
checking whether to build pdf_viewer plugin... yes
checking whether to build perl plugin... yes
checking whether to build python plugin... yes
checking whether to build pgpcore plugin... yes
checking whether to build pgpmime plugin... yes
checking whether to build pgpinline plugin... yes
checking whether to build rssyl plugin... yes
checking whether to build spamassassin plugin... yes
checking for sys/time.h... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking for errno.h... yes
checking for sys/errno.h... yes
checking for time.h... yes
checking for sysexits.h... yes
checking for sys/socket.h... yes
checking for netdb.h... (cached) yes
checking for netinet/in.h... yes
checking for SHUT_RD... yes
checking for socket... yes
checking for strdup... yes
checking for strtod... yes
checking for strtol... yes
checking for snprintf... yes
checking for shutdown... yes
checking for h_errno... yes
checking for in_addr_t... yes
checking for INADDR_NONE... yes
checking for EX__MAX... yes
checking for zlib.h... yes
checking for deflate in -lz... yes
checking whether to build spamassassin plugin with zlib support... yes
checking whether to build smime plugin... yes
checking whether to build spam_report plugin... yes
checking whether to build tnef_parse plugin... yes
checking whether to build vcalendar plugin... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating src/common/version.h
config.status: creating src/Makefile
config.status: creating src/w32-resource.rc
config.status: creating src/common/Makefile
config.status: creating src/common/passcrypt.h
config.status: creating src/common/tests/Makefile
config.status: creating src/gtk/Makefile
config.status: creating src/etpan/Makefile
config.status: creating src/plugins/Makefile
config.status: creating src/plugins/acpi_notifier/Makefile
config.status: creating src/plugins/address_keeper/Makefile
config.status: creating src/plugins/address_keeper/version.rc
config.status: creating src/plugins/archive/Makefile
config.status: creating src/plugins/att_remover/Makefile
config.status: creating src/plugins/att_remover/version.rc
config.status: creating src/plugins/attachwarner/Makefile
config.status: creating src/plugins/attachwarner/version.rc
config.status: creating src/plugins/bogofilter/Makefile
config.status: creating src/plugins/bsfilter/Makefile
config.status: creating src/plugins/bsfilter/version.rc
config.status: creating src/plugins/clamd/Makefile
config.status: creating src/plugins/clamd/libclamd/Makefile
config.status: creating src/plugins/demo/Makefile
config.status: creating src/plugins/dillo/Makefile
config.status: creating src/plugins/fancy/Makefile
config.status: creating src/plugins/fancy/version.rc
config.status: creating src/plugins/fetchinfo/Makefile
config.status: creating src/plugins/fetchinfo/version.rc
config.status: creating src/plugins/keyword_warner/Makefile
config.status: creating src/plugins/keyword_warner/version.rc
config.status: creating src/plugins/litehtml_viewer/Makefile
config.status: creating src/plugins/litehtml_viewer/version.rc
config.status: creating src/plugins/litehtml_viewer/litehtml/Makefile
config.status: creating src/plugins/libravatar/Makefile
config.status: creating src/plugins/libravatar/version.rc
config.status: creating src/plugins/mailmbox/Makefile
config.status: creating src/plugins/mailmbox/version.rc
config.status: creating src/plugins/managesieve/Makefile
config.status: creating src/plugins/managesieve/version.rc
config.status: creating src/plugins/newmail/Makefile
config.status: creating src/plugins/notification/Makefile
config.status: creating src/plugins/notification/version.rc
config.status: creating src/plugins/notification/gtkhotkey/Makefile
config.status: creating src/plugins/pdf_viewer/Makefile
config.status: creating src/plugins/pdf_viewer/version.rc
config.status: creating src/plugins/perl/Makefile
config.status: creating src/plugins/perl/tools/Makefile
config.status: creating src/plugins/python/Makefile
config.status: creating src/plugins/python/examples/Makefile
config.status: creating src/plugins/pgpcore/Makefile
config.status: creating src/plugins/pgpcore/version.rc
config.status: creating src/plugins/pgpmime/Makefile
config.status: creating src/plugins/pgpmime/version.rc
config.status: creating src/plugins/pgpinline/Makefile
config.status: creating src/plugins/pgpinline/version.rc
config.status: creating src/plugins/rssyl/Makefile
config.status: creating src/plugins/rssyl/version.rc
config.status: creating src/plugins/rssyl/tests/Makefile
config.status: creating src/plugins/rssyl/libfeed/Makefile
config.status: creating src/plugins/rssyl/libfeed/tests/Makefile
config.status: creating src/plugins/smime/Makefile
config.status: creating src/plugins/smime/version.rc
config.status: creating src/plugins/spamassassin/Makefile
config.status: creating src/plugins/spam_report/Makefile
config.status: creating src/plugins/spam_report/version.rc
config.status: creating src/plugins/tnef_parse/Makefile
config.status: creating src/plugins/tnef_parse/version.rc
config.status: creating src/plugins/vcalendar/Makefile
config.status: creating src/plugins/vcalendar/version.rc
config.status: creating src/tests/Makefile
config.status: creating doc/Makefile
config.status: creating doc/man/Makefile
config.status: creating tools/Makefile
config.status: creating config/Makefile
config.status: creating manual/Makefile
config.status: creating claws-mail.pc
config.status: creating config.h
config.status: creating claws-features.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/Makefile

claws-mail 4.3.1git77

Using Address Book   : Original stable interface
JPilot               : no
LDAP                 : yes
gnuTLS               : yes
OAuth2               : yes
iconv                : yes
compface             : yes
IPv6                 : yes
enchant              : yes
IMAP4 (libetpan)     : yes
NNTP (libetpan)      : yes
Crash dialog         : yes
LibSM                : yes
DBUS                 : yes
NetworkManager       : yes
Manual               : yes
Generic UMPC code    : no
SVG support          : yes
Password crypto      : gnutls
Unit tests           : no
pthread              : yes
Startup notification : yes
Valgrind support     : yes
Plugins
   Built:
            - acpi_notifier
            - address_keeper
            - archive
            - att_remover
            - attachwarner
            - bogofilter
            - bsfilter
            - clamd
            - dillo
            - fancy
            - fetchinfo
            - keyword_warner
            - libravatar
            - litehtml_viewer
            - mailmbox
            - managesieve
            - newmail
            - notification
                Features:
                    banner
                    command
                    hotkeys
                    lcdproc
                    libayatana-appindicator3
                    libnotify
                    libcanberra-gtk3
                    popup
                    trayicon
                Disabled due to missing dependencies:
                    unity/messaging-menu
            - pdf_viewer
            - perl
            - python
            - pgpcore
            - pgpmime
            - pgpinline
            - rssyl
            - spamassassin
            - smime
            - spam_report
            - tnef_parse
            - vcalendar
   Disabled:
            - demo

The binary will be installed in /usr/bin

Configuration directory: .claws-mail

Configure finished, type 'make' to build.
```

Regards!
Comment 1 Michael Rasmussen 2025-03-29 01:29:08 UTC
Try running ./autogen.sh before you build again. There have been lots of changes in the po folder so a complete regeneration of the build files is required.
Comment 2 linux.felixbecker2 2025-03-29 13:14:29 UTC
(In reply to Michael Rasmussen from comment #1)
> Try running ./autogen.sh before you build again. There have been lots of
> changes in the po folder so a complete regeneration of the build files is
> required.

Each time I start with a clean checkout and run `NOCONFIGURE=1 ./autogen.sh`.

I now also tried

* running `./autogen.sh` (without `NOCONFIGURE=1`) before and after `./configure` (and also only one of both) -- error persists.

So this is not a solution.
Comment 3 Paul 2025-03-29 13:49:02 UTC
presumably autoconf is not creating config.status in your build dir after running ./configure. Is that right? What does config.log say about config.status?
Comment 4 linux.felixbecker2 2025-03-29 18:46:03 UTC
(In reply to Paul from comment #3)
> presumably autoconf is not creating config.status in your build dir after
> running ./configure. Is that right? What does config.log say about
> config.status?

`config.status` is generated. But the `Makefile` in `po/` seems to look for `/config.status` (i.e., in the root directory `/`).

`config.log` says about `config.status`:  
```
[...]
configure:33282: checking that generated files are newer than configure
configure:33288: result: done
configure:33525: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by claws-mail config.status 4.3.1-77-g1324da, which was
generated by GNU Autoconf 2.72.  Invocation command line was

  CONFIG_FILES    = 
  CONFIG_HEADERS  = 
  CONFIG_LINKS    = 
  CONFIG_COMMANDS = 
  $ ./config.status 

on <censored>-winmax2

config.status:1649: creating Makefile
config.status:1649: creating po/Makefile.in
config.status:1649: creating src/common/version.h
config.status:1649: creating src/Makefile
[...]
config.status:1878: executing libtool commands
config.status:1878: executing po-directories commands

## ---------------- ##
## Cache variables. ##
## ---------------- ##
[...]
```

`po/Makefile` contains:  
```
[...]
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
        cd $(top_builddir) \
          && /bin/sh ./config.status $(subdir)/$@.in po-directories
[...]
```

So it seems that `top_builddir` environment variable is not properly passed to `po/Makefile` (?).
Comment 5 Paul 2025-03-29 19:27:43 UTC
top_builddir is defined in po/Makevars as ..
Comment 6 Paul 2025-03-29 19:58:54 UTC
I still suspect a local problem. This can stay open until someone can verify a sucessful build using libtool 2.5.4. Possibly your problem is due to your rolling release artix linux.
Comment 7 linux.felixbecker2 2025-03-29 22:23:40 UTC
I have attached my `po/Makefile`, `po/Makefile.in`, `po/Makefile.in.in` and ``po/Makevars`.  
Can you check if this is correct/ can you attach yours?

`po/Makefile` contains:  
```
[...]
DISTFILES.common = Makefile.in.in remove-potcdate.sin \
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
$(POFILES) $(GMOFILES) \
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)

POTFILES = \

CATALOGS = @CATALOGS@

# Makevars gets inserted here. (Don't remove this line!)

.SUFFIXES:
.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update

.po.mo:
        @echo "$(MSGFMT) -c -o $@ $<"; \
        $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
[...]
```

Regards!
Comment 8 linux.felixbecker2 2025-03-29 22:24:31 UTC
Created attachment 2534 [details]
po/Makefile
Comment 9 linux.felixbecker2 2025-03-29 22:25:01 UTC
Created attachment 2535 [details]
po/Makefile.in
Comment 10 linux.felixbecker2 2025-03-29 22:25:20 UTC
Created attachment 2536 [details]
po/Makefile.in.in
Comment 11 linux.felixbecker2 2025-03-29 22:25:40 UTC
Created attachment 2537 [details]
po/Makevars
Comment 12 Paul 2025-03-30 07:09:32 UTC
Despite what was said in comment#1, there have not been any structural changes in the po/ directory.

The main differences indicated by your generated files (Makefile and Makefile.in) and mine are that you are using gettext 0.24 and I'm using gettext 0.20, but more significantly, your Makefile shows that the following values are not expanded, and here is the problem:

POFILES = @POFILES@
GMOFILES = @GMOFILES@
UPDATEPOFILES = @UPDATEPOFILES@
DUMMYPOFILES = @DUMMYPOFILES@
CATALOGS = @CATALOGS@
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@

and the POTFILES = \ section doesn't contain the list of files with translatable strings,
and the whole section from "# Makevars gets inserted here. (Don't remove this line!)" to ".SUFFIXES:" is missing, as if Makevars is completely ignored.
Comment 13 Paul 2025-03-30 07:28:09 UTC
A look over gettext's release notes doesn't suggest any incompatible changes: https://savannah.gnu.org/news/?group_id=425
Comment 14 linux.felixbecker2 2025-03-30 07:29:38 UTC
Can you attach your generated working `po/Makefile`, too, so that I can do further comparing and testing locally?

I do not really know the language of the tools involved, so I am happy to have an example that is supposed to fully work, to start from there.
Comment 15 Paul 2025-03-30 07:41:40 UTC
[...]
POFILES =  ca.po cs.po da.po de.po el_GR.po en_GB.po es.po fi.po fr.po hu.po id_ID.po it.po ja.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru.po sk.po sq.po sv.po tr.po zh_TW.po
GMOFILES =  ca.gmo cs.gmo da.gmo de.gmo el_GR.gmo en_GB.gmo es.gmo fi.gmo fr.gmo hu.gmo id_ID.gmo it.gmo ja.gmo nb.gmo nl.gmo pl.gmo pt_BR.gmo pt_PT.gmo ro.gmo ru.gmo sk.gmo sq.gmo sv.gmo tr.gmo zh_TW.gmo
UPDATEPOFILES =  ca.po-update cs.po-update da.po-update de.po-update el_GR.po-update en_GB.po-update es.po-update fi.po-update fr.po-update hu.po-update id_ID.po-update it.po-update ja.po-update nb.po-update nl.po-update pl.po-update pt_BR.po-update pt_PT.po-update ro.po-update ru.po-update sk.po-update sq.po-update sv.po-update tr.po-update zh_TW.po-update
DUMMYPOFILES =  ca.nop cs.nop da.nop de.nop el_GR.nop en_GB.nop es.nop fi.nop fr.nop hu.nop id_ID.nop it.nop ja.nop nb.nop nl.nop pl.nop pt_BR.nop pt_PT.nop ro.nop ru.nop sk.nop sq.nop sv.nop tr.nop zh_TW.nop
[...]

POTFILES = \
     ../src/account.c \
     ../src/action.c \
     ../src/addrclip.c \
     ../src/addr_compl.c \
     ../src/addrcustomattr.c \
     ../src/addrduplicates.c \
     ../src/addressadd.c \
     ../src/addressbook.c \
     ../src/addressbook_foldersel.c \
     ../src/addrgather.c \
     ../src/addrindex.c \
     ../src/alertpanel.c \
     ../src/avatars.c \
     ../src/browseldap.c \
     ../src/common/md5.c \
     ../src/common/plugin.c \
     ../src/common/session.c \
     ../src/common/smtp.c \
     ../src/common/socket.c \
     ../src/common/proxy.c \
     ../src/common/ssl.c \
     ../src/common/ssl_certificate.c \
     ../src/common/string_match.c \
     ../src/common/utils.c \
     ../src/compose.c \
     ../src/crash.c \
     ../src/editaddress.c \
     ../src/editaddress_other_attributes_ldap.c \
     ../src/editbook.c \
     ../src/editgroup.c \
     ../src/editjpilot.c \
     ../src/editldap_basedn.c \
     ../src/editldap.c \
     ../src/edittags.c \
     ../src/editvcard.c \
     ../src/etpan/etpan-ssl.c \
     ../src/etpan/imap-thread.c \
     ../src/etpan/nntp-thread.c \
     ../src/exphtmldlg.c \
     ../src/expldifdlg.c \
     ../src/export.c \
     ../src/exporthtml.c \
     ../src/exportldif.c \
     ../src/file_checker.c \
     ../src/filtering.c \
     ../src/folder.c \
     ../src/foldersel.c \
     ../src/folderview.c \
     ../src/grouplistdialog.c \
     ../src/gtk/about.c \
     ../src/gtk/colorlabel.c \
     ../src/gtk/foldersort.c \
     ../src/gtk/gtkaspell.c \
     ../src/gtk/gtkutils.c \
     ../src/gtk/headers.h \
     ../src/gtk/icon_legend.c \
     ../src/gtk/inputdialog.c \
     ../src/gtk/logwindow.c \
     ../src/gtk/menu.c \
     ../src/gtk/pluginwindow.c \
     ../src/gtk/prefswindow.c \
     ../src/gtk/progressdialog.c \
     ../src/gtk/quicksearch.c \
     ../src/gtk/sslcertwindow.c \
     ../src/headerview.c \
     ../src/image_viewer.c \
     ../src/imap.c \
     ../src/imap_gtk.c \
     ../src/import.c \
     ../src/importldif.c \
     ../src/importmutt.c \
     ../src/importpine.c \
     ../src/inc.c \
     ../src/ldapupdate.c \
     ../src/ldaputil.c \
     ../src/ldif.c \
     ../src/main.c \
     ../src/mainwindow.c \
     ../src/matcher.c \
     ../src/mbox.c \
     ../src/message_search.c \
     ../src/messageview.c \
     ../src/mh.c \
     ../src/mh_gtk.c \
     ../src/mimeview.c \
     ../src/news.c \
     ../src/news_gtk.c \
     ../src/oauth2.c \
     ../src/password.c \
     ../src/password_gtk.c \
     ../src/plugins/acpi_notifier/acpi_notifier.c \
     ../src/plugins/address_keeper/address_keeper.c \
     ../src/plugins/address_keeper/address_keeper.h \
     ../src/plugins/address_keeper/address_keeper_prefs.c \
     ../src/plugins/archive/archiver.c \
     ../src/plugins/archive/archiver_gtk.c \
     ../src/plugins/archive/archiver_prefs.c \
     ../src/plugins/att_remover/att_remover.c \
     ../src/plugins/attachwarner/attachwarner.c \
     ../src/plugins/attachwarner/attachwarner_prefs.c \
     ../src/plugins/bogofilter/bogofilter.c \
     ../src/plugins/bogofilter/bogofilter_gtk.c \
     ../src/plugins/bsfilter/bsfilter.c \
     ../src/plugins/bsfilter/bsfilter_gtk.c \
     ../src/plugins/clamd/clamav_plugin.c \
     ../src/plugins/clamd/clamav_plugin_gtk.c \
     ../src/plugins/clamd/libclamd/clamd-plugin.c \
     ../src/plugins/demo/demo.c \
     ../src/plugins/fancy/fancy_prefs.c \
     ../src/plugins/fancy/fancy_viewer.c \
     ../src/plugins/fetchinfo/fetchinfo_plugin.c \
     ../src/plugins/fetchinfo/fetchinfo_plugin_gtk.c \
     ../src/plugins/keyword_warner/keyword_warner.c \
     ../src/plugins/keyword_warner/keyword_warner_prefs.c \
     ../src/plugins/libravatar/libravatar.c \
     ../src/plugins/libravatar/libravatar_prefs.c \
     ../src/plugins/litehtml_viewer/lh_prefs.c \
     ../src/plugins/litehtml_viewer/lh_widget.cpp \
     ../src/plugins/litehtml_viewer/plugin.c \
     ../src/plugins/mailmbox/mailmbox_folder.c \
     ../src/plugins/mailmbox/plugin.c \
     ../src/plugins/mailmbox/plugin_gtk.c \
     ../src/plugins/managesieve/managesieve.c \
     ../src/plugins/managesieve/sieve_editor.c \
     ../src/plugins/managesieve/sieve_manager.c \
     ../src/plugins/managesieve/sieve_plugin.c \
     ../src/plugins/managesieve/sieve_prefs.c \
     ../src/plugins/newmail/newmail.c \
     ../src/plugins/notification/notification_ayatana_indicator.c \
     ../src/plugins/notification/notification_banner.c \
     ../src/plugins/notification/notification_foldercheck.c \
     ../src/plugins/notification/notification_lcdproc.c \
     ../src/plugins/notification/notification_plugin.c \
     ../src/plugins/notification/notification_popup.c \
     ../src/plugins/notification/notification_prefs.c \
     ../src/plugins/notification/notification_trayicon.c \
     ../src/plugins/pdf_viewer/poppler_viewer.c \
     ../src/plugins/perl/perl_gtk.c \
     ../src/plugins/perl/perl_plugin.c \
     ../src/plugins/pgpcore/autocompletion.c \
     ../src/plugins/pgpcore/passphrase.c \
     ../src/plugins/pgpcore/pgp_viewer.c \
     ../src/plugins/pgpcore/plugin.c \
     ../src/plugins/pgpcore/prefs_gpg.c \
     ../src/plugins/pgpcore/select-keys.c \
     ../src/plugins/pgpcore/sgpgme.c \
     ../src/plugins/pgpinline/pgpinline.c \
     ../src/plugins/pgpinline/plugin.c \
     ../src/plugins/pgpmime/pgpmime.c \
     ../src/plugins/pgpmime/plugin.c \
     ../src/plugins/python/composewindowtype.c \
     ../src/plugins/python/python_plugin.c \
     ../src/plugins/rssyl/old_feeds.c \
     ../src/plugins/rssyl/opml_export.c \
     ../src/plugins/rssyl/opml_import.c \
     ../src/plugins/rssyl/plugin.c \
     ../src/plugins/rssyl/rssyl_add_item.c \
     ../src/plugins/rssyl/rssyl.c \
     ../src/plugins/rssyl/rssyl_cb_menu.c \
     ../src/plugins/rssyl/rssyl_feed.c \
     ../src/plugins/rssyl/rssyl_feed.h \
     ../src/plugins/rssyl/rssyl_feed_props.c \
     ../src/plugins/rssyl/rssyl_gtk.c \
     ../src/plugins/rssyl/rssyl.h \
     ../src/plugins/rssyl/rssyl_prefs.c \
     ../src/plugins/rssyl/rssyl_subscribe.c \
     ../src/plugins/rssyl/rssyl_subscribe_gtk.c \
     ../src/plugins/rssyl/rssyl_update_comments.c \
     ../src/plugins/rssyl/rssyl_update_feed.c \
     ../src/plugins/rssyl/rssyl_update_format.c \
     ../src/plugins/smime/plugin.c \
     ../src/plugins/smime/smime.c \
     ../src/plugins/spam_report/spam_report.c \
     ../src/plugins/spam_report/spam_report_prefs.c \
     ../src/plugins/spamassassin/spamassassin.c \
     ../src/plugins/spamassassin/spamassassin_gtk.c \
     ../src/plugins/tnef_parse/tnef_parse.c \
     ../src/plugins/vcalendar/common-views.c \
     ../src/plugins/vcalendar/day-view.c \
     ../src/plugins/vcalendar/month-view.c \
     ../src/plugins/vcalendar/plugin.c \
     ../src/plugins/vcalendar/vcalendar.c \
     ../src/plugins/vcalendar/vcal_folder.c \
     ../src/plugins/vcalendar/vcal_manager.c \
     ../src/plugins/vcalendar/vcal_meeting_gtk.c \
     ../src/plugins/vcalendar/vcal_prefs.c \
     ../src/pop.c \
     ../src/prefs_account.c \
     ../src/prefs_actions.c \
     ../src/prefs_common.c \
     ../src/prefs_compose_writing.c \
     ../src/prefs_customheader.c \
     ../src/prefs_display_header.c \
     ../src/prefs_ext_prog.c \
     ../src/prefs_filtering_action.c \
     ../src/prefs_filtering.c \
     ../src/prefs_folder_column.c \
     ../src/prefs_folder_item.c \
     ../src/prefs_fonts.c \
     ../src/prefs_gtk.c \
     ../src/prefs_image_viewer.c \
     ../src/prefs_logging.c \
     ../src/prefs_matcher.c \
     ../src/prefs_message.c \
     ../src/prefs_migration.c \
     ../src/prefs_msg_colors.c \
     ../src/prefs_other.c \
     ../src/prefs_proxy.c \
     ../src/prefs_quote.c \
     ../src/prefs_receive.c \
     ../src/prefs_send.c \
     ../src/prefs_spelling.c \
     ../src/prefs_summaries.c \
     ../src/prefs_summary_column.c \
     ../src/prefs_summary_open.c \
     ../src/prefs_template.c \
     ../src/prefs_themes.c \
     ../src/prefs_toolbar.c \
     ../src/prefs_wrapping.c \
     ../src/printing.c \
     ../src/privacy.c \
     ../src/procmime.c \
     ../src/procmsg.c \
     ../src/quote_fmt.c \
     ../src/quote_fmt_parse.y \
     ../src/send_message.c \
     ../src/setup.c \
     ../src/sourcewindow.c \
     ../src/ssl_manager.c \
     ../src/summary_search.c \
     ../src/summaryview.c \
     ../src/textview.c \
     ../src/toolbar.c \
     ../src/uri_opener.c \
     ../src/wizard.c

CATALOGS =  ca.gmo cs.gmo da.gmo de.gmo el_GR.gmo en_GB.gmo es.gmo fi.gmo fr.gmo hu.gmo id_ID.gmo it.gmo ja.gmo nb.gmo nl.gmo pl.gmo pt_BR.gmo pt_PT.gmo ro.gmo ru.gmo sk.gmo sq.gmo sv.gmo tr.gmo zh_TW.gmo

# Makevars gets inserted here. (Don't remove this line!)
# Makefile variables for PO directory in any package using GNU gettext.

# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)

# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..

# These options get passed to xgettext.
XGETTEXT_OPTIONS = \
  --keyword=_ --flag=_:1:pass-c-format \
  --keyword=Q_ --flag=Q_:1:pass-c-format \
  --keyword=N_ --flag=N_:1:pass-c-format \
  --keyword=C_:1c,2 \
  --keyword='proper_name:1,"This is a proper name. See the gettext manual, section Names."' \
  --keyword='proper_name_utf8:1,"This is a proper name. See the gettext manual, section Names."' \
  --flag=error:3:c-format --flag=error_at_line:5:c-format \
  --from-code=UTF-8

# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
# package.  (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.)  Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright.  The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = The Claws Mail Team

# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
#   in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
#   understood.
# - Strings which make invalid assumptions about notation of date, time or
#   money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS = paul@claws-mail.org

# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used.  It is usually empty.
EXTRA_LOCALE_CATEGORIES =

# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
# context.  Possible values are "yes" and "no".  Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = yes

.SUFFIXES:
[...]


I've got to say, you are using a rolling release distro and, obviously, frequently problems arise because of that, so why not look upstream for solutions rather than using downstream's limited time? We all know that rolling releases come with problems, and that is why most people choose to use a more tested and stable distro. If, by looking upstream, you discover that there are changes in claws-mail's build dependencies that we will need to address, then let us know.
Comment 16 linux.felixbecker2 2025-03-30 09:10:59 UTC
It seems to be gettext 0.24.

* I compiled gettext 0.23 from source; build of claws-mail succeeds.
* I compiled gettext 0.24 from source; mentioned issue.

I build gettext as follows:

```
  _CFLAGSADDITIONS="-Wno-error=incompatible-pointer-types -Wno-incompatible-pointer-types"
  CFLAGS+=" ${_CFLAGSADDITIONS}"
  CXXFLAGS+=" ${_CFLAGSADDITIONS}"
  export CFLAGS
  export CXXFLAGS
  ./configure \
    --prefix=/usr \
    --libexecdir=/usr/lib \
    --enable-csharp \
    --enable-nls \
    --with-xz \
    --without-included-gettext \
    --without-included-libunistring
  sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \
      -i gettext-{tools,runtime,runtime/libasprintf}/libtool
  make
```  
(As my distribution builds it, except the added CFLAGS/CXXFLAGS: `-Wno-error=incompatible-pointer-types` I added manually to make gettext 0.23 build with GCC 14.2.1, and then I also silenced the warning when I modify CFLAGS anyway.)

No patches.

Source from https://ftp.gnu.org/pub/gnu/gettext/gettext-0.23.tar.gz | Source from https://ftp.gnu.org/pub/gnu/gettext/gettext-0.24.tar.gz
Comment 17 Paul 2025-03-30 09:37:24 UTC
Since the gettext 0.24 release notes make no mention of anything related to this, perhaps it's a bug in gettext 0.24. https://savannah.gnu.org/news/?id=10730
Comment 18 linux.felixbecker2 2025-03-30 15:55:10 UTC
(In reply to Paul from comment #17)
> Since the gettext 0.24 release notes make no mention of anything related to
> this, perhaps it's a bug in gettext 0.24.
> https://savannah.gnu.org/news/?id=10730

I reported to gettext, and they reported back:

-- %< --

> Configuring `claws-mail` source (latest git checkout from their source repository, git commit hash: `75990d760`) with GNU gettext 0.23 produces a working build; with gettext 0.24 `po/Makefile` is generated wrongly with missing expanded variables and missing parts.
> 
> An excerpt of the differences in the generated Makefile here, full `diff` attached (`gettext-0.23-0.34_po.diff`):  
> ```diff
> --- with_gettext-0.23/claws-mail/po/Makefile	2025-03-30 15:02:30.000605773 +0200
> +++ with_gettext-0.24/claws-mail/po/Makefile	2025-03-30 15:00:49.037268192 +0200  

From this diff it's clear that you are combining a Makefile.in.in
from gettext 0.18.x (10 years ago) with a gettext.m4 macro from 0.24.
This is not supported.

The problem is that while po/Makefile.in.in is checked into version
control, gettext.m4 is taken from your machine's distro (via 'aclocal').

> (https://www.claws-mail.org/bugzilla/show_bug.cgi?id=4856#c17)  

From this ticket (comments 1 and 2) apparently the recommended
step after the 'git clone' is './autogen.sh'.

So, the fix should be
  1) to remove po/Makefile.in.in from version control,
  2) to add an 'autopoint' invocation, like this:

diff --git a/autogen.sh b/autogen.sh
index 694ef7cc4..b0f2fdf3c 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -50,6 +50,7 @@ case `uname` in
 esac
 
 ${LIBTOOL} \
+  && autopoint -f \
   && aclocal -I m4 \
   && autoconf \
   && autoheader \

See its documentation:
https://www.gnu.org/software/gettext/manual/html_node/autopoint-Invocation.html

Bruno

-- >% --

So gettext maintainer(s) have the opinion that it is not a gettext issue but a claws-mail issue.

I tried their suggested changes and can confirm that it works for me.

I attach a patch updating `autogen.sh`; you still need to remove `po/Makefile.in.in`.
Comment 19 linux.felixbecker2 2025-03-30 15:56:03 UTC
Created attachment 2538 [details]
Diff of `po/` directory after `./autogen.sh` and `./configure` with gettext 0.23 and gettext 0.24.
Comment 20 linux.felixbecker2 2025-03-30 15:58:53 UTC
Created attachment 2539 [details]
Patch adding `autopoint` run to `autogen.sh`.

... `po/Makefile.in.in` still needs to be removed.
Comment 21 linux.felixbecker2 2025-03-30 16:09:07 UTC
(In reply to linux.felixbecker2 from comment #18)
> So gettext maintainer(s) have the opinion that it is not a gettext issue but
> a claws-mail issue.

Sorry for my un-preciseness;  
it seems to be a combined issue of gettext version of my distribution and file versions in claws-mail repository.

I actually applied it as a workaround for now for the AUR package of claws-mail which I maintain.

Regards!
Comment 22 Paul 2025-03-30 16:13:03 UTC
Please attach the version of Makefile.in.in that is pulled in by your system from gettext 0.24.
Comment 23 linux.felixbecker2 2025-03-30 16:17:06 UTC
(In reply to Paul from comment #22)
> Please attach the version of Makefile.in.in that is pulled in by your system
> from gettext 0.24.

`Makefile.in.in` is directly there after a git clone of the repository, without executing anything.

After executing a fresh `git clone git://git.claws-mail.org/claws.git`, I attach `claws/po/Makefile.in.in`.
Comment 24 linux.felixbecker2 2025-03-30 16:18:25 UTC
Created attachment 2540 [details]
`po/Makefile.in.in` after a fresh `git clone git://git.claws-mail.org/claws.git` (git commit hash: d15484088).
Comment 25 Paul 2025-03-30 16:21:35 UTC
The Makefile.in.in you attached is exactly the same as the one currently in claws-mail's git, so how can point 1) of the supposed fix, mentioned in comment#18, make any sense?
Comment 26 Paul 2025-03-30 16:23:52 UTC
I suppose you did remove the copy of Makefile.in.in from your local git tree, just like you stated needed to be done in comment#20?
Comment 27 linux.felixbecker2 2025-03-30 16:26:05 UTC
(In reply to Paul from comment #25)
> The Makefile.in.in you attached is exactly the same as the one currently in
> claws-mail's git, so how can point 1) of the supposed fix, mentioned in
> comment#18, make any sense?

I cannot tell because I don't know how the tools work, please discuss this with the gettext people.

I did _delete_ `Makefile.in.in` after clone, and patched `autogen.sh` as mentioned, so there is no `Makefile.in.in` anymore after the fix/workaround mentioned by the gettext people.

... Ah, now I guess what you mean: Do you mean I should attach the `po/Makefile.in.in` which got _re-generated_ after applying those changes?

OK, I attach this.
Comment 28 linux.felixbecker2 2025-03-30 16:27:17 UTC
Created attachment 2541 [details]
Re-generated `po/Makefile.in.in` after applying the changes mentioned in https://www.claws-mail.org/bugzilla/show_bug.cgi?id=4856#c18 and then running `./autogen.sh`.
Comment 29 Paul 2025-03-30 16:31:06 UTC
OK, there is really little difference between the Makefile.in.in files.

I will have to leave this until my system is upgraded to include gettext 0.24, and then I can investigate what, if anything, needs fixing.
Comment 30 Paul 2025-03-30 16:32:37 UTC
I will say that adding autopoint to autogen.sh just creates a load of other problems, so doesn't seem like the solution to me.
Comment 31 linux.felixbecker2 2025-03-30 16:42:18 UTC
Created attachment 2542 [details]
`diff` of the original `po/Makefile.in.in` from claws mail git repository and of the re-generated `po/Makefile.in.in` after applying the changes mentioned in Comment 18.
Comment 32 linux.felixbecker2 2025-03-30 16:45:11 UTC
(In reply to Paul from comment #30)
> I will say that adding autopoint to autogen.sh just creates a load of other
> problems,

Which (kind of) problems?
Comment 33 Paul 2025-03-30 16:46:37 UTC
see comment#29. I'll comment further after that.
Comment 34 Paul 2025-03-30 16:47:38 UTC
The content of attachment 2542 [details] has been deleted for the following reason:

unnecessary attachment

Note You need to log in before you can comment on or make changes to this bug.