~/opendcp(master*) » make noah@noah
[ 6%] Built target 09_OpenJPEG
[ 8%] Built target opendcp-crypto
[ 8%] Building CXX object libasdcp/CMakeFiles/opendcp-asdcp.dir/KM_prng.cpp.o
/home/noah/opendcp/libasdcp/KM_prng.cpp: In function ‘void Kumu::Gen_FIPS_186_Value(const byte_t*, ui32_t, byte_t*, ui32_t)’:
/home/noah/opendcp/libasdcp/KM_prng.cpp:219:10: error: aggregate ‘BIGNUM c_2powb’ has incomplete type and cannot be defined
219 | BIGNUM c_2powb, c_2, c_b;
| ^~~~~~~
/home/noah/opendcp/libasdcp/KM_prng.cpp:219:19: error: aggregate ‘BIGNUM c_2’ has incomplete type and cannot be defined
219 | BIGNUM c_2powb, c_2, c_b;
| ^~~
/home/noah/opendcp/libasdcp/KM_prng.cpp:219:24: error: aggregate ‘BIGNUM c_b’ has incomplete type and cannot be defined
219 | BIGNUM c_2powb, c_2, c_b;
| ^~~
/home/noah/opendcp/libasdcp/KM_prng.cpp:220:3: error: ‘BN_init’ was not declared in this scope
220 | BN_init(&c_2powb); BN_init(&c_2); BN_init(&c_b);
| ^~~~~~~
/home/noah/opendcp/libasdcp/KM_prng.cpp:248:14: error: aggregate ‘BIGNUM bn_tmp’ has incomplete type and cannot be defined
248 | BIGNUM bn_tmp, bn_xkey, bn_x_n;
| ^~~~~~
/home/noah/opendcp/libasdcp/KM_prng.cpp:248:22: error: aggregate ‘BIGNUM bn_xkey’ has incomplete type and cannot be defined
248 | BIGNUM bn_tmp, bn_xkey, bn_x_n;
| ^~~~~~~
/home/noah/opendcp/libasdcp/KM_prng.cpp:248:31: error: aggregate ‘BIGNUM bn_x_n’ has incomplete type and cannot be defined
248 | BIGNUM bn_tmp, bn_xkey, bn_x_n;
| ^~~~~~
make[2]: *** [libasdcp/CMakeFiles/opendcp-asdcp.dir/build.make:89: libasdcp/CMakeFiles/opendcp-asdcp.dir/KM_prng.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:307: libasdcp/CMakeFiles/opendcp-asdcp.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
Looks like some changes in the OpenSSL cause the problem: https://stackoverflow.com/questions/42292027/aggregate-bignum-foo-has-incomplete-type-and-cannot-be-defined The suggested solution "downgrade to OpenSSL 1.0.2" is not an option as this breaks the whole operating system.