echonest / echoprint-ios-sample

Sample Echoprint song identifier for iOS
http://echoprint.me/
165 stars 53 forks source link

Cannot compile, even after install of dependencies #7

Open csotiriou opened 12 years ago

csotiriou commented 12 years ago

I have downloaded the libechoprint project. After installing Homebrew, and boost and other dependencies, I was able to produce libechoprint-codegen-ios.a successfully, and make a FAT file out of it to use in the echo print for iOS sample.

However, I can't compile the echo print-ios sample. It gives me this error:

Undefined symbols for architecture armv7: "ZN7CodegenC1EPKfji", referenced from: Z15codegen_wrapperPKfi in Codegen_wrapper.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any help? I really need this framework.

alnesbit commented 12 years ago

Hi soulstormgr,

Thanks for the report. I will look into this and let you know as soon as I have some more information for you.

Best,

Andrew

seanpaulaustin commented 12 years ago

Same issue. Update or info is greatly appreciated.

love4soul commented 12 years ago

Same for me (

Pavan96 commented 11 years ago

Integrated with my iOS project but most of time it shows song not found message. how can I solve this issue? Please help me.

jyaunches commented 11 years ago

I guess this is because xcode doesn't compile the library for both i386 and armv7. I used the script in the project for compiling the codegen library from this tutorial and it worked for me.

http://www.oramind.com/index.php/articles/159-ios-making-fat-static-libraries-simulator-device

willperkins commented 10 years ago

I'm also unable to compile the echoprint-ios-sample app using Xcode 5. The latest approach I have tried is in this stackoverflow post: http://stackoverflow.com/questions/12135898/echoprint-ios-missing-framework

This is the error I get when building:

Undefined symbols for architecture armv7:
  "std::cerr", referenced from:
      boost::numeric::ublas::unbounded_array<float, std::allocator<float> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::unbounded_array<unsigned int, std::allocator<unsigned int> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::element(unsigned long, unsigned long, unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::storage_size(unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::domain_error::domain_error(std::string const&)", referenced from:
      boost::numeric::ublas::bad_size::bad_size(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::out_of_range::out_of_range(std::string const&)", referenced from:
      boost::numeric::ublas::bad_index::bad_index(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)", referenced from:
      std::logic_error::logic_error(std::logic_error const&) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::__throw_length_error(char const*)", referenced from:
      std::vector<FPCode, std::allocator<FPCode> >::_M_fill_insert(__gnu_cxx::__normal_iterator<FPCode*, std::vector<FPCode, std::allocator<FPCode> > >, unsigned long, FPCode const&) in libechoprint-codegen-ios.a(Fingerprint.o)
      std::vector<short*, std::allocator<short*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<short**, std::vector<short*, std::allocator<short*> > >, short* const&) in libechoprint-codegen-ios.a(AudioStreamInput.o)
  "std::ostream::operator<<(std::ostream& (*)(std::ostream&))", referenced from:
      boost::numeric::ublas::unbounded_array<float, std::allocator<float> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::unbounded_array<unsigned int, std::allocator<unsigned int> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::element(unsigned long, unsigned long, unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::storage_size(unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::ios_base::Init::~Init()", referenced from:
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Codegen.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Base64.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Fingerprint.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(SubbandAnalysis.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(AudioBufferInput.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Whitening.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(AudioStreamInput.o)
      ...
  "std::ostream::operator<<(std::ios_base& (*)(std::ios_base&))", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
  "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setw)", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
  "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
      boost::numeric::ublas::unbounded_array<float, std::allocator<float> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::unbounded_array<unsigned int, std::allocator<unsigned int> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::element(unsigned long, unsigned long, unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::storage_size(unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::string::c_str() const", referenced from:
      Codegen::compress(std::string const&) in libechoprint-codegen-ios.a(Codegen.o)
      AudioStreamInput::ProcessFile(char const*, int, int) in libechoprint-codegen-ios.a(AudioStreamInput.o)
  "std::ostream::operator<<(unsigned int)", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()", referenced from:
      Codegen::Codegen(float const*, unsigned int, int) in libechoprint-codegen-ios.a(Codegen.o)
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
      Codegen::compress(std::string const&) in libechoprint-codegen-ios.a(Codegen.o)
      base64_encode(unsigned char const*, unsigned int, bool) in libechoprint-codegen-ios.a(Base64.o)
      ___cxx_global_var_init1 in libechoprint-codegen-ios.a(Base64.o)
      ___cxx_global_var_init2 in libechoprint-codegen-ios.a(Base64.o)
      boost::numeric::ublas::bad_index::bad_index(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::bad_size::bad_size(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      ...
  "std::allocator<char>::std::allocator()", referenced from:
      Codegen::Codegen(float const*, unsigned int, int) in libechoprint-codegen-ios.a(Codegen.o)
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
      ___cxx_global_var_init1 in libechoprint-codegen-ios.a(Base64.o)
      ___cxx_global_var_init2 in libechoprint-codegen-ios.a(Base64.o)
      boost::numeric::ublas::bad_index::bad_index(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::bad_size::bad_size(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      AudioBufferInput::GetName() in libechoprint-codegen-ios.a(AudioBufferInput.o)
      ...
  "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setfill<char>)", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()", referenced from:
      Codegen::Codegen(float const*, unsigned int, int) in libechoprint-codegen-ios.a(Codegen.o)
      base64_encode(unsigned char const*, unsigned int, bool) in libechoprint-codegen-ios.a(Base64.o)
  "std::runtime_error::runtime_error(std::string const&)", referenced from:
      Codegen::Codegen(float const*, unsigned int, int) in libechoprint-codegen-ios.a(Codegen.o)
  "std::ostream::operator<<(int)", referenced from:
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
      boost::numeric::ublas::unbounded_array<float, std::allocator<float> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::unbounded_array<unsigned int, std::allocator<unsigned int> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::element(unsigned long, unsigned long, unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::storage_size(unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::string::size() const", referenced from:
      Codegen::compress(std::string const&) in libechoprint-codegen-ios.a(Codegen.o)
  "std::string::operator[](unsigned long) const", referenced from:
      base64_encode(unsigned char const*, unsigned int, bool) in libechoprint-codegen-ios.a(Base64.o)
  "std::string::operator+=(char)", referenced from:
      base64_encode(unsigned char const*, unsigned int, bool) in libechoprint-codegen-ios.a(Base64.o)
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
      Codegen::Codegen(float const*, unsigned int, int) in libechoprint-codegen-ios.a(Codegen.o)
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
      ___cxx_global_var_init1 in libechoprint-codegen-ios.a(Base64.o)
      ___cxx_global_var_init2 in libechoprint-codegen-ios.a(Base64.o)
      boost::numeric::ublas::bad_index::bad_index(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::bad_size::bad_size(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      AudioBufferInput::GetName() in libechoprint-codegen-ios.a(AudioBufferInput.o)
      ...
  "std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)", referenced from:
      boost::numeric::ublas::unbounded_array<float, std::allocator<float> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::unbounded_array<unsigned int, std::allocator<unsigned int> >::operator[](unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::element(unsigned long, unsigned long, unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::basic_row_major<unsigned long, int>::storage_size(unsigned long, unsigned long) in libechoprint-codegen-ios.a(Fingerprint.o)
  "std::ios_base::Init::Init()", referenced from:
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Codegen.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Base64.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Fingerprint.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(SubbandAnalysis.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(AudioBufferInput.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(Whitening.o)
      ___cxx_global_var_init in libechoprint-codegen-ios.a(AudioStreamInput.o)
      ...
  "std::allocator<char>::~std::allocator()", referenced from:
      Codegen::Codegen(float const*, unsigned int, int) in libechoprint-codegen-ios.a(Codegen.o)
      Codegen::createCodeString(std::vector<FPCode, std::allocator<FPCode> >) in libechoprint-codegen-ios.a(Codegen.o)
      ___cxx_global_var_init1 in libechoprint-codegen-ios.a(Base64.o)
      ___cxx_global_var_init2 in libechoprint-codegen-ios.a(Base64.o)
      boost::numeric::ublas::bad_index::bad_index(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      boost::numeric::ublas::bad_size::bad_size(char const*) in libechoprint-codegen-ios.a(Fingerprint.o)
      AudioBufferInput::GetName() in libechoprint-codegen-ios.a(AudioBufferInput.o)
      ...
  "std::string::operator=(std::string const&)", referenced from:
      Codegen::Codegen(float const*, unsigned int, int) in libechoprint-codegen-ios.a(Codegen.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any advice would be appreciated.

willperkins commented 10 years ago

I was able to workaround my issue in Xcode 5 by changing the "deployment target" build setting from iOS 7 to iOS 6.