Update frameworks for iOS8 / 8.1 SDK "missing required architecture x86_64 "


#1

When updating our project with the latest versions of Shinobi Charts/ Grids/ Essentials I see  "missing required architecture x86_64 " errors.  The errors disappear If I back out the 2.7.3 versions (or latest versions of the three frameworks). 

Ideas?

  

ld: warning: ignoring file CTD/Classes/External/ShinobiControls/ShinobiEssentials.framework/ShinobiEssentials, missing required architecture x86_64 in file CTD/Classes/External/ShinobiControls/ShinobiEssentials.framework/ShinobiEssentials (3 slices)ld: warning: 

ignoring file CTD/Classes/External/ShinobiControls/ShinobiGrids.framework/ShinobiGrids, missing required architecture x86_64 in file CTD/Classes/External/ShinobiControls/ShinobiGrids.framework/ShinobiGrids (3 slices)

Undefined symbols for architecture x86_64:

  "std:: __1::__ vector_base_common<true>::__throw_length_error() const", referenced from:

      void std:: __1::vector<std::__ 1::shared_ptr<SChartGL::RenderData>, std:: __1::allocator<std::__ 1::shared_ptr<SChartGL::RenderData> > >:: __push_back_slow_path<std::__ 1::shared_ptr<SChartGL::RenderData> const&>(std::__1::shared_ptr<SChartGL::RenderData> const&&&) in ShinobiCharts(ShinobiCharts)

      void std:: __1::vector<SChartGL::VboData*, std::__ 1::allocator<SChartGL::VboData*> >::__push_back_slow_path<SChartGL::VboData* const&>(SChartGL::VboData* const&&&) in ShinobiCharts(ShinobiCharts)

  "std:: __1::__ basic_string_common<true>::__throw_length_error() const", referenced from:

      std:: __1::enable_if<__ is_forward_iterator<char*>::value, void>::type std:: __1::basic_string<char, std::__ 1::char_traits<char>, std:: __1::allocator<char> >::__ init<char*>(char*, char*) in ShinobiCharts(ShinobiCharts)

... <snipped>

  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.

  "non-virtual thunk to std:: __1::basic_ostream<char, std::__ 1::char_traits<char> >::~basic_ostream()", referenced from:

      construction vtable for std:: __1::basic_ostream<char, std::__ 1::char_traits<char> >-in-std:: __1::basic_ostringstream<char, std::__ 1::char_traits<char>, std::__1::allocator<char> > in ShinobiCharts(ShinobiCharts)

  "non-virtual thunk to std:: __1::basic_ostream<char, std::__ 1::char_traits<char> >::~basic_ostream()", referenced from:

      construction vtable for std:: __1::basic_ostream<char, std::__ 1::char_traits<char> >-in-std:: __1::basic_ostringstream<char, std::__ 1::char_traits<char>, std::__1::allocator<char> > in ShinobiCharts(ShinobiCharts)

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

The linked frameworks are  as follows and appear to conform to the instructions provided:

SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/Accelerate.framework/

SDKs/iPhoneOS8.1.sdk/usr/lib/libstdc++.6.0.9.dylib

/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/CoreText.framework/

ShinobiControls/ShinobiCharts.framework/

ShinobiControls/ShinobiEssentials.framework/

ShinobiControls/ShinobiGrids.framework/

/System/Library/Frameworks/CoreTelephony.framework/

System/Library/Frameworks/AdSupport.framework/

/iPhoneOS8.1.sdk/usr/lib/libz.dylib

/iPhoneOS8.1.sdk/usr/lib/libsqlite3.0.dylib

iPhoneOS8.1.sdk/System/Library/Frameworks/MediaPlayer.framework/

/System/Library/Frameworks/CoreImage.framework/

/System/Library/Frameworks/Security.framework/

/System/Library/Frameworks/SystemConfiguration.framework/

/libCrittercism_v4_3_7.a

System/Library/Frameworks/MobileCoreServices.framework/

System/Library/Frameworks/CoreData.framework/

System/Library/Frameworks/MessageUI.framework/

/System/Library/Frameworks/Foundation.framework/

/System/System/Library/Frameworks/QuartzCore.framework/

/Frameworks/OpenGLES.framework/

/System/Library/Frameworks/CoreGraphics.framework/

/System/Library/Frameworks/UIKit.framework/


#2

This might not solve your problem, but when I updated a project recently I linked to “libc++.dylib” and “libstdc++.dylib”.

As far as Shinobi is concerned, I think the 6.0.9 library was a temporary workaround until Apple officially updated some of their libraries last year.

Good luck.


#3

ignore


#4

Hi, 

Please check the README file with the attached source SDK folder, it mentioned about related frameworks to be added while using the updated. I got the same error message while adding it in my project, and when I tried adding the frameworks it disappeared. I have used the 8.1 iOS SDK and the 2.7.3-1 version.  Below is from the readme.

** Note: When creating a project you will need to add the following frameworks:

- Security.framework (Trial version only)

- QuartzCore.framework

- OpenGLES.framework

- CoreText.framework (Version 2.3+)

- Either: libc++.dylib (Version 2.5.7+) or libstdc++.6.0.9.dylib (Version 2.3 - 2.5.6) **