cancel
Showing results for 
Search instead for 
Did you mean: 

SQL Ultralite library won't build under Xcode 5

Former Member
3,756

With the removal of the GCC toolset from XCode 5, how are we supposed to build the iOS ultralite library as per the instructions? I added the command line tools to XCode 5, but Apple completely discontinued GCC with XCode.

Former Member
0 Kudos

After installing 4.6.3 instead and the command line tools, I get the following errors, looks like it can't find header files. Any thoughts?

News-MacBook-Air:iphone New$ ./build.sh The following iPhoneOS SDK versions were found in /Applications/Xcode.app/Contents/Developer: 1) 6.1 Please enter the number of the desired SDK version [1]:1 Building with SDK version 6.1... /Applications/SQLAnywhere12/ultralite/iphone/arm /Applications/SQLAnywhere12/ultralite/iphone /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -c -x c++ -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fcheck-new -arch armv6 -mthumb -miphoneos-version-min=3.0 -pipe -Os -fomit-frame-pointer -Wno-missing-field-initializers -fmessage-length=0 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -o 4bbc8c8db1.o 4bbc8c8db1.c /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -c -x c++ -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fcheck-new -arch armv6 -mthumb -miphoneos-version-min=3.0 -pipe -Os -fomit-frame-pointer -Wno-missing-field-initializers -fmessage-length=0 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -o 72cf34bcc2.o 72cf34bcc2.c In file included from 24c8fe3eee.h:349, from ae6be1f105.h:8, from be5af043d7.h:8, from 72cf34bcc2.c:19: 21df866d9e.h:10:20: error: stdlib.h: No such file or directory In file included from 24c8fe3eee.h:349, from ae6be1f105.h:8, from be5af043d7.h:8, from 4bbc8c8db1.c:19: 21df866d9e.h:10:20: error: stdlib.h: No such file or directory In file included from db57b1d9cd.h:10, from 28eeeb4172.h:8, from ae6be1f105.h:9, from be5af043d7.h:8, from 72cf34bcc2.c:19:

...

0 Kudos

Which version/build of SQL Anywhere are you using? This does not look current (because the script prompts for which SDK to use…), and this may be a problem that's already fixed. Can you update to the latest EBF/SP?

Former Member
0 Kudos

According to the About box 12.0.1.3152

Is this not the current version? This is what the procurement people gave me.

Thanks for the help.

0 Kudos

That is the original 12.0.1 release. There have been several updates since. The current is 12.0.1.3958.

jeff_albion
Advisor
Advisor
0 Kudos

Accepted Solutions (0)

Answers (1)

Answers (1)

There is a fix in progress for this. (As well as adding 64-bit support.) Clang will be used to compile the library.

As a workaround in the meantime, you can build the library against Xcode 4 and use it with Xcode 5.

Former Member
0 Kudos

Could you provide any updates about migrating to Clang compiler as well as 64-bit support?

VolkerBarth
Contributor
0 Kudos

According to that older CR note, Xcode 5 support has been available for some time (including 64-bit support for 12.0.1 though the note does tell otherwise). AFAIK, supporting XCode 5 requires Clang support.

UltraLite now supports Xcode 5 and iOS 7. Version 16 includes 64-bit libraries for the new A7 (arm64) chip along with the 64-bit simulator.

Indeed, the latest SPs for v12 and v16 support Xcode 6/iOS 8 and all chips, including 64-bit.

0 Kudos

The build script (build.sh) invokes make to build, and the makefile invokes the compiler as: xcrun -sdk iphoneos gcc

That is, we don't try to find the compiler path ourselves...

You can see this in build.log, which is written beside build.sh. (build.sh just redirects the make output here.) (It's true we invoke 'gcc', but this is really just clang now.)