For focal the commit d14e7593cc6
(https://github.com/ibm-s390-linux/s390-tools/commit/d14e7593cc6380911ca42b09e11c53477ae13d5c)
does not properly build and the logs show a few errors: https://launchpadlibrarian.net/723098720/buildlog_ubuntu-focal-s390x.s390-tools_2.12.0-0ubuntu3.8_BUILDING.txt.gz
(search for "error:")
"
utils/crypto.c: In function ‘x509_armonk_locality_fixup’:
utils/crypto.c:770:22: error: passing argument 1 of ‘X509_NAME_dup’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
770 | ret = X509_NAME_dup(name);
| ^~~~
In file included from /usr/include/openssl/pem.h:17, from utils/crypto.c:17:
/usr/include/openssl/x509.h:482:12: note: expected ‘X509_NAME *’ {aka ‘struct X509_name_st *’} but argument is of type ‘const X509_NAME *’ {aka ‘const struct X509_name_st *’}
482 | X509_NAME *X509_NAME_dup(X509_NAME *xn);
| ^~~~~~~~~~~~~
utils/crypto.c: In function ‘quirk_X509_STORE_ctx_get1_crls’:
utils/crypto.c:888:8: error: implicit declaration of function ‘Pv_X509_STORE_CTX_get1_crls’; did you mean ‘X509_STORE_CTX_get1_crls’? [-Werror=implicit-function-declaration]
888 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, subject);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| X509_STORE_CTX_get1_crls
utils/crypto.c:888:8: error: nested extern declaration of ‘Pv_X509_STORE_CTX_get1_crls’ [-Werror=nested-externs]
utils/crypto.c:888:6: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
888 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, subject);
| ^
utils/crypto.c:902:7: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
902 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
utils/crypto.c:913:7: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
913 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
utils/crypto.c:925:6: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
925 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
"
and
"
utils/crypto.c: In function ‘x509_armonk_locality_fixup’:
utils/crypto.c:770:22: error: passing argument 1 of ‘X509_NAME_dup’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
770 | ret = X509_NAME_dup(name);
| ^~~~
In file included from /usr/include/openssl/pem.h:17, from utils/crypto.c:17:
/usr/include/openssl/x509.h:482:12: note: expected ‘X509_NAME *’ {aka ‘struct X509_name_st *’} but argument is of type ‘const X509_NAME *’ {aka ‘const struct X509_name_st *’}
482 | X509_NAME *X509_NAME_dup(X509_NAME *xn);
| ^~~~~~~~~~~~~
utils/crypto.c: In function ‘quirk_X509_STORE_ctx_get1_crls’:
utils/crypto.c:888:8: error: implicit declaration of function ‘Pv_X509_STORE_CTX_get1_crls’; did you mean ‘X509_STORE_CTX_get1_crls’? [-Werror=implicit-function-declaration]
888 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, subject);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| X509_STORE_CTX_get1_crls
utils/crypto.c:888:8: error: nested extern declaration of ‘Pv_X509_STORE_CTX_get1_crls’ [-Werror=nested-externs]
utils/crypto.c:888:6: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
888 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, subject);
| ^
utils/crypto.c:902:7: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
902 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
utils/crypto.c:913:7: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
913 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
utils/crypto.c:925:6: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
925 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
utils/crypto.c: In function ‘x509_armonk_locality_fixup’:
utils/crypto.c:770:22: error: passing argument 1 of ‘X509_NAME_dup’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
770 | ret = X509_NAME_dup(name);
| ^~~~
In file included from /usr/include/openssl/pem.h:17, from utils/crypto.c:17:
/usr/include/openssl/x509.h:482:12: note: expected ‘X509_NAME *’ {aka ‘struct X509_name_st *’} but argument is of type ‘const X509_NAME *’ {aka ‘const struct X509_name_st *’}
482 | X509_NAME *X509_NAME_dup(X509_NAME *xn);
| ^~~~~~~~~~~~~
utils/crypto.c: In function ‘quirk_X509_STORE_ctx_get1_crls’:
utils/crypto.c:888:8: error: implicit declaration of function ‘Pv_X509_STORE_CTX_get1_crls’; did you mean ‘X509_STORE_CTX_get1_crls’? [-Werror=implicit-function-declaration]
888 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, subject);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| X509_STORE_CTX_get1_crls
utils/crypto.c:888:8: error: nested extern declaration of ‘Pv_X509_STORE_CTX_get1_crls’ [-Werror=nested-externs]
utils/crypto.c:888:6: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
888 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, subject);
| ^
utils/crypto.c:902:7: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
902 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
utils/crypto.c:913:7: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
913 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
utils/crypto.c:925:6: error: assignment to ‘STACK_OF_X509_CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
925 | ret = Pv_X509_STORE_CTX_get1_crls(ctx, fixed_subject);
| ^
cc1: all warnings being treated as errors
make[4]: *** [../../common.mak:237: utils/crypto.o] Error 1
"
With that that the genprotimg build fails, genprotimg is omitted, but the rest of the package can be build and is finally packaged (without genprotimg).
This does not happen while building the s390-tools version for jammy and mantic,
so it's either another commit needed, or due to the different tool-chain.
So this unfortunately means that a backport of d14e7593cc6 is needed for focal.
For focal the commit d14e7593cc6 /github. com/ibm- s390-linux/ s390-tools/ commit/ d14e7593cc63809 11ca42b09e11c53 477ae13d5c) /launchpadlibra rian.net/ 723098720/ buildlog_ ubuntu- focal-s390x. s390-tools_ 2.12.0- 0ubuntu3. 8_BUILDING. txt.gz locality_ fixup’: c:770:22: error: passing argument 1 of ‘X509_NAME_dup’ discards ‘const’ qualifier from pointer target type [-Werror= discarded- qualifiers] dup(name) ; openssl/ pem.h:17,
from utils/crypto.c:17: openssl/ x509.h: 482:12: note: expected ‘X509_NAME *’ {aka ‘struct X509_name_st *’} but argument is of type ‘const X509_NAME *’ {aka ‘const struct X509_name_st *’} dup(X509_ NAME *xn); X509_STORE_ ctx_get1_ crls’: c:888:8: error: implicit declaration of function ‘Pv_X509_ STORE_CTX_ get1_crls’ ; did you mean ‘X509_STORE_ CTX_get1_ crls’? [-Werror= implicit- function- declaration] STORE_CTX_ get1_crls( ctx, subject); ~~~~~~~ ~~~~~~~ ~~~~~~ CTX_get1_ crls c:888:8: error: nested extern declaration of ‘Pv_X509_ STORE_CTX_ get1_crls’ [-Werror= nested- externs] c:888:6: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, subject); c:902:7: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); c:913:7: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); c:925:6: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); locality_ fixup’: c:770:22: error: passing argument 1 of ‘X509_NAME_dup’ discards ‘const’ qualifier from pointer target type [-Werror= discarded- qualifiers] dup(name) ; openssl/ pem.h:17,
from utils/crypto.c:17: openssl/ x509.h: 482:12: note: expected ‘X509_NAME *’ {aka ‘struct X509_name_st *’} but argument is of type ‘const X509_NAME *’ {aka ‘const struct X509_name_st *’} dup(X509_ NAME *xn); X509_STORE_ ctx_get1_ crls’: c:888:8: error: implicit declaration of function ‘Pv_X509_ STORE_CTX_ get1_crls’ ; did you mean ‘X509_STORE_ CTX_get1_ crls’? [-Werror= implicit- function- declaration] STORE_CTX_ get1_crls( ctx, subject); ~~~~~~~ ~~~~~~~ ~~~~~~ CTX_get1_ crls c:888:8: error: nested extern declaration of ‘Pv_X509_ STORE_CTX_ get1_crls’ [-Werror= nested- externs] c:888:6: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, subject); c:902:7: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); c:913:7: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); c:925:6: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); locality_ fixup’: c:770:22: error: passing argument 1 of ‘X509_NAME_dup’ discards ‘const’ qualifier from pointer target type [-Werror= discarded- qualifiers] dup(name) ; openssl/ pem.h:17,
from utils/crypto.c:17: openssl/ x509.h: 482:12: note: expected ‘X509_NAME *’ {aka ‘struct X509_name_st *’} but argument is of type ‘const X509_NAME *’ {aka ‘const struct X509_name_st *’} dup(X509_ NAME *xn); X509_STORE_ ctx_get1_ crls’: c:888:8: error: implicit declaration of function ‘Pv_X509_ STORE_CTX_ get1_crls’ ; did you mean ‘X509_STORE_ CTX_get1_ crls’? [-Werror= implicit- function- declaration] STORE_CTX_ get1_crls( ctx, subject); ~~~~~~~ ~~~~~~~ ~~~~~~ CTX_get1_ crls c:888:8: error: nested extern declaration of ‘Pv_X509_ STORE_CTX_ get1_crls’ [-Werror= nested- externs] c:888:6: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, subject); c:902:7: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); c:913:7: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); c:925:6: error: assignment to ‘STACK_ OF_X509_ CRL_autoptr’ {aka ‘struct stack_st_X509_CRL *’} from ‘int’ makes pointer from integer without a cast [-Werror= int-conversion] STORE_CTX_ get1_crls( ctx, fixed_subject); common. mak:237: utils/crypto.o] Error 1
(https:/
does not properly build and the logs show a few errors:
https:/
(search for "error:")
"
utils/crypto.c: In function ‘x509_armonk_
utils/crypto.
770 | ret = X509_NAME_
| ^~~~
In file included from /usr/include/
/usr/include/
482 | X509_NAME *X509_NAME_
| ^~~~~~~~~~~~~
utils/crypto.c: In function ‘quirk_
utils/crypto.
888 | ret = Pv_X509_
| ^~~~~~~
| X509_STORE_
utils/crypto.
utils/crypto.
888 | ret = Pv_X509_
| ^
utils/crypto.
902 | ret = Pv_X509_
| ^
utils/crypto.
913 | ret = Pv_X509_
| ^
utils/crypto.
925 | ret = Pv_X509_
| ^
"
and
"
utils/crypto.c: In function ‘x509_armonk_
utils/crypto.
770 | ret = X509_NAME_
| ^~~~
In file included from /usr/include/
/usr/include/
482 | X509_NAME *X509_NAME_
| ^~~~~~~~~~~~~
utils/crypto.c: In function ‘quirk_
utils/crypto.
888 | ret = Pv_X509_
| ^~~~~~~
| X509_STORE_
utils/crypto.
utils/crypto.
888 | ret = Pv_X509_
| ^
utils/crypto.
902 | ret = Pv_X509_
| ^
utils/crypto.
913 | ret = Pv_X509_
| ^
utils/crypto.
925 | ret = Pv_X509_
| ^
utils/crypto.c: In function ‘x509_armonk_
utils/crypto.
770 | ret = X509_NAME_
| ^~~~
In file included from /usr/include/
/usr/include/
482 | X509_NAME *X509_NAME_
| ^~~~~~~~~~~~~
utils/crypto.c: In function ‘quirk_
utils/crypto.
888 | ret = Pv_X509_
| ^~~~~~~
| X509_STORE_
utils/crypto.
utils/crypto.
888 | ret = Pv_X509_
| ^
utils/crypto.
902 | ret = Pv_X509_
| ^
utils/crypto.
913 | ret = Pv_X509_
| ^
utils/crypto.
925 | ret = Pv_X509_
| ^
cc1: all warnings being treated as errors
make[4]: *** [../../
"
With that that the genprotimg build fails, genprotimg is omitted, but the rest of the package can be build and is finally packaged (without genprotimg).
This does not happen while building the s390-tools version for jammy and mantic,
so it's either another commit needed, or due to the different tool-chain.
So this unfortunately means that a backport of d14e7593cc6 is needed for focal.