Public bug reported:

Glibc 2.33 changed the float_t type from double to compiler-defined
which is float on s390x:

https://sourceware.org/pipermail/libc-alpha/2021-February/122207.html
...

* On s390(x), the type float_t is now derived from the macro
  __FLT_EVAL_METHOD__ that is defined by the compiler, instead of being
  hardcoded to double.  This does not affect the ABI of any libraries
  that are part of the GNU C Library, but may affect the ABI of other
  libraries that use this type in their interfaces.  The new definition
  improves consistency with compiler behavior in many scenarios.
...

To not break clucene's ABI accidentally clucene fixed float_t to be
double:

clucene-core (2.3.3.4+dfsg-1ubuntu1) hirsute; urgency=medium

  * Fix float_t abi to double ahead of glibc change.

 -- Dimitri John Ledkov <x...@ubuntu.com>  Mon, 01 Feb 2021 10:22:06
+0000

This conflicts with GCC's definition in libreoffice's autopkgtest:

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-hirsute/hirsute/s390x/libr/libreoffice/20210215_232647_879ab@/log.gz
...
configure: error: Your version of libclucene has contribs-lib missing.
Error running configure at ./autogen.sh line 299.
make: *** [debian/rules:1936: config_host.mk] Error 25
...

In local reproduction the error is the following:
...
configure:22199: checking for CLucene/analysis/cjk/CJKAnalyzer.h
configure:22199: s390x-linux-gnu-g++ -c -g1 -O2 
-ffile-prefix-map=/tmp/autopkgtest.RtAhHJ/build.yBG/src=. 
-fstack-protector-strong -Wformat -Werror=format-security -isystem 
/usr/lib/s390x-linux-gnu -Wdate-time -D_FORTIFY_SOURCE=2 -isystem 
/usr/lib/s390x-linux-gnu conftest.cpp >&5
In file included from /usr/include/CLucene/StdHeader.h:20,
                 from /usr/include/CLucene.h:11,
                 from conftest.cpp:83:
/usr/include/CLucene/SharedHeader.h:72:16: error: conflicting declaration 
'typedef double float_t'
   72 | typedef double float_t;
      |                ^~~~~~~
In file included from /usr/include/c++/10/cmath:45,
                 from /usr/include/c++/10/math.h:36,
                 from /usr/include/CLucene/SharedHeader.h:61,
                 from /usr/include/CLucene/StdHeader.h:20,
                 from /usr/include/CLucene.h:11,
                 from conftest.cpp:83:
/usr/include/math.h:149:15: note: previous declaration as 'typedef float 
float_t'
  149 | typedef float float_t;
      |               ^~~~~~~
configure:22199: $? = 1
...

** Affects: clucene-core (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: libreoffice (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: update-excuse

** Also affects: libreoffice (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1915927

Title:
  defining float_t as double breaks libreoffice autopkgtest with glibc
  2.33 on s390x

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/clucene-core/+bug/1915927/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to