Page MenuHome GnuPG

GPGME: New Qt util.cpp (1.17.0) FTBFS for i386 only
Closed, ResolvedPublic

Description

With latest GPGME 1.17.0 the new Qt util.cpp FTBFS on i386 only due a missing _FILE_OFFSET_BITS define as required by included src/gpgme.h with the following being the relevant part of the build log:

/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../../lang/qt/src -I../../../conf  -I../../../../lang/cpp/src -I../../../src -I/usr/include/i386-linux-gnu/qt5/QtCore -I/usr/include/i386-linux-gnu/qt5 -fpic  -I/usr/include -DBUILDING_QGPGME -Wsuggest-override -Wzero-as-null-pointer-constant -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o util.lo ../../../../lang/qt/src/util.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../../../lang/qt/src -I../../../conf -I../../../../lang/cpp/src -I../../../src -I/usr/include/i386-linux-gnu/qt5/QtCore -I/usr/include/i386-linux-gnu/qt5 -fpic -I/usr/include -DBUILDING_QGPGME -Wsuggest-override -Wzero-as-null-pointer-constant -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c ../../../../lang/qt/src/util.cpp  -fPIC -DPIC -o .libs/util.o

...

In file included from ../../../../lang/qt/src/util.h:37:0,
                 from ../../../../lang/qt/src/util.cpp:34:
../../../src/gpgme.h:111:2: error: #error GPGME was compiled with _FILE_OFFSET_BITS = 64, please see the section "Largefile support (LFS)" in the GPGME manual.
 #error GPGME was compiled with _FILE_OFFSET_BITS = 64, please see the section "Largefile support (LFS)" in the GPGME manual.
  ^~~~~

Please see the included external link for a build log (Ubuntu Focal 20.04 i386) which demonstrates the above failure. Due not being a Qt programmer I am not sure what is causing the above issue for i386 only, but adding the following hack in lang/qt/src/util.h just prior to #include <gpgme.h> does fix the i386 build:

#ifndef _FILE_OFFSET_BITS
# define _FILE_OFFSET_BITS 64
#endif

No doubt there is a proper way to resolve this FTBFS for i386 builds other than this hack, but it works for now!

Revisions and Commits

Event Timeline

werner added a subscriber: werner.

Please see T5834 which is fixed in 1.17.1

The patch for T5834 (https://dev.gnupg.org/rMad3aabdd8a64156c7e3a75d695ae1ab2c4bec841) was already applied to the build of GPGME 1.17.0 for Focal, as I did browse the list of latest GPGME bugs first before reporting this bug. Attempting to build with the latest GPGME 1.17.1 (with the included ABI patch) results in exactly the same FTBFS for i386 only, so this does appear to be a distinct issue not related to that of ABI backwards compatibility.

ikloecker claimed this task.
ikloecker added a subscriber: ikloecker.

Should be fixed.