[Bug] A simple code including tgmath.h cannot be compiled with icc with Ubuntu 20.04 OS

Bug #1895358 reported by pragyansri.pathi@intel.com
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Fix Released
Undecided
Balint Reczey
Groovy
Won't Fix
Undecided
Unassigned

Bug Description

[Impact]

 A simple code including tgmath.h cannot be compiled with icc with Ubuntu 20.04 OS and later releases.

[Test Case]
icc:
 Compile the following code with Intel compiler (icc) by running “icc -c test.c”

$ cat test.c
#include <tgmath.h>

There should not be any compilation error

[Where problems could occur]

The fix is dropping compile time check preventing using float128 with icc. In case of a mistake using float128 becomes prevented in other compilers as well, but this is highly unlikely, since the vanilla upstream code is known to work.

Older icc compilers (for which the patch has been introduced) will stop compiling code with the _fixed_ tgmath.h because of LP: #1717257.

Users can still install older icc compilers from 3rd party sources, but there is no good way of avoiding that. They can still override the packaged tgmath.h.

[Original Bug Text]

[Summary]: A simple code including tgmath.h cannot be compiled with icc with Ubuntu 20.04 OS

[Ubuntu OS version]: 20.04

[Reproduce Steps]: Compile the following code with Intel compiler (icc) by running “icc -c test.c”

$ cat test.c
#include <tgmath.h>

[Results]
Expected: There should not be any compilation error

Actual: The following error is produced:

$ icc -c test.c
In file included from /localdisk2/mkl/aakkas/20200721_rls/lnx/compiler/latest/linux/bin/intel64/../../compiler/include/icc/tgmath.h(25),
                 from test.c(1):
/usr/include/tgmath.h(54): error: #error directive: "Unsupported combination of types for <tgmath.h>."
  # error "Unsupported combination of types for <tgmath.h>."
     ^

compilation aborted for test.c (code 2)

[Additional Information on Test setup]:

ICC compiler supports the __float128 type if the reference compiler is more recent than GNU version 4.4. Therefore, __HAVE_FLOAT128 should be set to 1 when ICC compiler is used with GNU version higher than 4.4. Based on this, I believe that the red part below in floatn.h, which comes with Ubuntu OS, should be updated/removed.

#if (defined __x86_64__ \
     ? __GNUC_PREREQ (4, 3) \
     : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) \
     && !defined(__CUDACC__) && !defined(__ICC)
# define __HAVE_FLOAT128 1
#else
# define __HAVE_FLOAT128 0
#endif

Currently, when the tgmath.h system header file is included on Ubuntu 20.04 OS system, __HAVE_FLOAT128 is set to zero and __HAVE_FLOAT64X set to 1 for ICC. And this is not a supported combination as checked in the new tgmath.h system header file:

# if ((__HAVE_FLOAT64X && !__HAVE_FLOAT128) \
      || (__HAVE_FLOAT128 && !__HAVE_FLOAT64X))
# error "Unsupported combination of types for <tgmath.h>."
# endif

Upstream bug: Not known
=========================================

