openssl: [Blocker] Build breakage at 3.0.3 on NonStop
As of 3.0.3, NonStop no longer builds. fipsprov.c now uses locale_t which was not in the previous version. Builds no longer work, as follows:
c99: running /usr/cmplr/ccomfe -Z8 -ZBL --c99 -ZO2 -Zg3 -ZS/tmp/t134217835AFDIHB.T -D_XOPEN_SOURCE -ZR8 -m -Zf -ZT -D_TANDEM_SOURCE -ZNW203 -ZNW220 -ZNW272 -ZNW734 -ZNW770 -ZNW1506 -Zz -I. -Icrypto -Iinclude -Iproviders/implementations/include -Iproviders/common/include -I/usr/include -DFIPS_MODULE -DOPENSSL_PIC -DOPENSSLDIR="/usr/local-ssl3.0/ssl" -DENGINESDIR="/usr/local-ssl3.0/lib64/engines-3" -DMODULESDIR="/usr/local-ssl3.0/lib64/ossl-modules" -DOPENSSL_BUILDING_OPENSSL -DOPENSSL_VPROC= -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN -D_TANDEM_ARCH=3 -DNDEBUG --rvu_version=1605 providers/fips/fipsprov.c
static locale_t loc;
^
"/home/ituglib/randall/jenkins/.jenkins/workspace/OpenSSL-3.0_Pipeline/providers/fips/fipsprov.c", line 50: error(114):
identifier "locale_t" is undefined
loc = newlocale(LC_COLLATE_MASK, "C", (locale_t) 0);
^
"/home/ituglib/randall/jenkins/.jenkins/workspace/OpenSSL-3.0_Pipeline/providers/fips/fipsprov.c", line 514: error(114):
identifier "newlocale" is undefined
loc = newlocale(LC_COLLATE_MASK, "C", (locale_t) 0);
^
"/home/ituglib/randall/jenkins/.jenkins/workspace/OpenSSL-3.0_Pipeline/providers/fips/fipsprov.c", line 514: error(114):
identifier "LC_COLLATE_MASK" is undefined
loc = newlocale(LC_COLLATE_MASK, "C", (locale_t) 0);
^
"/home/ituglib/randall/jenkins/.jenkins/workspace/OpenSSL-3.0_Pipeline/providers/fips/fipsprov.c", line 514: error(114):
identifier "locale_t" is undefined
loc = newlocale(LC_COLLATE_MASK, "C", (locale_t) 0);
^
"/home/ituglib/randall/jenkins/.jenkins/workspace/OpenSSL-3.0_Pipeline/providers/fips/fipsprov.c", line 514: error(112):
expected a ")"
return (loc == (locale_t) 0) ? 0 : 1;
^
"/home/ituglib/randall/jenkins/.jenkins/workspace/OpenSSL-3.0_Pipeline/providers/fips/fipsprov.c", line 516: error(112):
expected a ")"
freelocale(loc);
^
"/home/ituglib/randall/jenkins/.jenkins/workspace/OpenSSL-3.0_Pipeline/providers/fips/fipsprov.c", line 520: error(114):
identifier "freelocale" is undefined
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 39 (36 by maintainers)
There is no way around fixing the strcasecmp problem other than doing what we did. Apart from doing our own implementation which would have its own set of serious problems like performance regression.
Only for quite marginal systems which are not our primary targets.
Users of any system that are not within our primary targets should test the current code on the branches they use before release to report regressions. Or they should be prepared to patch the source post release.
If I had access to the operating system source code, many other problems would go away. Working on the patch.
I cannot get into the underlying library, so not really an option.