0

I got a link error when trying to run a ..-cal target of calabash-ios project.

The error is:

     `Ld /Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator/delete-cal.app/delete-cal normal i386
        cd /Users/balaiyan/dev/automation/apps/delete
        setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
        setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator -F/Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator -F/Users/balaiyan/dev/automation/apps/delete -filelist /Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Intermediates/delete.build/Debug-iphonesimulator/delete-cal.build/Objects-normal/i386/delete-cal.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -force_load /Users/balaiyan/dev/automation/apps/delete/calabash.framework/calabash -lstdc++ -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.1 -framework Security -framework CFNetwork -framework UIKit -framework Foundation -framework CoreGraphics -framework calabash -o /Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator/delete-cal.app/delete-cal

    Undefined symbols for architecture i386:
      "_kSecAttrSynchronizableAny", referenced from:
          -[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery.o)
    ld: symbol(s) not found for architecture i386
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    `

Got the above error after solving the one in picture below

Calabash link error after following steps at https://github.com/calabash/calabash-ios


I am doing first time calabash setup for iOS at my Home iMac, that runs on OS X Lion,
XCode version 4.6.2,
updated ruby to ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin12.5.0]

While installing ruby found this on terminal

   ruby-2.0.0-p451 - #generating default wrappers........
   Updating certificates in '/etc/openssl/cert.pem'.
   mkdir: /etc/openssl: Permission denied
   apples-iMac:~ balaiyan$ rvm osx-ssl-certs status all
   Certificates for /etc/openssl/cert.pem: Up to date.

not sure if this is creating the problem.

I had previously done these steps on a office Macbook pro running Mavericks, and didnt find any problem. Does it mean the latest calabash-ios has any backwards compatibility issue, or is it something to do with my keychain. Need some help.

Jaugar Chang
  • 3,176
  • 2
  • 13
  • 23
rkb
  • 3
  • 2

1 Answers1

0

The current version of calabash, 0.9.169, contains iOS 7 symbols. One of which is kSecAttrSynchronizableAny.

To use this version, the base SDK must be at least 7.0. The minimum deployment target can still be as low as 5.1.1.

The last version that support a base SDK of 6.0 was 0.9.167.

0.9.168 was released in March. We decided to drop support for base SDK < 7.0 because Apple stopped accepting AppStore submissions that used base SDK < 7.0.

Can you upgrade your Xcode to 5.1.1 and bump your base SDK to 7.0?

If you must downgrade your gem version, please make sure to replace your existing calabash.framework and link in the version that is compatible with your version.

jmoody
  • 2,480
  • 1
  • 16
  • 22
  • Thanks for the answer. I went for a lower version of calabash, and things are working as expected. Unfortunately I dont want to upgrage XCode 5.1.1 which requires OS update, at the moment I have to makesure my other works in this iMac doesnt cause any problems, and might require quite a lot of setup for other apps to work on a new OS. Thank you very much indeed. – rkb Aug 28 '14 at 21:13