summary: - [Bug[ A simple code including tgmath.h cannot be compiled with icc with
+ [Bug] A simple code including tgmath.h cannot be compiled with icc with
Ubuntu 20.04 OS
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

groovy-proposed has 2.32 https://launchpad.net/ubuntu/+source/glibc/2.32-0ubuntu2 can this issue be reproduced there?

Do you have glibc upstream commit id on master and/or stable branches with fix for this?

Changed in glibc (Ubuntu):
status: New → Incomplete
Changed in intel:
status: New → Incomplete
Revision history for this message
pragyansri.pathi@intel.com (pragyan) wrote :
Revision history for this message
pragyansri.pathi@intel.com (pragyan) wrote :

@<email address hidden>

Dimitri -
We found that Ubuntu's modified glibc header file caused the problem. In the glibc sources the following line does not exist

    && !defined(__CUDACC__) && !defined(__ICC)

so the code in glibc's header file looks like this:

#if (defined __x86_64__ \
    ? __GNUC_PREREQ (4, 3)\
    : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
# define __HAVE_FLOAT128 1
#else
# define __HAVE_FLOAT128 0
#endif

Therefore, the fix/update is needed in the Ubuntu’s modified header file.
You can see all comments from https://sourceware.org/bugzilla/show_bug.cgi?id=26621

Revision history for this message
Balint Reczey (rbalint) wrote :

The patch in Ubuntu that introduced this regression landed as a fix for LP: #1717257.

The patch is still needed on Bionic to not break nvcc, but not on Focal. I take this bug report as an indication of the patch not being needed for latest icc either, thus will drop it in the next glibc upload.

Balint Reczey (rbalint)
tags: added: rls-ff-incoming
tags: removed: rls-ff-incoming
tags: added: fr-900
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package glibc - 2.32-0ubuntu5

---------------
glibc (2.32-0ubuntu5) hirsute; urgency=medium

  * debian/gbp.conf: Set debian-tag and debian-tag-msg to follow Ubuntu format
  * Don't build libc6-prof in stage1 and stage2
  * Ship libc6-prof on riscv64, too.
    This fixes FTBFS on riscv64 due to the the flavour being built but not
    shipped in a package.
  * Detect debconf consistently in libc6.preinst and do not crash if it is not used
    (LP: #1902955)
  * Prevent rare deadlock in pthread_cond_signal (LP: #1899800)
  * debian/patches/git-updates.diff: update from upstream stable branch

glibc (2.32-0ubuntu4) hirsute; urgency=medium

  * tests: XFAIL time/tst-cpuclock1 on armel, too. (LP: #1895687)
    The armhf build builds for armel, too, thus this fixes the armhf
    autopkgtest.
  * debian/control: Only recommend libnss-nis and libnss-nisplus.
    They pull in a sizable amount of extra dependencies while they are rarely
    needed.
  * Make libc6 provide libc6-lse on arm64.
    Libc6 is now compiled with -moutline-atomics thus the separate binary
    package is dropped.
  * Ship libc variant compiled for profiling in libc6-prof
  * debian/patches/git-updates.diff: update from upstream stable branch
  * Drop obsoleted local-cudacc-float128.diff which breaks new icc
    (LP: #1895358)
  * XFAIL tst-sysvshm-linux on i386 and x32
  * Merge 2.31-4 from Debian unstable

 -- Balint Reczey <email address hidden> Fri, 13 Nov 2020 18:54:38 +0100

Changed in glibc (Ubuntu):
status: Incomplete → Fix Released
Balint Reczey (rbalint)
description: updated
Balint Reczey (rbalint)
Changed in glibc (Ubuntu Focal):
status: New → In Progress
Changed in glibc (Ubuntu Groovy):
status: New → In Progress
Changed in glibc (Ubuntu Focal):
assignee: nobody → Balint Reczey (rbalint)
Changed in glibc (Ubuntu Groovy):
assignee: nobody → Balint Reczey (rbalint)
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello <email address hidden>, or anyone else affected,

Accepted glibc into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/glibc/2.32-0ubuntu3.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in glibc (Ubuntu Groovy):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-groovy
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello <email address hidden>, or anyone else affected,

Accepted glibc into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/glibc/2.31-0ubuntu9.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in glibc (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (glibc/2.31-0ubuntu9.2)

All autopkgtests for the newly accepted glibc (2.31-0ubuntu9.2) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

python-llfuse/1.3.6+dfsg-2build1 (ppc64el)
mercurial/5.3.1-1ubuntu1 (amd64)
datefudge/1.23ubuntu1 (ppc64el)
yade/2020.01a-6build2 (s390x)
raspell/1.3-2build1 (s390x)
burp/2.2.18-2 (arm64)
gnudatalanguage/0.9.9-12build1 (amd64)
threadweaver/5.68.0-0ubuntu1 (amd64)
rancid/3.11-1 (s390x)
r-other-x4r/1.0.1+git20150806.c6bd9bd-2build1 (s390x)
libxmlb/0.1.15-2 (amd64)
feersum/1.407-2 (s390x)
libimage-sane-perl/5-1 (arm64)
gnome-photos/3.34.1-1 (ppc64el)
mbedtls/2.16.4-1ubuntu2 (amd64)
libreoffice/1:6.4.6-0ubuntu0.20.04.1 (armhf)
reprotest/0.7.14 (s390x, arm64)
puma/3.12.4-1ubuntu2 (arm64, s390x)
libdbd-mariadb-perl/1.11-3ubuntu2 (armhf, arm64, amd64, s390x, ppc64el)
python3-lxc/1:3.0.4-1ubuntu6 (s390x)
mpi4py/3.0.3-4build2 (amd64)
nut/2.7.4-11ubuntu4 (s390x)
r-cran-processx/3.4.2-1 (amd64)
boost1.71/1.71.0-6ubuntu6 (amd64)
netplan.io/0.100-0ubuntu4~20.04.3 (amd64)
php-luasandbox/3.0.3-2build2 (armhf)
libtext-markdown-discount-perl/0.12-1 (armhf)
mysql-connector-c++/1.1.12-4ubuntu2 (s390x)
xmobar/0.29.4-2build3 (ppc64el)
golang-github-xenolf-lego/3.2.0-1 (armhf, arm64, amd64, s390x, ppc64el)
cffi/1:0.21.0-1 (amd64)
websocketd/0.3.1-3 (armhf)
cmark-gfm/0.29.0.gfm.0-4 (amd64)
ruby2.7/2.7.0-5ubuntu1.2 (arm64)
golang-github-bmatsuo-lmdb-go/1.8.0+git20170215.a14b5a3-2 (amd64)
lazarus/2.0.6+dfsg-3 (armhf)
gnutls28/3.6.13-2ubuntu1.3 (i386, s390x, ppc64el, armhf, arm64, amd64)
dogtag-pki/10.8.3-1ubuntu1 (armhf, arm64, amd64, s390x, ppc64el)
booth/1.0-174-gce9f821-1 (arm64)
apache2/2.4.41-4ubuntu3.1 (armhf)
libpff/20180714-2 (armhf, arm64, amd64, s390x, ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#glibc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (glibc/2.32-0ubuntu3.1)

All autopkgtests for the newly accepted glibc (2.32-0ubuntu3.1) for groovy have finished running.
The following regressions have been reported in tests triggered by the package:

snapd-glib/1.58-0ubuntu0.20.10.0 (armhf)
libcompress-raw-bzip2-perl/unknown (armhf)
node-ws/7.3.0+~cs24.0.3-1build1 (s390x, armhf, ppc64el, amd64, arm64)
austin/unknown (armhf)
r-bioc-rhdf5lib/1.10.1+dfsg-1 (armhf)
tup/0.7.8-3 (arm64)
r-cran-seurat/unknown (armhf)
python-pomegranate/unknown (armhf)
ruby-mysql2/0.5.2-1ubuntu3 (armhf)
libdevel-cover-perl/1.36-1build1 (armhf)
undbx/unknown (armhf)
libtime-warp-perl/0.54-1build1 (ppc64el)
statsprocessor/unknown (armhf)
pycurl/7.43.0.2-7 (armhf)
libhash-fieldhash-perl/unknown (armhf)
reprotest/0.7.15 (s390x)
r-cran-httpuv/1.5.4+dfsg-1 (armhf)
libosinfo/unknown (armhf)
r-cran-batchtools/unknown (armhf)
chiark-tcl/1.3.4ubuntu3 (armhf)
libdbd-mariadb-perl/1.11-3ubuntu2 (s390x, ppc64el, amd64, arm64)
firefox/84.0+build3-0ubuntu0.20.10.1 (arm64)
hilive/2.0a-3build2 (amd64)
etcd/3.2.26+dfsg-8 (amd64)
libdbd-mariadb-perl/unknown (armhf)
prometheus/unknown (armhf)
libticonv/unknown (armhf)
notary/0.6.1~ds2-6 (armhf)
firebird3.0/unknown (armhf)
burrow/unknown (armhf)
ruby-stackprof/0.2.15-2 (arm64)
gnutls28/3.6.15-4ubuntu2 (i386, amd64, s390x, arm64, ppc64el, armhf)
postgresql-plproxy/2.9-2 (armhf)
librg-blast-parser-perl/0.03-6build2 (armhf)
binutils/2.35.1-1ubuntu1 (armhf)
clutter-1.0/1.26.4+dfsg-1 (arm64)
transtermhp/2.09-5 (armhf)
genext2fs/1.5.0-1 (s390x)
python-cmarkgfm/unknown (armhf)
libpff/20180714-2 (s390x, armhf, ppc64el, amd64, arm64)
debsig-verify/unknown (armhf)
bosh/unknown (armhf)
casync/2+20190213-1 (amd64)
golang-github-spf13-cobra/unknown (armhf)
tpm2-tools/unknown (armhf)
umockdev/0.14.3-1 (armhf)
crrcsim/unknown (armhf)
postgis/3.0.2+dfsg-2ubuntu2 (amd64)
r-cran-proc/unknown (armhf)
mercurial/5.5.1-1 (armhf)
r-cran-dqrng/unknown (armhf)
frobby/unknown (armhf)
libcrypt-cast5-perl/unknown (armhf)
drumkv1/0.9.17-1 (ppc64el)
nsf/unknown (armhf)
python3-lxc/1:3.0.4-1ubuntu6 (s390x)
hyphy/2.5.1+dfsg-3build1 (amd64)
fatrace/0.16-1 (arm64)
bio-rainbow/unknown (armhf)
python-fabio/0.10.2+dfsg-2 (armhf)
hhsuite/3.2.0-3 (amd64)
libperlio-layers-perl/0.012-1 (armhf)
postgresql-common/unknown (armhf)
menhir/20200624-1 (s390x)
notify-osd/0.9.35+20.04.20191129-0ubuntu1 (ppc64el)
r-cran-xfun/unknown (armhf)
gifsicle/1.92-2 (armhf)
libunix-processors-perl/unknown (armhf)
freebayes/unknown (armhf)
alertmanager-irc-relay/0.1.0-3 (arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/groovy/update_excuses.html#glibc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Balint Reczey (rbalint) wrote :
Download full text (3.5 KiB)

Verified 2.32-0ubuntu3.1 on Groovy (using glibc binary packages binary-copied to a PPA):

root@gg-icc:~# vi test.c
root@gg-icc:~# /opt/intel/oneapi/compiler/2021.1.2/linux/bin/intel64/icc -c test.c
In file included from /opt/intel/oneapi/compiler/2021.1.2/linux/bin/intel64/../../compiler/include/icc/tgmath.h(25),
                 from test.c(1):
/usr/include/tgmath.h(54): error: #error directive: "Unsupported combination of types for <tgmath.h>."
  # error "Unsupported combination of types for <tgmath.h>."
     ^

compilation aborted for test.c (code 2)

root@gg-icc:~# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'apt autoremove' to remove it.
The following packages will be upgraded:
  libc-bin libc-dev-bin libc6 libc6-dev locales
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 9339 kB of archives.
After this operation, 2048 B of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ppa.launchpad.net/rbalint/scratch4/ubuntu groovy/main amd64 libc6-dev amd64 2.32-0ubuntu3.1 [2130 kB]
Get:2 http://ppa.launchpad.net/rbalint/scratch4/ubuntu groovy/main amd64 libc-dev-bin amd64 2.32-0ubuntu3.1 [30.8 kB]
Get:3 http://ppa.launchpad.net/rbalint/scratch4/ubuntu groovy/main amd64 libc6 amd64 2.32-0ubuntu3.1 [2682 kB]
Get:4 http://ppa.launchpad.net/rbalint/scratch4/ubuntu groovy/main amd64 libc-bin amd64 2.32-0ubuntu3.1 [617 kB]
Get:5 http://ppa.launchpad.net/rbalint/scratch4/ubuntu groovy/main amd64 locales all 2.32-0ubuntu3.1 [3879 kB]
Fetched 9339 kB in 3s (3189 kB/s)
Preconfiguring packages ...
(Reading database ... 67950 files and directories currently installed.)
Preparing to unpack .../libc6-dev_2.32-0ubuntu3.1_amd64.deb ...
Unpacking libc6-dev:amd64 (2.32-0ubuntu3.1) over (2.32-0ubuntu3) ...
Preparing to unpack .../libc-dev-bin_2.32-0ubuntu3.1_amd64.deb ...
Unpacking libc-dev-bin (2.32-0ubuntu3.1) over (2.32-0ubuntu3) ...
Preparing to unpack .../libc6_2.32-0ubuntu3.1_amd64.deb ...
Unpacking libc6:amd64 (2.32-0ubuntu3.1) over (2.32-0ubuntu3) ...
Setting up libc6:amd64 (2.32-0ubuntu3.1) ...
(Reading database ... 67950 files and directories currently installed.)
Preparing to unpack .../libc-bin_2.32-0ubuntu3.1_amd64.deb ...
Unpacking libc-bin (2.32-0ubuntu3.1) over (2.32-0ubuntu3) ...
Setting up libc-bin (2.32-0ubuntu3.1) ...
(Reading database ... 67950 files and directories currently installed.)
Preparing to unpack .../locales_2.32-0ubuntu3.1_all.deb ...
Unpacking locales (2.32-0ubuntu3.1) over (2.32-0ubuntu3) ...
Setting up locales (2.32-0ubuntu3.1) ...
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
Setting up libc-dev-bin (2.32-0ubuntu3.1) ...
Setting up libc6-dev:amd64 (2.32-0ubuntu3.1) ...
Processing triggers for man-db (2.9.3-2) ...
root@gg-icc:~# /opt/intel/oneapi/compiler/2021.1.2/linux/bin/intel64/icc -c test.c
root@gg-icc:~# dpkg -S /usr/include/tgmath.h
libc6-dev:amd64: /usr/include/tgmath.h
root@gg-icc:~# dpkg -l libc6-dev
Desired=Unknown/Install/Remo...

Read more...

tags: added: verification-done-groovy
removed: verification-needed-groovy
Revision history for this message
Balint Reczey (rbalint) wrote :
Download full text (4.9 KiB)

Verified 2.31-0ubuntu9.2 on Focal:

root@ff-icc:~# /opt/intel/oneapi/compiler/2021.1.2/linux/bin/intel64/icc -c test.c
In file included from /opt/intel/oneapi/compiler/2021.1.2/linux/bin/intel64/../../compiler/include/icc/tgmath.h(25),
                 from test.c(1):
/usr/include/tgmath.h(54): error: #error directive: "Unsupported combination of types for <tgmath.h>."
  # error "Unsupported combination of types for <tgmath.h>."
     ^

compilation aborted for test.c (code 2)
root@ff-icc:~# dpkg -l libc6-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============-===============-============-=====================================================
ii libc6-dev:amd64 2.31-0ubuntu9.1 amd64 GNU C Library: Development Libraries and Header Files
root@ff-icc:~# sed -i s/backports/proposed/ /etc/apt/sources.list
root@ff-icc:~# apt update
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Get:3 http://archive.ubuntu.com/ubuntu focal-proposed InRelease [267 kB]
Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Get:5 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64 Packages [213 kB]
Hit:6 https://apt.repos.intel.com/oneapi all InRelease
Get:7 http://archive.ubuntu.com/ubuntu focal-proposed/main Translation-en [51.6 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64 c-n-f Metadata [2524 B]
Get:9 http://archive.ubuntu.com/ubuntu focal-proposed/restricted amd64 Packages [36.5 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal-proposed/restricted Translation-en [5460 B]
Get:11 http://archive.ubuntu.com/ubuntu focal-proposed/restricted amd64 c-n-f Metadata [116 B]
Get:12 http://archive.ubuntu.com/ubuntu focal-proposed/universe amd64 Packages [51.9 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal-proposed/universe Translation-en [24.3 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal-proposed/universe amd64 c-n-f Metadata [1612 B]
Get:15 http://archive.ubuntu.com/ubuntu focal-proposed/multiverse amd64 Packages [704 B]
Get:16 http://archive.ubuntu.com/ubuntu focal-proposed/multiverse Translation-en [3752 B]
Get:17 http://archive.ubuntu.com/ubuntu focal-proposed/multiverse amd64 c-n-f Metadata [192 B]
Fetched 658 kB in 1s (831 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
25 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@ff-icc:~# apt install libc6-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libfreetype6 libpciaccess0
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libc-dev-bin libc6
Suggested packages:
  glibc-doc
The following packages will be upgraded:
  libc-dev-bin libc6 libc6-dev
3 upgraded, 0 newly installed, 0 to remove and 22 not upgraded...

Read more...

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal
Changed in intel:
status: Incomplete → Invalid
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for glibc has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package glibc - 2.31-0ubuntu9.2

---------------
glibc (2.31-0ubuntu9.2) focal; urgency=medium

  * Drop check preventing using float128 which breaks new icc (LP: #1895358)
  * Detect debconf consistently in libc6.preinst and do not crash if it is
    not used (LP: #1902955)
  * Ship libc variant compiled for profiling in libc6-prof (LP: #1908307)
  * elf: Add endianness markup to ld.so.cache (Closes: #731082) (LP: #1906250)

 -- Balint Reczey <email address hidden> Wed, 16 Dec 2020 12:04:55 +0100

Changed in glibc (Ubuntu Focal):
status: Fix Committed → Fix Released
tags: added: block-proposed-groovy
Mathew Hodson (mhodson)
affects: intel → ubuntu-translations
no longer affects: ubuntu-translations
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello <email address hidden>, or anyone else affected,

Accepted glibc into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/glibc/2.32-0ubuntu3.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed verification-needed-groovy
removed: verification-done verification-done-groovy
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (glibc/2.32-0ubuntu3.2)

All autopkgtests for the newly accepted glibc (2.32-0ubuntu3.2) for groovy have finished running.
The following regressions have been reported in tests triggered by the package:

cyrus-imapd/3.2.3-2ubuntu1 (armhf)
pyqt5/5.15.0+dfsg-1 (s390x)
libsass/3.6.4-3 (s390x)
network-manager/1.26.2-1ubuntu1 (arm64)
reprotest/0.7.15 (s390x)
flatpak/1.8.2-1ubuntu0.1 (arm64)
puma/3.12.4-1ubuntu2 (arm64, s390x)
libtext-charwidth-perl/0.04-10 (ppc64el)
systemd/246.6-1ubuntu1.3 (arm64)
taptempo/1.4.5-1 (arm64)
uftrace/0.9.3-1ubuntu1 (arm64)
libgdata/0.17.12-1 (armhf)
cysignals/1.10.2+ds-4 (amd64)
hyphy/2.5.1+dfsg-3build1 (amd64)
glibc/2.32-0ubuntu3.2 (amd64)
libdate-simple-perl/3.0300-3 (arm64)
netplan.io/0.101-0ubuntu3~20.10.1 (amd64)
libastro-fits-cfitsio-perl/1.14-1 (ppc64el)
fwlogwatch/1.4-2 (arm64)
pandas/1.0.5+dfsg-3 (ppc64el, armhf, s390x, amd64, arm64)
rhonabwy/0.9.12-2build1 (s390x)
jailkit/2.21-2 (ppc64el)
openjdk-lts/11.0.10+9-0ubuntu1~20.10 (s390x)
dbus/1.12.20-1ubuntu1 (arm64)
pymca/5.5.5+dfsg-2build2 (arm64)
euslisp/9.27+dfsg-6 (armhf, amd64)
libflame/5.2.0-2 (amd64)
samtools/1.10-4 (arm64)
syncthing/1.10.0~ds1-1 (amd64, s390x)
endlessh/1.1-4 (armhf)
r-cran-amore/0.2-16-1build1 (ppc64el)
crrcsim/0.9.13-3.2build1 (ppc64el)
samplv1/0.9.17-1 (ppc64el)
hugo/0.74.3-1 (armhf)
libcsfml/2.5-1build1 (ppc64el)
firefox/87.0+build3-0ubuntu0.20.10.1 (armhf)
etcd/3.2.26+dfsg-8 (amd64)
libnxml/0.18.3-8 (s390x)
google-osconfig-agent/20210219.00-0ubuntu1~20.10.0 (armhf)
combblas/1.6.2-5build1 (arm64)
libbio-db-hts-perl/3.01-3 (amd64)
libterm-readkey-perl/2.38-1build1 (s390x)
ruby2.7/2.7.1-3ubuntu1.2 (armhf)
hkl/5.0.0.2620-1build1 (ppc64el)
liblinux-inotify2-perl/1:2.2-2 (ppc64el)
datefudge/1.24 (ppc64el)
libpgplot-perl/1:2.24-1build1 (s390x)
healpy/1.14.0-1 (arm64)
udisks2/2.9.1-2ubuntu1 (amd64)
kopanocore/8.7.0-7ubuntu4 (arm64)
gyoto/1.4.4-3build1 (s390x)
cpdb-libs/1.2.0-0ubuntu8 (armhf)
ruby-concurrent/1.1.6+dfsg-3 (amd64)
postgis/3.0.2+dfsg-2ubuntu2 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/groovy/update_excuses.html#glibc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Balint Reczey (rbalint)
Changed in glibc (Ubuntu Groovy):
assignee: Balint Reczey (rbalint) → nobody
Revision history for this message
Brian Murray (brian-murray) wrote :

The Groovy Gorilla has reached end of life, so this bug will not be fixed for that release

Changed in glibc (Ubuntu Groovy):
status: Fix Committed → Won't Fix
Revision history for this message
James Grey (jg-user-00000001) wrote :

This bug is marked as Fix Released in Focal (20.04) but it is not fixed as of January 22. libc6-dev, the package that provides tgmath.h is still 2.31, and it seems the fix was introduced in 2.32, which is not available on 20.04 repos.

Revision history for this message
Dan Bungert (dbungert) wrote :

@James Grey - it looks like the fix for this was done as an update to 2.31 rather than updating focal to 2.32 outright, which would presumably be very disruptive. You may wish to check the 2.31-0ubuntu9.2 (or later) version of the package.

Revision history for this message
James Grey (jg-user-00000001) wrote :

I am using the latest libc6-dev, 2.31-0ubuntu9.2. I guess it's possible I ran into the same issue from a different angle, so to speak, and that the fix does not cover my corner case, which is running clang-tidy and clang-sa against clang compiled code. The initial compile works fine but the analysis stage throws a clang-diagnostic-error when it tries to analyze files that include tgmath.h, which is why I'm here. Even looking at newer versions on http://ftp.gnu.org/gnu/libc/?C=M;O=D I don't seen any change in the tgmath.h file from 2.31 to 2.34. I'm at a loss as to when and how this was fixed, and where I can access the fix.

Revision history for this message
Dan Bungert (dbungert) wrote :

> I guess it's possible I ran into the same issue from a different angle
I'm starting to suspect that. Note that the bug as filed is with icc, not clang.

Do you have a shareable test case? Running focal clang against the test case listed in the description on this bug seems to work, as does icc when I did the steps from here https://estuarine.jp/2021/03/install-oneapi/?lang=en.

Revision history for this message
James Grey (jg-user-00000001) wrote :

> I'm starting to suspect that. Note that the bug as filed is with icc, not clang.
Indeed. That's why I wanted to see the fix, I assume some ifdef logic was used, so I could try to apply that fix to my case. But tbh I figured out that my code's include of tgmath.h was extraneous, so I just removed it and everything seems to be fine on my end.

> Do you have a shareable test case?
I don't have a quick test I can share right now. I can share the scenario:

1) Install CodeChecker dependencies:
sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config

2) Install CodeChecker:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade (reboot if does anything)
sudo npm install -g npm
sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config
sudo apt-get install clang clang-tidy clang-tools build-essential curl gcc-multilib git python3-dev python3-venv
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
git clone https://github.com/Ericsson/CodeChecker.git --depth 1 ~/codechecker
cd ~/codechecker
make package
cd ..

3) Add $HOME/codechecker/build/CodeChecker/bin to your PATH like example below
export PATH=$HOME/bin:$PHOME/bin:/usr/local/go/bin:$GOROOT/bin:$HOME/codechecker/build/CodeChecker/bin:$PATH

4) Have a piece of C code that includes tgmath.h, and run Codechecker on it like below:
CodeChecker log --build "make" --output ~/my_test_compile_commands.json
CodeChecker analyze ~/my_test_compile_commands.json --enable-all --enable sensitive --output ~/cc-my_test

At this point you'll see the clang-diagnostic-error message about an unsupported combination of types.

As I said I have a workaround already, which is to not use tgmath.h (lol). But maybe this will help someone else. Thanks for your attention!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.