Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: 'CC_MD5_Final' is deprecated #3215

Closed
dangell7 opened this issue Jan 8, 2020 · 5 comments
Closed

error: 'CC_MD5_Final' is deprecated #3215

dangell7 opened this issue Jan 8, 2020 · 5 comments

Comments

@dangell7
Copy link
Collaborator

dangell7 commented Jan 8, 2020

I got an MD5 error when trying to install rippled on Mac Catalina 10.15.2

make[3]: warning: -jN forced in submake: disabling jobserver mode.
/Users/denisangell/projects/xrp/rippled/.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/libarchive/libarchive/archive_digest.c:162:3: error: 'CC_MD5_Init' is deprecated: first deprecated in macOS 10.15 - This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger). [-Werror,-Wdeprecated-declarations]
  CC_MD5_Init(ctx);
  ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/CommonCrypto/CommonDigest.h:133:12: note: 'CC_MD5_Init' has been explicitly marked deprecated here
extern int CC_MD5_Init(CC_MD5_CTX *c)
           ^
/Users/denisangell/projects/xrp/rippled/.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/libarchive/libarchive/archive_digest.c:170:3: error: 'CC_MD5_Update' is deprecated: first deprecated in macOS 10.15 - This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger). [-Werror,-Wdeprecated-declarations]
  CC_MD5_Update(ctx, indata, insize);
  ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/CommonCrypto/CommonDigest.h:136:12: note: 'CC_MD5_Update' has been explicitly marked deprecated here
extern int CC_MD5_Update(CC_MD5_CTX *c, const void *data, CC_LONG len)
           ^
/Users/denisangell/projects/xrp/rippled/.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/libarchive/libarchive/archive_digest.c:177:3: error: 'CC_MD5_Final' is deprecated: first deprecated in macOS 10.15 - This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger). [-Werror,-Wdeprecated-declarations]
  CC_MD5_Final(md, ctx);
  ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/CommonCrypto/CommonDigest.h:139:12: note: 'CC_MD5_Final' has been explicitly marked deprecated here
extern int CC_MD5_Final(unsigned char *md, CC_MD5_CTX *c)
           ^
