Bug 2252471

Summary: s390utils: FTBFS in Fedora Rawhide
Product: [Fedora] Fedora Reporter: Fabio Valentini <decathorpe>
Component: s390utilsAssignee: Dan Horák <dan>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: dan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
URL: https://koschei.fedoraproject.org/package/s390utils
Whiteboard:
Fixed In Version: s390utils-2.29.0-6.fc40 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-12-13 10:52:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 467765    

Description Fabio Valentini 2023-12-01 21:55:28 UTC
Description of problem:
Package s390utils fails to build from source in Fedora Rawhide.

I wanted to rebuild it to address to security advisories for the "openssl" Rust crate:

- https://rustsec.org/advisories/RUSTSEC-2023-0044.html
- https://rustsec.org/advisories/RUSTSEC-2023-0072.html

The package builds fine on other architectures, but fails on s390x. It appears that this might be caused by tightened C compiler flags and / or API changes in libxml2 - from the build log:

================================================================================
https.c:480:22: error: implicit declaration of function ‘xmlParseChunk’ [-Werror=implicit-function-declaration]
  480 |                 rc = xmlParseChunk(cb->xml.ctx, (const char *)contents, num, 0);
      |                      ^~~~~~~~~~~~~
https.c:481:27: error: ‘XML_ERR_OK’ undeclared (first use in this function); did you mean ‘MC_ERROR’?
  481 |                 if (rc != XML_ERR_OK) {
      |                           ^~~~~~~~~~
      |                           MC_ERROR
https.c:481:27: note: each undeclared identifier is reported only once for each function it appears in
https.c: In function ‘kmip_connection_https_perform’:
https.c:572:36: error: implicit declaration of function ‘xmlCreatePushParserCtxt’ [-Werror=implicit-function-declaration]
  572 |                 write_cb.xml.ctx = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0,
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~
https.c:572:34: warning: assignment to ‘xmlParserCtxtPtr’ {aka ‘struct _xmlParserCtxt *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  572 |                 write_cb.xml.ctx = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0,
      |                                  ^
https.c:762:27: error: ‘XML_ERR_OK’ undeclared (first use in this function); did you mean ‘MC_ERROR’?
  762 |                 if (rc != XML_ERR_OK || !write_cb.xml.ctx->wellFormed ||
      |                           ^~~~~~~~~~
      |                           MC_ERROR
https.c:762:58: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  762 |                 if (rc != XML_ERR_OK || !write_cb.xml.ctx->wellFormed ||
      |                                                          ^~
https.c:763:37: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  763 |                     write_cb.xml.ctx->myDoc == NULL) {
      |                                     ^~
https.c:770:65: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  770 |                                                 write_cb.xml.ctx->myDoc),
      |                                                                 ^~
https.c:801:52: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  801 |                         xmlFreeDoc(write_cb.xml.ctx->myDoc);
      |                                                    ^~
https.c:802:25: error: implicit declaration of function ‘xmlFreeParserCtxt’ [-Werror=implicit-function-declaration]
  802 |                         xmlFreeParserCtxt(write_cb.xml.ctx);
      |                         ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
================================================================================

Version-Release number of selected component (if applicable):
2.29.0-5.fc40

Steps to Reproduce:
koji build --scratch f40 s390utils-2.29.0-5.fc40.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/s390utils

Reproducible: Always

Comment 1 Dan Horák 2023-12-05 13:20:37 UTC
Yyeah, it might be the missing <xml/parser.h> include caused by the rebase. I will look when I get "my" s390x development machine back next week.