jstedfast / gmime

A C/C++ MIME creation and parser library with support for S/MIME, PGP, and Unix mbox spools.
GNU Lesser General Public License v2.1
111 stars 36 forks source link

3.2.14: build fails #158

Closed kloczek closed 2 months ago

kloczek commented 5 months ago

Looks like something is wrong when autoconf 2.72 is used and build fails

+ cd gmime-3.2.14
+ autoreconf -fiv
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './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'
autoreconf: configure.ac: not using Intltool
autoreconf: running: gtkdocize --copy
autoreconf: running: aclocal --force -I m4
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:134: installing './compile'
configure.ac:46: installing './config.guess'
configure.ac:46: installing './config.sub'
configure.ac:52: installing './install-sh'
configure.ac:52: installing './missing'
Makefile.am: installing './INSTALL'
examples/Makefile.am: installing './depcomp'
autoreconf: Leaving directory '.'
+ ASMFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security'
+ CFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security'
+ CXXFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security'
+ FFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -I/usr/lib64/gfortran/modules'
+ FCFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -I/usr/lib64/gfortran/modules'
+ LDFLAGS='-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--gc-sections -Wl,--as-needed -Wl,--build-id=sha1 -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,pack-relative-relocs -flto=auto -fuse-linker-plugin'
+ RUSTFLAGS='-C codegen-units=1 -C debuginfo=2 -C opt-level=2 -C link-arg=-Wl,--as-needed -C link-arg=-Wl,--build-id=sha1 -C link-arg=-Wl,-z,now -C link-arg=-specs=/usr/lib/rpm/redhat/redhat-hardened-ld -C link-arg=-Wl,-z,pack-relative-relocs -C link-arg=-Wl,-z,relro -C link-arg=-flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS --cap-lints=warn'
+ VALAFLAGS=-g
+ CC=/usr/bin/gcc
+ CXX=/usr/bin/g++
+ FC=/usr/bin/gfortran
+ AR=/usr/bin/gcc-ar
+ NM=/usr/bin/gcc-nm
+ RANLIB=/usr/bin/gcc-ranlib
+ export ASMFLAGS CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS VALAFLAGS CC CXX FC AR NM RANLIB RUSTFLAGS VALAFLAGS
+ ./configure --bindir=/usr/bin --build=x86_64-redhat-linux --datadir=/usr/share --disable-dependency-tracking --exec-prefix=/usr --host=x86_64-redhat-linux --includedir=/usr/include --infodir=/usr/share/info --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --mandir=/usr/share/man --prefix=/usr --program-prefix= --runstatedir=/run --sbindir=/usr/sbin --sharedstatedir=/var/lib --sysconfdir=/etc --disable-static --enable-crypto --enable-gtk-doc --program-prefix=gmime --disable-mono
configure: WARNING: unrecognized options: --disable-mono
checking build system type... x86_64-redhat-linux-gnu
checking host system type... x86_64-redhat-linux-gnu
checking target system type... x86_64-redhat-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
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 whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking if building for Win32... no
checking whether make supports the include directive... yes (GNU style)
checking for x86_64-redhat-linux-gcc... /usr/bin/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 /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to enable C11 features... none needed
checking whether /usr/bin/gcc understands -c and -o together... yes
checking dependency style of /usr/bin/gcc... none
checking for library containing strerror... none required
checking for x86_64-redhat-linux-gcc... (cached) /usr/bin/gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether /usr/bin/gcc accepts -g... (cached) yes
checking for /usr/bin/gcc option to enable C11 features... (cached) none needed
checking whether /usr/bin/gcc understands -c and -o together... (cached) yes
checking dependency style of /usr/bin/gcc... (cached) none
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 sys/param.h... yes
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for rm... /usr/bin/rm
checking for mv... /usr/bin/mv
checking for tar... /usr/bin/tar
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 /usr/bin/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/gcc-nm
checking the name lister (/usr/bin/gcc-nm) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-redhat-linux-gnu file names to x86_64-redhat-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-redhat-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for x86_64-redhat-linux-file... no
checking for file... file
checking for x86_64-redhat-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-redhat-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-redhat-linux-ar... /usr/bin/gcc-ar
checking for archiver @FILE support... @
checking for x86_64-redhat-linux-strip... no
checking for strip... strip
checking for x86_64-redhat-linux-ranlib... /usr/bin/gcc-ranlib
checking command to parse /usr/bin/gcc-nm output from /usr/bin/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 x86_64-redhat-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /usr/bin/gcc supports -fno-rtti -fno-exceptions... no
checking for /usr/bin/gcc option to produce PIC... -fPIC -DPIC
checking if /usr/bin/gcc PIC flag -fPIC -DPIC works... yes
checking if /usr/bin/gcc static flag -static works... no
checking if /usr/bin/gcc supports -c -o file.o... /usr/bin/rm: cannot remove 'conftest*': No such file or directory
yes
checking if /usr/bin/gcc supports -c -o file.o... (cached) yes
checking whether the /usr/bin/gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... /usr/bin/rm: cannot remove 'conftest*': No such file or directory
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
configure: creating ./config.lt
config.lt: creating libtool
/usr/bin/rm: cannot remove 'libtoolT': No such file or directory
checking for sys/mman.h... yes
checking for sys/param.h... (cached) yes
checking for winsock2.h... no
checking for string.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for netdb.h... yes
checking for time.h... yes
checking for poll.h... yes
checking for off_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for mode_t... yes
checking for nfds_t... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for munmap... yes
checking for msync... yes
checking for select... yes
checking for poll... yes
checking for x86_64-redhat-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gtk-doc... yes
checking for gtkdoc-check... gtkdoc-check.test
checking for gtkdoc-check... /usr/bin/gtkdoc-check
checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase
checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf
checking whether to build gtk-doc documentation... yes
checking for glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0... yes
checking for db2html... no
checking for docbook2html... no
checking for iconv_open... yes
checking for zlib... yes
checking for glib-2.0 >= 2.68 gobject-2.0 gio-2.0 gthread-2.0... yes
checking preferred charset formats for system iconv... yes
found
checking for getopt.h... yes
checking for GNU getopt_long... yes
checking for fsync... yes
checking for MAXHOSTNAMELEN... yes
checking for domainname in struct utsname... yes
checking for /usr/bin/gcc option to enable large file support... none needed
checking for _LARGEFILE64_SOURCE value needed for large files... yes
checking for gethostname... yes
checking for getdomainname... yes
checking for getaddrinfo... yes
checking for library containing gethostbyname... none required
checking for library containing socket... none required
checking for gpgme >= 1.6.0 gpg-error... no
checking if GNU libidn2 should be used... yes
checking for libidn2 >= 2.0.0... yes
checking for gobject-introspection... yes
checking for x86_64-redhat-linux-pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for vapigen... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating m4/Makefile
config.status: creating build/Makefile
config.status: creating build/vs2008/Makefile
config.status: creating build/vs2008/config-win32.h
config.status: creating build/vs2010/Makefile
config.status: creating build/vs2010/config-win32.h
config.status: creating build/vs2017/Makefile
config.status: creating docs/Makefile
config.status: creating docs/reference/Makefile
config.status: creating docs/tutorial/Makefile
config.status: creating examples/Makefile
config.status: creating util/Makefile
config.status: creating gmime/Makefile
config.status: creating gmime/gmime-version.h
config.status: creating tests/Makefile
config.status: creating tools/Makefile
config.status: creating gmime.spec
config.status: creating gmime.pc
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
/usr/bin/rm: cannot remove 'libtoolT': No such file or directory
configure: WARNING: unrecognized options: --disable-mono

