I've hit the exact same problem when trying to build OpenSSL, 3 using that exact same compiler version:
Code: Select all
LIBRARY/CREATE/OBJECT OSSL$libcrypto.OLB
...
LIBRARY/REPLACE OSSL$libcrypto.OLB [.providers.implementations.ciphers]libdefault-lib-cipher_aes_ocb.OBJ
%LIBRAR-E-DUPGLOBAL, global symbol aes_ocb_cipher from file USER:[LEVITTE.WRK._OPENSSL-3_3_0-DEV-X86_64.providers.implementations.ciphers]libdefault-lib-cipher_aes_ocb.OBJ;2 already in library USER:[LEVITTE.WRK._OPENSSL-3_3_0-DEV-X86_64]OSSL$LIBCRYPTO.OLB
%MMS-F-ABORT, For target OSSL$LIBCRYPTO.OLB, CLI returned abort status: %X108680B2.
%MMS-F-ABORT, For target BUILD_SW, CLI returned abort status: %X10EE8034.
Judging from hints I'm picking up over on github (
https://github.com/openssl/openssl/issues/22899), it appears that this may be a recent issue? @Antinode-org appears to have been able to build OpenSSL 3 with an earlier build of the compiler (X7.4-785 (GEM 50X65)).
Side note: The offending symbol in my case is defined the same way through out all OpenSSL 3 releases, so it makes no difference if the build is OpenSSL 3.0.12 or 3.3.0-dev (current master branch):
Code: Select all
$ git grep ' aes_ocb_cipher('
crypto/evp/e_aes.c:static int aes_ocb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
providers/implementations/ciphers/cipher_aes_ocb.c:static int aes_ocb_cipher(void *vctx, unsigned char *out, size_t *outl,
Added in 26 minutes 16 seconds:
A small detail I noticed is that while jjj is indeed made a global symbol, jj isn't:
Code: Select all
$ ana/obj/gsd/sect=symtab test1.obj
...
00000410 000000A8 Symbol 7. (00000007) "jj"
00000410 000000A8 Name Index in Sec. 1.: 00000077 119.
00000414 000000AC Symbol Info Field: 02 symtab$b_st_info
Symbol Type: 02 STT_FUNC
Symbol Binding: 00 STB_LOCAL
00000415 000000AD Symbol 'Other' Field: 00 symtab$b_st_other
Symbol Visibility 00 STV_DEFAULT
00000416 000000AE Bound to section: 0004 4. "$CODE$" symtab$w_st_shndx
00000418 000000B0 Symbol Value 0000000000000000 0. symtab$pq_st_value
00000420 000000B8 Size associated with sym: 0000000000000009 symtab$q_st_size
...
000004D0 00000168 Symbol 15. (0000000F) "jjj"
000004D0 00000168 Name Index in Sec. 1.: 00000076 118.
000004D4 0000016C Symbol Info Field: 12 symtab$b_st_info
Symbol Type: 02 STT_FUNC
Symbol Binding: 01 STB_GLOBAL
000004D5 0000016D Symbol 'Other' Field: 00 symtab$b_st_other
Symbol Visibility 00 STV_DEFAULT
000004D6 0000016E Bound to section: 0004 4. "$CODE$" symtab$w_st_shndx
000004D8 00000170 Symbol Value 0000000000000010 16. symtab$pq_st_value
000004E0 00000178 Size associated with sym: 0000000000000009 symtab$q_st_size
....