Bug 2491639

Summary: perl-Crypt-SSLeay-0.72-50.fc45 FTBFS with OpenSSL 4: SSLeay.xs:524:53: error: invalid use of incomplete typedef ‘ASN1_TIME’
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: perl-Crypt-SSLeayAssignee: Petr Pisar <ppisar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 45CC: jplesnik, mspacek, perl-devel, rhughes, rstrode
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org//package/perl-Crypt-SSLeay
Whiteboard:
Fixed In Version: perl-Crypt-SSLeay-0.72-51.fc45 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-07-07 10:08:42 UTC Type: Bug
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: 2433833    

Description Petr Pisar 2026-06-23 07:32:41 UTC
perl-Crypt-SSLeay-0.72-50.fc45 fails to build in Fedora 45:

gcc -c   -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   -DVERSION=\"0.72\" -DXS_VERSION=\"0.72\" -fPIC "-I/usr/lib64/perl5/CORE"   SSLeay.c
SSLeay.c: In function ‘XS_Crypt__SSLeay__CTX_new’:
SSLeay.c:288:17: warning: unused variable ‘packname’ [-Wunused-variable]
  288 |         SV*     packname = ST(0)
      |                 ^~~~~~~~
SSLeay.c: In function ‘XS_Crypt__SSLeay__Conn_new’:
SSLeay.c:599:17: warning: unused variable ‘packname’ [-Wunused-variable]
  599 |         SV*     packname = ST(0)
      |                 ^~~~~~~~
SSLeay.xs: In function ‘XS_Crypt__SSLeay__X509_get_notBeforeString’:
SSLeay.xs:516:54: error: invalid use of incomplete typedef ‘ASN1_TIME’ {aka ‘struct asn1_string_st’}
  516 |             RETVAL = (char *)X509_get_notBefore(cert)->data;
      |                                                      ^~
SSLeay.xs: In function ‘XS_Crypt__SSLeay__X509_get_notAfterString’:
SSLeay.xs:524:53: error: invalid use of incomplete typedef ‘ASN1_TIME’ {aka ‘struct asn1_string_st’}
  524 |             RETVAL = (char *)X509_get_notAfter(cert)->data;
      |                                                     ^~
make: *** [Makefile:357: SSLeay.o] Error 1

This is triggered by upgrading openssl-devel from 1:3.5.7-1.fc45 to 1:4.0.1-1.fc45. OpenSSL 4 intentionally made asn1_string_st structure opaque and its internals need to be accesses with function calls.