Opened 3 years ago

Closed 3 years ago

Last modified 2 years ago

#63622 closed defect (fixed)

openssl3: buildbot failures related to AVX-512 instruction set

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: avx Cc: kencu (Ken), cjones051073 (Chris Jones)
Port: openssl3

Description

This port is failing to build on various buildbots, with errors related to use of the AVX-512 instruction set:

crypto/bn/libcrypto-lib-rsaz-avx512.o crypto/bn/rsaz-avx512.s
crypto/bn/rsaz-avx512.s:36:2: error: instruction requires: AVX-512 ISA AVX-512 VL ISA
 vpxord %ymm0,%ymm0,%ymm0
 ^
crypto/bn/rsaz-avx512.s:37:2: error: instruction requires: AVX-512 ISA AVX-512 VL ISA
 vmovdqa64 %ymm0,%ymm1
 ^
crypto/bn/rsaz-avx512.s:38:2: error: instruction requires: AVX-512 ISA AVX-512 VL ISA
 vmovdqa64 %ymm0,%ymm16
 ^
crypto/bn/rsaz-avx512.s:39:2: error: instruction requires: AVX-512 ISA AVX-512 VL ISA
 vmovdqa64 %ymm0,%ymm17
 ^

https://build.macports.org/builders/ports-10.10_x86_64-builder/builds/157530/steps/install-port/logs/stdio

https://build.macports.org/builders/ports-10.11_x86_64-builder/builds/156162/steps/install-port/logs/stdio

https://build.macports.org/builders/ports-10.13_x86_64-builder/builds/125294/steps/install-port/logs/stdio

This is occurring with Xcode Clang, and is fixable with an appropriate blacklist. A commit to follow shortly.

Change History (9)

comment:1 Changed 3 years ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 02db4e7a363141c67f384f1f29db50fb2f70e53e/macports-ports (master):

openssl3: blacklist Xcode clang < 1001; enable parallel builds

  • Fix build failures related to AVX-512 instruction set:

Fixes: #63622

  • Parallel builds discussed via the following ticket:

See: #46719

comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

which means that newer MacPorts clangs won't be able to have openssl3 in their dependency chain.

comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)

I'm reasonably certain that AVX-512 instruction use can be disabled, if necessary. But my immediate goal was simply to eliminate build failures; didn't have time to look at anything more involved.

comment:4 in reply to:  2 Changed 3 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: closedreopened

Replying to ryandesign:

which means that newer MacPorts clangs won't be able to have openssl3 in their dependency chain.

Reopening, to cover the work necessary to eliminate blacklisting of Xcode Clangs. Hopefully that's doable, by disabling use of the AVX* instruction set.

comment:5 Changed 3 years ago by cjones051073 (Chris Jones)

This is really an upstream issue. See

https://github.com/openssl/openssl/issues/16670

in short we should see with future openssl 3 releases if the black-listing can just be removed.

comment:6 in reply to:  5 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: kencu cjones051073 added

Replying to cjones051073:

This is really an upstream issue. See

https://github.com/openssl/openssl/issues/16670

in short we should see with future openssl 3 releases if the black-listing can just be removed.

Great to know!

As for the near-term: @kencu, we could use some guidance here. Any thoughts/suggestions, per Ryan's observation in comment:2?

comment:7 Changed 3 years ago by cjones051073 (Chris Jones)

If you want a shorter term fix there is a suggestion in the above issue as to a change to make to address it https://github.com/openssl/openssl/issues/16670#issuecomment-935184461

comment:8 Changed 3 years ago by Chris Jones <jonesc@…>

Resolution: fixed
Status: reopenedclosed

In 9f126afd71e24200a66d5965ae9dd034501dc904/macports-ports (master):

openssl3: Disable avx512 during configuration
Closes: #63622

comment:9 Changed 2 years ago by neverpanic (Clemens Lang)

In c6b052fa65dfd079ebf3a4fc369488718f8547ad/macports-ports (master):

openssl3: Drop patch incorporated upstream

This was fixed upstream in c95e2030c34646176b4843b5f0f48720d896f427
which is part of 3.0.6.

See: #63622

Note: See TracTickets for help on using tickets.