Public bug reported:

fis-gtm 7.1-008-1 has been stuck in stonking-proposed for ~346 days.
update_excuses reports:

  missing build on amd64: fis-gtm, fis-gtm-7.0 (from 7.0-005-2.1)
  missing build on amd64v3: fis-gtm, fis-gtm-7.0 (from 7.0-005-2.1)

Build log (amd64): https://launchpad.net/ubuntu/+source/fis-
gtm/7.1-008-1/+build/32793430

Failure:

  sr_unix/gtm_tls_impl.c:675:38: error: assignment discards 'const' qualifier 
from pointer target type [-Werror=discarded-qualifiers]
    675 |    optionendptr = strstr((const char *)parse_ptr, OPTIONENDSTR);
  (same at lines 712, 819, 1119, 1165, 1446, 1774, 1796)
  sr_port/op_fnzsocket.c:676:59: error: assignment discards 'const' qualifier 
from pointer target type [-Werror=discarded-qualifiers]
    676 |    optionend = strstr((const char *)charptr, OPTIONENDSTR);

Cause:
Recent glibc (2.43+, stonking has 2.44) implements the C23 
"qualifier-preserving" string functions: when strstr()/strchr()/... are passed 
a const char *, the result is now const char * as well. fis-gtm builds with 
-D_GNU_SOURCE (which enables these), passes a const-cast pointer to strstr() 
and assigns the result to a plain char *. Upstream's CMakeLists.txt adds 
-Werror to CMAKE_C_FLAGS, so the new warning is fatal.
(Not a gcc or OpenSSL issue; the build used gcc-15 15.3.0-4ubuntu1 and the 
failing code is plain string handling.)

Debian / upstream status:
- Debian unstable has fis-gtm 7.2-000-2 (built on amd64 there), with no open 
bug about this.
- Upstream fixed it in 7.2-000: the assignments are now e.g.
    optionendptr = (char *)strstr((const char *)parse_ptr, OPTIONENDSTR);
    optionend = (char *)strstr(charptr, OPTIONENDSTR);
- Debian 7.2-000-2 changelog also adds openssl to Build-Depends (Debian 
#1148330) and excludes i386 from Build-Depends.

Suggested direction (to be done by whoever picks this up):
- Test-build Debian's fis-gtm 7.2-000-2 in stonking (amd64; the package is 
amd64-only in practice). Check whether other strstr/strchr const issues remain 
elsewhere in the tree with glibc 2.44 (-Werror makes any remaining one fatal).
- If it builds cleanly, request a sync of 7.2-000-2 (we are in Pre-release 
Freeze, so check whether a freeze exception/unblock is needed for a new 
upstream version). If more spots fail, either backport the equivalent casts as 
an Ubuntu delta on top of 7.2 and forward them upstream/to Debian, or, as a 
stopgap, add -Wno-error=discarded-qualifiers.
- Note the binary package rename: 7.1/7.2 ship fis-gtm-7.2 (Debian) vs 
fis-gtm-7.0 in stonking release; check that the old fis-gtm-7.0 binary gets 
cleaned up (NBS) once the new version migrates.

** Affects: fis-gtm (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: ftbfs update-excuse

** Tags added: update-excuse

** Tags added: ftbfs

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

Title:
  fis-gtm 7.1-008-1 FTBFS in stonking: strstr() const result with glibc
  2.44 + -Werror (fixed upstream in 7.2)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/fis-gtm/+bug/2170319/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to