missing required architecture arm64 in libs[solved]

As title, while compiling the projects exported from Codea 2.0, I got this failure warning.
It seems that the downloaded libtools.a and libcodea.a does not contain the arm64 support for working with iOS7.x?


Ld /Users/simon/Library/Developer/Xcode/DerivedData/tryout-bvijjpbvzxynfjerhzfnbnzsbxgr/Build/Products/Debug-iphoneos/tryout.app/tryout normal arm64
    cd "/Users/simon/Downloads/tryout 2"
    export IPHONEOS_DEPLOYMENT_TARGET=6.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -L/Users/simon/Library/Developer/Xcode/DerivedData/tryout-bvijjpbvzxynfjerhzfnbnzsbxgr/Build/Products/Debug-iphoneos -L/Users/simon/Downloads/tryout\\ 2/Libs -F/Users/simon/Library/Developer/Xcode/DerivedData/tryout-bvijjpbvzxynfjerhzfnbnzsbxgr/Build/Products/Debug-iphoneos -filelist /Users/simon/Library/Developer/Xcode/DerivedData/tryout-bvijjpbvzxynfjerhzfnbnzsbxgr/Build/Intermediates/tryout.build/Debug-iphoneos/tryout.build/Objects-normal/arm64/tryout.LinkFileList -dead_strip -ObjC -all_load -fobjc-arc -fobjc-link-runtime -stdlib=libc++ -miphoneos-version-min=6.0 -framework Security -framework CoreMedia -framework OpenGLES -framework GLKit -framework CoreText -framework CFNetwork -framework SystemConfiguration -framework MobileCoreServices -framework CoreGraphics -lz -framework AssetsLibrary -framework CoreVideo -framework AVFoundation -framework AudioToolbox -framework OpenAL -licucore -framework Twitter -framework CoreMotion -framework QuartzCore -framework UIKit -framework Foundation -lcodea -ltools -Xlinker -dependency_info -Xlinker /Users/simon/Library/Developer/Xcode/DerivedData/tryout-bvijjpbvzxynfjerhzfnbnzsbxgr/Build/Intermediates/tryout.build/Debug-iphoneos/tryout.build/Objects-normal/arm64/tryout_dependency_info.dat -o /Users/simon/Library/Developer/Xcode/DerivedData/tryout-bvijjpbvzxynfjerhzfnbnzsbxgr/Build/Products/Debug-iphoneos/tryout.app/tryout

ld: warning: ignoring file /Users/simon/Downloads/tryout 2/Libs/libtools.a, missing required architecture arm64 in file /Users/simon/Downloads/tryout 2/Libs/libtools.a (3 slices)
ld: warning: ignoring file /Users/simon/Downloads/tryout 2/Libs/libcodea.a, missing required architecture arm64 in file /Users/simon/Downloads/tryout 2/Libs/libcodea.a (3 slices)
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_CodeaViewController", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Are you building active architectures only? It sounds like your code is not building the 64 bit version and is attempting to link with Codea’s libraries which are 64 bit.

I’ll look into it. They should be 64 bit. If not it’s pretty easy to update on our end.

Hi, Simeon.

perhaps the above log is too long and without good format for view. but I think it means that the libs to be linked themselves are leak of arm64 support, not the compiled part of the project.


ld: warning: ignoring file /Users/simon/Downloads/tryout 2/Libs/libtools.a, missing required architecture arm64 in file /Users/simon/Downloads/tryout 2/Libs/libtools.a (3 slices)
ld: warning: ignoring file /Users/simon/Downloads/tryout 2/Libs/libcodea.a, missing required architecture arm64 in file /Users/simon/Downloads/tryout 2/Libs/libcodea.a (3 slices)

Hi @Zenz

I checked the libs:

lipo -info libcodea.a
Architectures in the fat file: libcodea.a are: armv7 armv7s i386 x86_64 arm64 

Are you using a project exported from an old version of Codea? Because it downloads new libraries in version 2.0.

I use Codea 2.0, but the project was created under 1.5. When using Lipo to check the libs info I got this:


lipo -info libcodea.a
Architectures in the fat file: libcodea.a are: armv7 armv7s i386

I will try to create a new project to see what will happen.

Hi, @Simeon.

You are right, the newly created project with Codea 2.0 is working well.

Only those old projects created with Codea 1.5 will have such problem, even the project was exported under Codea 2.0

Problem solved