Configuration:

  Source code location:  .
  Install prefix:        /usr
  Compiler:              /usr/bin/gcc

  Documentation:         yes

  Profiling enabled:     no
  Coverage enabled:      no

  Large file support:    yes
  Console warnings:      no
  PGP/MIME support:      no
  S/MIME support:        no
  libidn2 support:       yes

  GObject introspection: yes
  Vala bindings:         yes

+ /usr/bin/make -O -j48 V=1 VERBOSE=1
/usr/bin/make  all-recursive
Making all in m4
make[2]: Nothing to be done for 'all'.
Making all in build
Making all in vs2008
make[3]: Nothing to be done for 'all'.
Making all in vs2010
make[3]: Nothing to be done for 'all'.
Making all in vs2017
make[3]: Nothing to be done for 'all'.
make[3]: Nothing to be done for 'all-am'.
Making all in util
Making all in .
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/gmime-3.2.14/util'
/bin/sh ../libtool  --tag=CC   --mode=compile /usr/bin/gcc -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"util\" -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-strict-aliasing -c -o packed.lo packed.c
libtool: compile:  /usr/bin/gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"util\" -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS= -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-strict-aliasing -c packed.c  -fPIC -DPIC -o .libs/packed.o
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/limits.h:26,
                 from /usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h:210,
                 from /usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h:7,
                 from /usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h:34,
                 from /usr/lib64/glib-2.0/include/glibconfig.h:11,
                 from /usr/include/glib-2.0/glib/gtypes.h:34,
                 from /usr/include/glib-2.0/glib/galloca.h:34,
                 from /usr/include/glib-2.0/glib.h:32,
                 from packed.h:25,
                 from packed.c:26:
