Eos: Undefined symbols for architecture x86_64

Created on 14 Apr 2018  Â·  16Comments  Â·  Source: EOSIO/eos

I follow getting start, but there are something wrong with me. Could you please help me?
When I use "./eosio_build.sh",there are 2 errors
Undefined symbols for architecture x86_64: "typeinfo for llvm::Instruction", referenced from: typeinfo for llvm::SelectInst in libRuntime.a(LLVMEmitIR.cpp.o) "typeinfo for llvm::MemoryBuffer", referenced from: typeinfo for llvm::ObjectMemoryBuffer in libRuntime.a(LLVMJIT.cpp.o) "typeinfo for llvm::JITSymbolResolver", referenced from: typeinfo for LLVMJIT::NullResolver in libRuntime.a(LLVMJIT.cpp.o) "typeinfo for llvm::RTDyldMemoryManager", referenced from: typeinfo for LLVMJIT::UnitMemoryManager in libRuntime.a(LLVMJIT.cpp.o) "typeinfo for llvm::CmpInst", referenced from: typeinfo for llvm::FCmpInst in libRuntime.a(LLVMEmitIR.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]: *** [libraries/wasm-jit/Source/Programs/Test] Error 1 make[1]: *** [libraries/wasm-jit/Source/Programs/CMakeFiles/Test.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
What should I do?

Most helpful comment

In my case, reinstalling gettext helped.

brew reinstall gettext
brew unlink gettext && brew link gettext --force --overwrite

All 16 comments

This is usually an indicator that the LLVM libraries you are linking with were not compiled with RTTI. What platform are you using? Did you use eosio_build.sh?

@spoonincode My platform is macOS Sierra 10.12.6ï¼›
I had used eosio_build.sh and then error occured.
What should I do next?
Thank you

same error

There have been numerous fixes to the MacOS build script this week. Please update your clone with git pull and retry the build.

@WildBlackBear @pranksteess run these commands and paste the output here:
which llvm-config
llvm-config --has-rtti --version

same error

@pacificcode
$ which llvm-config
/usr/local/opt/llvm/bin/llvm-config
$ llvm-config --has-rtti --version
YES
6.0.0

this is my anwser

@WildBlackBear @pranksteess @bilibiliChangKai
EOS.IO needs to compile against llvm 4.x. Run the following and you should be good.

brew remove --force llvm
brew install llvm@4
brew unlink llvm@4 && brew link --force llvm@4
cd /path/to/eos
rm -rf build/
git pull
git submodule update --init --recursive
./eosio_build.sh

@pacificcode

That didn't help, still have the same issue:

ld: warning: ignoring file /usr/local/lib/libintl.dylib, missing required architecture x86_64 in file /usr/local/lib/libintl.dylib (2 slices)
Undefined symbols for architecture x86_64:
  "_libintl_bindtextdomain", referenced from:
      _main in main.cpp.o
  "_libintl_gettext", referenced from:
      eosio::client::localize::localized_with_variant(char const*, fc::variant_object const&) in main.cpp.o
      eosio::client::localize::localized_with_variant(char const*, fc::variant_object const&) in help_text.cpp.o
  "_libintl_setlocale", referenced from:
      _main in main.cpp.o
  "_libintl_textdomain", referenced from:
      _main in main.cpp.o
ld: symbol(s) not found for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [programs/cleos/cleos] Error 1
make[1]: *** [programs/cleos/CMakeFiles/cleos.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

It seems that mine error is related to gettext. Which version of gettext are you using?

Related: #1319

In my case, reinstalling gettext helped.

brew reinstall gettext
brew unlink gettext && brew link gettext --force --overwrite

@pacificcode
Yes, you are right. Thank you for your help!

reinstalling gettext worked for me as well.

@bilibiliChangKai thanks, reinstalling gettext worked for me.

Thanks @schabluk
gettext worked for me as well.

If anyone is interested, this is what I ran to install EOS mainnet on macOS
https://gist.github.com/tpmccallum/45eb7d34a5406508419fa7e676909006

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hoopslb picture hoopslb  Â·  3Comments

IvanYakimov picture IvanYakimov  Â·  3Comments

christola picture christola  Â·  3Comments

hadramidah picture hadramidah  Â·  3Comments

ResponsiveWebApps picture ResponsiveWebApps  Â·  3Comments