Opened 2 years ago

Last modified 22 months ago

#64130 closed defect

nodejs16 @16.13.1: build fails on older OSs: error: unknown type name 'CCCryptorStatus' — at Version 1

Reported by: sambthompson (Sam Thompson) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc:
Port: openssl nodejs16

Description (last modified by sambthompson (Sam Thompson))

Attempting upgrade from @16.13.0_2. Build of deps/openssl fails in crypto/rand/rand_unix.c:

:info:build In file included from ../deps/openssl/openssl/crypto/rand/rand_unix.c:38:
:info:build /usr/include/CommonCrypto/CommonRandom.h:35:9: error: unknown type name 'CCCryptorStatus'
:info:build typedef CCCryptorStatus CCRNGStatus;
:info:build         ^
:info:build ../deps/openssl/openssl/crypto/rand/rand_unix.c:385:47: error: use of undeclared identifier 'kCCSuccess'
:info:build     if (CCRandomGenerateBytes(buf, buflen) == kCCSuccess)
:info:build                                               ^
:info:build 2 errors generated.

No obvious changes in the nodejs16 branch for openssl since @16.13.0_2: https://github.com/nodejs/node/tree/v16.x/deps/openssl

openssl related installed ports are:

sam@host:~ % port installed | grep ssl
  openssl @3_1+universal (active)
  openssl3 @3.0.0_6+legacy+universal (active)
  openssl11 @1.1.1l_5+universal (active)

There's a closed ticket for openssl@1.1.1l build on older OS versions (#63404), but related to CommonRandom.h not existing in OS openssl API; CommonRandom.h does exist on 10.11.6, and has the typedef, so not clear what's up although looks like dependency hell of some kind.

Looks like the buildbot for all OSs pre High-sierra failed for 16.13.1. A check of Yosemite, El Capitan and High Sierra logs show the same errors as seen locally; see https://build.macports.org/builders/ports-10.11_x86_64-builder/builds/162879/steps/install-port/logs/stdio

For Mavericks, the error is around missing CommonRandom.h:

../deps/openssl/openssl/crypto/rand/rand_unix.c:38:11: fatal error: 'CommonCrypto/CommonRandom.h' file not found
# include <CommonCrypto/CommonRandom.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Although this was closed upstream in https://github.com/openssl/openssl/issues/16407

Given the fix applied for 1.1.1l, can't explain why this happening now.

Change History (1)

comment:1 Changed 2 years ago by sambthompson (Sam Thompson)

Description: modified (diff)
Note: See TracTickets for help on using tickets.