/usr/include/features.h:390:52: error: operator '&&' has no right operand
  390 | #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
      |                                                    ^~
make[3]: *** [Makefile:502: packed.lo] Error 1
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/gmime-3.2.14/util'
make[3]: *** Waiting for unfinished jobs....
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/gmime-3.2.14/util'
/bin/sh ../libtool  --tag=CC   --mode=compile /usr/bin/gcc -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"util\" -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-strict-aliasing -c -o gtrie.lo gtrie.c
libtool: compile:  /usr/bin/gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"util\" -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS= -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-strict-aliasing -c gtrie.c  -fPIC -DPIC -o .libs/gtrie.o
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:28,
                 from gtrie.c:26:
/usr/include/features.h:390:52: error: operator '&&' has no right operand
  390 | #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
      |                                                    ^~
make[3]: *** [Makefile:502: gtrie.lo] Error 1
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/gmime-3.2.14/util'
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/gmime-3.2.14/util'
/bin/sh ../libtool  --tag=CC   --mode=compile /usr/bin/gcc -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"util\" -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-strict-aliasing -c -o url-scanner.lo url-scanner.c
libtool: compile:  /usr/bin/gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"util\" -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS= -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-strict-aliasing -c url-scanner.c  -fPIC -DPIC -o .libs/url-scanner.o
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:28,
                 from url-scanner.c:26:
/usr/include/features.h:390:52: error: operator '&&' has no right operand
  390 | #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
      |                                                    ^~
make[3]: *** [Makefile:502: url-scanner.lo] Error 1
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/gmime-3.2.14/util'
make[2]: *** [Makefile:517: all-recursive] Error 1
make[1]: *** [Makefile:539: all-recursive] Error 1
make: *** [Makefile:446: all] Error 2
jstedfast commented 5 months ago

Hmm, seems the configure script failed to set _FILE_OFFSET_BITS=64 for you for some reason.

jstedfast commented 5 months ago

I don't have a Linux machine handy at the moment, so I can't test this theory, but I wonder if this change perhaps broke this?

commit c376dc95e6e542879f5e50528c752e8e513ca470

configure.ac has the following logic:

    if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
        LFS_CFLAGS="$LFS_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
        enable_largefile="yes"
    fi

I suspect what is happening is that ac_cv_sys_file_offset_bits is unset, and so the != "xno" is evaluating to true (e.g. "x" != "xno") and so therefore, we get:

LFS_CFLAGS="$LFS_CFLAGS -D_FILE_OFFSET_BITS="
jstedfast commented 5 months ago

What version of gmime are you using? Or are you using the latest code from GitHub?

I don't think there has been a release with the commit that I think broke this and so that might help us narrow down the problem.

heftig commented 5 months ago

Also seeing this, with 3.2.14 and the current master. ac_cv_sys_file_offset_bits is not set at all.

Notably this is on Linux x86_64, where no defines should be needed.

heftig commented 5 months ago

