steemit / steem

The blockchain for Smart Media Tokens (SMTs) and decentralized applications.
https://steem.com
Other
1.95k stars 793 forks source link

You have an old version of readline installed that might not support some of the features we need #2213

Open kenneth opened 6 years ago

kenneth commented 6 years ago

Has anyone encountered this error?

[  5%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/rpc/cli.cpp.o
/steemit/steem/libraries/fc/src/rpc/cli.cpp:21:5: error: "You have an old version of readline installed that might not support some of the features we
      need" [-Werror,-W#warnings]
#   warning "You have an old version of readline installed that might not support some of the features we need"
    ^
/steemit/steem/libraries/fc/src/rpc/cli.cpp:22:5: error: "Readline support will not be compiled in" [-Werror,-W#warnings]
#   warning "Readline support will not be compiled in"
kenneth commented 6 years ago

I have solved, no problem.my system dependence problem

brew unlink readline and brew link readline --force

but meet new problem

/steemit/steem/libraries/chain/steem_evaluator.cpp:17:32: error: unknown warning group '-Wmaybe-uninitialized', ignored
      [-Werror,-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
/steemit/steem/libraries/chain/steem_evaluator.cpp:95:12: warning: TODO: This needs to be part of HF 20 and moved to validate if not triggered in
      previous blocks [-W#pragma-messages]
   #pragma message( "TODO: This needs to be part of HF 20 and moved to validate if not triggered in previous blocks" )
           ^
/steemit/steem/libraries/chain/steem_evaluator.cpp:101:12: warning: TODO: This needs to be part of HF 20 and moved to validate if not triggered in
      previous blocks [-W#pragma-messages]
   #pragma message( "TODO: This needs to be part of HF 20 and moved to validate if not triggered in previous blocks" )

and i find this article

https://stackoverflow.com/questions/40761120/unknown-warning-group-wmaybe-unintialized-mac-os-sierra

➜  steem git:(master) ✗ make
[  2%] Built target project_secp256k1
[  3%] Built target equihash
[ 30%] Built target fc
[ 31%] Built target log_test
[ 32%] Built target ecc_test
[ 32%] Built target blinding_test
[ 33%] Built target hmac_test
[ 34%] Built target bloom_test
[ 39%] Built target all_tests
[ 40%] Built target real128_test
[ 41%] Built target bip_lock
[ 42%] Built target sha_test
[ 43%] Built target ntp_test
[ 44%] Built target task_cancel_test
[ 45%] Built target blind
[ 46%] Built target api
[ 46%] Built target steem_schema
[ 46%] Built target appbase
[ 47%] Built target appbase_example
[ 48%] Built target chainbase
[ 49%] Built target chainbase_test
File "/steemit/steem/libraries/protocol/include/steem/protocol/hardfork.hpp" up-to-date with .d directory
[ 49%] Built target build_hardfork_hpp
[ 53%] Built target steem_protocol
[ 54%] Building CXX object libraries/chain/CMakeFiles/steem_chain.dir/steem_evaluator.cpp.o
/steemit/steem/libraries/chain/steem_evaluator.cpp:13:1: warning: TODO: "After we vendor fc, also vendor diff_match_patch and fix these warnings"
      [-W#pragma-messages]
FC_TODO( "After we vendor fc, also vendor diff_match_patch and fix these warnings" )
^
/steemit/steem/libraries/fc/include/fc/macros.hpp:33:22: note: expanded from macro 'FC_TODO'
#define FC_TODO(msg) DO_PRAGMA(message("TODO: " #msg))
                     ^
/steemit/steem/libraries/fc/include/fc/macros.hpp:17:22: note: expanded from macro 'DO_PRAGMA'
#define DO_PRAGMA(x) _Pragma (#x)
                     ^
<scratch space>:43:2: note: expanded from here
 message("TODO: " "\"After we vendor fc, also vendor diff_match_patch and fix these warnings\"")
 ^
/steemit/steem/libraries/chain/steem_evaluator.cpp:17:32: error: unknown warning group '-Wmaybe-uninitialized', ignored
      [-Werror,-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
/steemit/steem/libraries/chain/steem_evaluator.cpp:95:12: warning: TODO: This needs to be part of HF 20 and moved to validate if not triggered in
      previous blocks [-W#pragma-messages]
   #pragma message( "TODO: This needs to be part of HF 20 and moved to validate if not triggered in previous blocks" )
           ^
/steemit/steem/libraries/chain/steem_evaluator.cpp:101:12: warning: TODO: This needs to be part of HF 20 and moved to validate if not triggered in
      previous blocks [-W#pragma-messages]
   #pragma message( "TODO: This needs to be part of HF 20 and moved to validate if not triggered in previous blocks" )
mvandeberg commented 6 years ago

Can you try different cmake options to determine if this occurs in certain situations? I build on OS X without this problem.

Likely, adding

#if !defined(__has_warning) || __has_warning("-Wmaybe-uninitialized")
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
#endif

around the diagnostic pragma is the safest course of actions to prevent this from occurring again.

kenneth commented 6 years ago

@mvandeberg thank you ,now compile pass but why the source code don't add this?

kenneth commented 6 years ago

meet new error

[ 88%] Linking CXX executable cli_wallet
Undefined symbols for architecture x86_64:
  "_rl_abort", referenced from:
      fc::rpc::cli_completion(char const*, int, int) in libfc_debug.a(cli.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [programs/cli_wallet/cli_wallet] Error 1
make[1]: *** [programs/cli_wallet/CMakeFiles/cli_wallet.dir/all] Error 2
make: *** [all] Error 2