tmeiczin / opendcp

Created digital cinemas packages (DCP)
http://www.opendcp.org
GNU General Public License v3.0
122 stars 52 forks source link

error: aggregate ‘BIGNUM c_2powb’ has incomplete type and cannot be defined #309

Open noahsmindfuck opened 3 years ago

noahsmindfuck commented 3 years ago
~/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.