3 errors generated.
make[6]: *** [libarchive/CMakeFiles/archive_static.dir/archive_digest.c.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [libarchive/CMakeFiles/archive_static.dir/all] Error 2
make[4]: *** [libarchive/CMakeFiles/archive_static.dir/rule] Error 2
make[3]: *** [archive_static] Error 2
CMake Error at /Users/denisangell/projects/xrp/rippled/.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/libarchive-stamp/libarchive-build-Debug-impl.cmake:9 (message):
  Command failed (2):

   '/usr/local/Cellar/cmake/3.15.5/bin/cmake' '--build' '.' '--config' 'Debug' '--target' 'archive_static' '--parallel' '2' ''



CMake Error at /Users/denisangell/projects/xrp/rippled/.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/libarchive-stamp/libarchive-build-Debug.cmake:23 (message):
  Command failed: 1

   '/usr/local/Cellar/cmake/3.15.5/bin/cmake' '-Dmake=' '-Dconfig=' '-P' '/Users/denisangell/projects/xrp/rippled/.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/libarchive-stamp/libarchive-build-Debug-impl.cmake'

  See above



make[2]: *** [../.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/libarchive-stamp/libarchive-build] Error 1
make[1]: *** [CMakeFiles/libarchive.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 58%] Completed 'soci'
-- rocksdb build command succeeded.  See also /Users/denisangell/projects/xrp/rippled/.nih_c/unix_makefiles/AppleClang_11.0.0.11000033/Debug/src/rocksdb-stamp/rocksdb-build-*.log
[ 60%] Built target soci
[ 61%] No install step for 'rocksdb'
[ 61%] No test step for 'rocksdb'
[ 62%] Completed 'rocksdb'
[ 63%] Built target rocksdb
make: *** [all] Error 2

@mellery451
Copy link
Contributor

mellery451 commented Jan 8, 2020

we've had one other user encounter this error - I believe updating the EP for libarchive does the trick, but let me investigate more.

@mellery451
Copy link
Contributor

mellery451 commented Jan 8, 2020

@dangell7 please try changing this to v3.4.1 and report back. If that resolves your issue (I don't have catalina to test with..), then you are welcome to submit this change as a PR. Thanks.

@dangell7
Copy link
Collaborator Author

dangell7 commented Jan 8, 2020

It says it built 100% but I got this error/warning

ld: warning: direct access in function 'boost::exception_detail::clone_impl<boost::exception_detail::bad_alloc_>::rethrow() const' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::bad_alloc_>' from file 'CMakeFiles/rippled.dir/src/ripple/unity/app_misc_impl.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'virtual thunk to boost::exception_detail::clone_impl<boost::exception_detail::bad_alloc_>::rethrow() const' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::bad_alloc_>' from file 'CMakeFiles/rippled.dir/src/ripple/unity/app_misc_impl.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'boost::exception_detail::clone_impl<boost::exception_detail::bad_exception_>::rethrow() const' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::bad_exception_>' from file 'CMakeFiles/rippled.dir/src/ripple/unity/app_misc_impl.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'virtual thunk to boost::exception_detail::clone_impl<boost::exception_detail::bad_exception_>::rethrow() const' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::bad_exception_>' from file 'CMakeFiles/rippled.dir/src/ripple/unity/app_misc_impl.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.3' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_alloc_>::e' from file 'CMakeFiles/rippled.dir/src/ripple/unity/core.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.3' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_alloc_>::e' from file 'CMakeFiles/rippled.dir/src/ripple/unity/core.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.3' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_alloc_>::e' from file 'CMakeFiles/rippled.dir/src/ripple/unity/core.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.4' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_exception_>::e' from file 'CMakeFiles/rippled.dir/src/test/unity/rpc_test_unity.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.4' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_exception_>::e' from file 'CMakeFiles/rippled.dir/src/test/unity/rpc_test_unity.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.4' from file '/usr/local/lib/libboost_coroutine.a(stack_traits.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_exception_>::e' from file 'CMakeFiles/rippled.dir/src/test/unity/rpc_test_unity.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'boost::system::detail::system_error_category::default_error_condition(int) const' from file '/usr/local/lib/libboost_filesystem.a(operations.o)' to global weak symbol 'boost::system::detail::is_generic_value(int)::gen' from file 'CMakeFiles/rippled.dir/src/ripple/unity/app_consensus.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> >::rethrow() const' from file '/usr/local/lib/libboost_program_options.a(value_semantic.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> >' from file 'CMakeFiles/rippled.dir/src/ripple/unity/app_main2.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'virtual thunk to boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> >::rethrow() const' from file '/usr/local/lib/libboost_program_options.a(value_semantic.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> >' from file 'CMakeFiles/rippled.dir/src/ripple/unity/app_main2.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_weak_ptr> >::rethrow() const' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_weak_ptr> >' from file 'CMakeFiles/rippled.dir/src/ripple/unity/rpcx2.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'virtual thunk to boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_weak_ptr> >::rethrow() const' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'typeinfo for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_weak_ptr> >' from file 'CMakeFiles/rippled.dir/src/ripple/unity/rpcx2.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.5' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_alloc_>::e' from file 'CMakeFiles/rippled.dir/src/ripple/unity/core.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.5' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_alloc_>::e' from file 'CMakeFiles/rippled.dir/src/ripple/unity/core.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.5' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_alloc_>::e' from file 'CMakeFiles/rippled.dir/src/ripple/unity/core.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.6' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_exception_>::e' from file 'CMakeFiles/rippled.dir/src/test/unity/rpc_test_unity.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.6' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_exception_>::e' from file 'CMakeFiles/rippled.dir/src/test/unity/rpc_test_unity.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function '___cxx_global_var_init.6' from file '/usr/local/lib/libboost_thread-mt.a(thread.o)' to global weak symbol 'guard variable for boost::exception_detail::exception_ptr_static_exception_object<boost::exception_detail::bad_exception_>::e' from file 'CMakeFiles/rippled.dir/src/test/unity/rpc_test_unity.cpp.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

@mellery451
Copy link
Contributor

mellery451 commented Jan 8, 2020

you might be able to resolve these linker warnings by building boost with -fvisibility=default (e.g. https://github.com/ripple/rippled/blob/c624fc9b17644fab9dc6b7419e5cdd76841cfdbc/Builds/containers/shared/install_boost.sh#L51).

That said, I don't think they are fatal. Please note that macos is fine for development, but we don't necessarily recommend it for production instances.

@nbougalis
Copy link
Contributor

Should be fixed in #3367.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants