Typically a source package (.dsc) publishes all binary packages (.deb)
for all architectures into the same component. That is the default
behavior of launchpad. We try to avoid split-publishing of .deb into
main/universe where possible, or split-publishing across different
architectures. Especially since some otherwise graphical/desktop stack
packages at times end up in the reverse build-dependencies cycles to
build otherwise CLI-only software. The obvious example being cmake.

s390x is explicitly an Ubuntu Server architecture only. Thus whilst many
desktop packages are built automatically on s390x they are provided on
the best effort basis out of convenience. It would require manual
interventions and changes to exclude them on s390x.

Similar caveats apply on other architectures too. At the moment we only
fully support Ubuntu Desktop on amd64; Pi 4+ arm64.

** Changed in: clucene-core (Ubuntu)
       Status: Incomplete => Confirmed

** Changed in: clucene-core (Ubuntu)
   Importance: Undecided => Low

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to clucene-core in Ubuntu.
https://bugs.launchpad.net/bugs/1913388

Title:
  clucene-core: please pull in patch to stabilize API on s390x during
  upgrade to glibc 2.33

Status in Ubuntu on IBM z Systems:
  Triaged
Status in clucene-core package in Ubuntu:
  Confirmed

Bug description:
  On s390x, the type float_t has historically been defined as double for
  no good reason, yet with unexpected and unnecessary impact on
  performance in some scenarios. The upcoming glibc release 2.33 will be
  a first step towards cleaning that up, which will change float_t to
  become float on s390x when compiling C++ code, such as in clucene-
  core. That would break the ABI of clucene-core on s390x for existing
  binaries.

  Today, clucene-core uses float_t for some parameters in its API; that
  type is defined as double on s390x today. Together with gcc's default
  behavior, that contradicts the C standard. To get to a more sane
  combination, the upcoming glibc release 2.33 will change float_t to
  become float on s390x (with some exceptions when compiling C code,
  which do not apply for clucene-core). To my knowledge, glibc 2.33 is a
  candidate for inclusion in Ubuntu 21.04.

  To avoid breaking the API of clucene-core in the process, I have
  prepared a trivial patch that fixes clucene-core's API to always use
  double instead of float_t on s390x. That patch effectively persists
  the current de-facto API on s390x, without changes for other
  architectures. Note that using float_t in an API is generally "not a
  great idea", because that type can have different definitions even
  with the same compiler and glibc version on the same system (e.g., on
  32-bit x86, when switching between SSE and x87 FP ops).

  Patch submitted in https://sourceforge.net/p/clucene/bugs/233/ and 
https://sourceforge.net/p/clucene/mailman/message/37153930/
  yet upstream clucene is effectively unmaintained.

  If Ubuntu 21.04 adopts glibc 2.33, please consider pulling in this
  patch in clucene-core.

  Related request for ImageMagick:
  https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1913268

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1913388/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to