gmime icon indicating copy to clipboard operation
gmime copied to clipboard

3.2.14: build fails

Open kloczek opened this issue 1 year ago • 11 comments

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

kloczek avatar Jan 31 '24 03:01 kloczek

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

jstedfast avatar Feb 02 '24 22:02 jstedfast

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 avatar Feb 02 '24 22:02 jstedfast

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.

jstedfast avatar Feb 02 '24 22:02 jstedfast

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 avatar Feb 12 '24 22:02 heftig

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.

heftig avatar Feb 12 '24 23:02 heftig

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
+ 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 avatar Feb 12 '24 23:02 kloczek

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 🤔

kloczek avatar Feb 12 '24 23:02 kloczek

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

jstedfast avatar Feb 12 '24 23:02 jstedfast

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

kloczek avatar Apr 13 '24 11:04 kloczek