autoconf no longer sets this variable as of 2.72 (https://github.com/autotools-mirror/autoconf/commit/cf09f48841b66fe76f606dd6018bb3a93242a7c9)

I'm going to work around this via --disable-largefile.

kloczek commented 5 months ago

Also seeing this, with 3.2.14 and the current master. ac_cv_sys_file_offset_bits is not set at all.

Yep .. and looks like it is the cause 🤔 FYI

Here is autoreconf and configure output ```console + cd gmime-3.2.14 + autoreconf -fiv autoreconf: export WARNINGS= autoreconf: Entering directory '.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy --force libtoolize: putting auxiliary files in '.'. libtoolize: copying file './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' autoreconf: configure.ac: not using Intltool autoreconf: running: gtkdocize --copy autoreconf: running: aclocal --force -I m4 autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:134: installing './compile' configure.ac:46: installing './config.guess' configure.ac:46: installing './config.sub' configure.ac:52: installing './install-sh' configure.ac:52: installing './missing' Makefile.am: installing './INSTALL' examples/Makefile.am: installing './depcomp' autoreconf: Leaving directory '.' + ASMFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security' + CFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security' + CXXFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security' + FFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -I/usr/lib64/gfortran/modules' + FCFLAGS='-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -I/usr/lib64/gfortran/modules' + LDFLAGS='-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--gc-sections -Wl,--as-needed -Wl,--build-id=sha1 -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,pack-relative-relocs -flto=auto -fuse-linker-plugin' + RUSTFLAGS='-C codegen-units=1 -C debuginfo=2 -C opt-level=2 -C link-arg=-Wl,--as-needed -C link-arg=-Wl,--build-id=sha1 -C link-arg=-Wl,-z,now -C link-arg=-specs=/usr/lib/rpm/redhat/redhat-hardened-ld -C link-arg=-Wl,-z,pack-relative-relocs -C link-arg=-Wl,-z,relro -C link-arg=-flto=auto --cap-lints=warn' + VALAFLAGS=-g + CC=/usr/bin/gcc + CXX=/usr/bin/g++ + FC=/usr/bin/gfortran + AR=/usr/bin/gcc-ar + NM=/usr/bin/gcc-nm + RANLIB=/usr/bin/gcc-ranlib + export ASMFLAGS CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS VALAFLAGS CC CXX FC AR NM RANLIB RUSTFLAGS VALAFLAGS + ./configure --bindir=/usr/bin --build=x86_64-redhat-linux --datadir=/usr/share --disable-dependency-tracking --exec-prefix=/usr --host=x86_64-redhat-linux --includedir=/usr/include --infodir=/usr/share/info --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --mandir=/usr/share/man --prefix=/usr --program-prefix= --runstatedir=/run --sbindir=/usr/sbin --sharedstatedir=/var/lib --sysconfdir=/etc --disable-static --enable-crypto --enable-gtk-doc --program-prefix=gmime checking build system type... x86_64-redhat-linux-gnu checking host system type... x86_64-redhat-linux-gnu checking target system type... x86_64-redhat-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c 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 whether UID '1000' is supported by ustar format... yes checking whether GID '1000' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... no checking if building for Win32... no checking whether make supports the include directive... yes (GNU style) checking for x86_64-redhat-linux-gcc... /usr/bin/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 /usr/bin/gcc accepts -g... yes checking for /usr/bin/gcc option to enable C11 features... none needed checking whether /usr/bin/gcc understands -c and -o together... yes checking dependency style of /usr/bin/gcc... none checking for library containing strerror... none required checking for x86_64-redhat-linux-gcc... (cached) /usr/bin/gcc checking whether the compiler supports GNU C... (cached) yes checking whether /usr/bin/gcc accepts -g... (cached) yes checking for /usr/bin/gcc option to enable C11 features... (cached) none needed checking whether /usr/bin/gcc understands -c and -o together... (cached) yes checking dependency style of /usr/bin/gcc... (cached) none 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 sys/param.h... yes checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for rm... /usr/bin/rm checking for mv... /usr/bin/mv checking for tar... /usr/bin/tar 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 /usr/bin/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/gcc-nm checking the name lister (/usr/bin/gcc-nm) interface... BSD nm checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-redhat-linux-gnu file names to x86_64-redhat-linux-gnu format... func_convert_file_noop checking how to convert x86_64-redhat-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for x86_64-redhat-linux-file... no checking for file... file checking for x86_64-redhat-linux-objdump... no checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for x86_64-redhat-linux-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for x86_64-redhat-linux-ar... /usr/bin/gcc-ar checking for archiver @FILE support... @ checking for x86_64-redhat-linux-strip... no checking for strip... strip checking for x86_64-redhat-linux-ranlib... /usr/bin/gcc-ranlib checking command to parse /usr/bin/gcc-nm output from /usr/bin/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 x86_64-redhat-linux-mt... no checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if /usr/bin/gcc supports -fno-rtti -fno-exceptions... no checking for /usr/bin/gcc option to produce PIC... -fPIC -DPIC checking if /usr/bin/gcc PIC flag -fPIC -DPIC works... yes checking if /usr/bin/gcc static flag -static works... no checking if /usr/bin/gcc supports -c -o file.o... /usr/bin/rm: cannot remove 'conftest*': No such file or directory yes checking if /usr/bin/gcc supports -c -o file.o... (cached) yes checking whether the /usr/bin/gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... /usr/bin/rm: cannot remove 'conftest*': No such file or directory 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 configure: creating ./config.lt config.lt: creating libtool /usr/bin/rm: cannot remove 'libtoolT': No such file or directory checking for sys/mman.h... yes checking for sys/param.h... (cached) yes checking for winsock2.h... no checking for string.h... (cached) yes checking for stdlib.h... (cached) yes checking for netdb.h... yes checking for time.h... yes checking for poll.h... yes checking for off_t... yes checking for size_t... yes checking for ssize_t... yes checking for mode_t... yes checking for nfds_t... yes checking for getpagesize... yes checking for working mmap... yes checking for munmap... yes checking for msync... yes checking for select... yes checking for poll... yes checking for x86_64-redhat-linux-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for gtk-doc... yes checking for gtkdoc-check... gtkdoc-check.test checking for gtkdoc-check... /usr/bin/gtkdoc-check checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf checking whether to build gtk-doc documentation... yes checking for glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0... yes checking for db2html... no checking for docbook2html... no checking for iconv_open... yes checking for zlib... yes checking for glib-2.0 >= 2.68 gobject-2.0 gio-2.0 gthread-2.0... yes checking preferred charset formats for system iconv... yes found checking for getopt.h... yes checking for GNU getopt_long... yes checking for fsync... yes checking for MAXHOSTNAMELEN... yes checking for domainname in struct utsname... yes checking for /usr/bin/gcc option to enable large file support... none needed checking for _LARGEFILE64_SOURCE value needed for large files... yes checking for gethostname... yes checking for getdomainname... yes checking for getaddrinfo... yes checking for library containing gethostbyname... none required checking for library containing socket... none required checking for gpgme >= 1.6.0 gpg-error... no checking if GNU libidn2 should be used... yes checking for libidn2 >= 2.0.0... yes checking for gobject-introspection... yes checking for x86_64-redhat-linux-pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for vapigen... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating m4/Makefile config.status: creating build/Makefile config.status: creating build/vs2008/Makefile config.status: creating build/vs2008/config-win32.h config.status: creating build/vs2010/Makefile config.status: creating build/vs2010/config-win32.h config.status: creating build/vs2017/Makefile config.status: creating docs/Makefile config.status: creating docs/reference/Makefile config.status: creating docs/tutorial/Makefile config.status: creating examples/Makefile config.status: creating util/Makefile config.status: creating gmime/Makefile config.status: creating gmime/gmime-version.h config.status: creating tests/Makefile config.status: creating tools/Makefile config.status: creating gmime.spec config.status: creating gmime.pc config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands /usr/bin/rm: cannot remove 'libtoolT': No such file or directory ```

Additionally some stracge parts in above:

checking whether to build static libraries... no
configure: creating ./config.lt     <<<< HERE
config.lt: creating libtool     <<<< HERE
/usr/bin/rm: cannot remove 'libtoolT': No such file or directory     <<<< HERE
checking for sys/mman.h... yes

[..]

config.status: executing libtool commands
/usr/bin/rm: cannot remove 'libtoolT': No such file or directory    <<<< HERE
kloczek commented 5 months ago

I'n not 100% sure but on first look all what is after AC_SYS_LARGEFILE can be removed because that aclocal macro should provide all necessary tests and set all needed autoheader entries 🤔

jstedfast commented 5 months ago

Anyone able to submit a patch to fix that? Sounds simple enough. I'd be happy to merge such a patch.

kloczek commented 3 months ago

I just made small test which looks like shows what is wrong

[tkloczko@pers-jacek gmime-3.2.14]$ autoscan
configure.ac: warning: missing AC_CHECK_FUNCS([gettimeofday]) wanted by: zentimer.h:72
configure.ac: warning: missing AC_CHECK_FUNCS([isascii]) wanted by: gmime/gen-table.c:130
configure.ac: warning: missing AC_CHECK_FUNCS([memchr]) wanted by: gmime/gmime-utils.c:1457
configure.ac: warning: missing AC_CHECK_FUNCS([memmove]) wanted by: gmime/gmime-certificate.c:804
configure.ac: warning: missing AC_CHECK_FUNCS([memset]) wanted by: gmime/gmime-crypto-context.c:653
configure.ac: warning: missing AC_CHECK_FUNCS([mkdir]) wanted by: tests/test-mbox.c:288
configure.ac: warning: missing AC_CHECK_FUNCS([nl_langinfo]) wanted by: gmime/gmime-charset.c:293
configure.ac: warning: missing AC_CHECK_FUNCS([rmdir]) wanted by: tests/test-mbox.c:504
configure.ac: warning: missing AC_CHECK_FUNCS([strchr]) wanted by: examples/uudecode.c:132
configure.ac: warning: missing AC_CHECK_FUNCS([strerror]) wanted by: gmime/gmime-iconv-utils.c:102
configure.ac: warning: missing AC_CHECK_FUNCS([strrchr]) wanted by: examples/imap-example.c:42
configure.ac: warning: missing AC_CHECK_FUNCS([strstr]) wanted by: gmime/gmime-filter-enriched.c:498
configure.ac: warning: missing AC_CHECK_FUNCS([strtol]) wanted by: gmime/gmime-message-partial.c:125
configure.ac: warning: missing AC_CHECK_FUNCS([strtoul]) wanted by: examples/uudecode.c:145
configure.ac: warning: missing AC_CHECK_FUNCS([tzset]) wanted by: gmime/gmime.c:110
configure.ac: warning: missing AC_CHECK_FUNCS([uname]) wanted by: gmime/gmime-utils.c:818
configure.ac: warning: missing AC_CHECK_HEADERS([fcntl.h]) wanted by: examples/basic-example.c:34
configure.ac: warning: missing AC_CHECK_HEADERS([inttypes.h]) wanted by: zentimer.h:42
configure.ac: warning: missing AC_CHECK_HEADERS([langinfo.h]) wanted by: gmime/charset-map.c:38
configure.ac: warning: missing AC_CHECK_HEADERS([stdint.h]) wanted by: zentimer.h:40
configure.ac: warning: missing AC_CHECK_HEADERS([sys/time.h]) wanted by: zentimer.h:37
configure.ac: warning: missing AC_CHECK_HEADERS([unistd.h]) wanted by: examples/basic-example.c:33
configure.ac: warning: missing AC_C_INLINE wanted by: gmime/gmime-filter-gzip.c:222
configure.ac: warning: missing AC_TYPE_UINT32_T wanted by: zentimer.h:45
configure.ac: warning: missing AC_TYPE_UINT64_T wanted by: zentimer.h:46
configure.ac: warning: missing AC_TYPE_UINT8_T wanted by: zentimer.h:44

That commans generates configure.scan file in which is possible to find

AC_PREREQ([2.72])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR([iconv-detect.c])
AC_CONFIG_HEADERS([config.h])

# Checks for programs.
AC_PROG_CC
AC_PROG_MAKE_SET

# Checks for libraries.

# Checks for header files.
AC_CHECK_HEADERS([fcntl.h inttypes.h langinfo.h netdb.h stdint.h sys/param.h sys/time.h unistd.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T

# Checks for library functions.
AC_FUNC_MMAP
AC_CHECK_FUNCS([gethostname gettimeofday isascii memchr memmove memset mkdir munmap nl_langinfo rmdir strchr strerror strrchr strstr strtol strtoul tzset uname])

Will try to follow those suggestions

jstedfast commented 2 months ago

Mind checking latest git version?

Zopolis4 commented 2 months ago

At least for me, the issue is fixed on the latest git version.