Forum Archive

Error in building Pythonista project in XCode 6

joemarct

When I tried to build the example PythonistaProject in XCode 6, I get the following error:

Undefined symbols for architecture i386:
  "_fwrite$UNIX2003", referenced from:
  _empty_output_buffer in libpythonista.a(libturbojpeg_la-jdatadst.o)
  _term_destination in libpythonista.a(libturbojpeg_la-jdatadst.o)
  "_putenv$UNIX2003", referenced from:
  _tjTransform in libpythonista.a(libturbojpeg_la-turbojpeg.o)
  _tjDecompressToYUV in libpythonista.a(libturbojpeg_la-turbojpeg.o)
  _tjDecompress2 in libpythonista.a(libturbojpeg_la-turbojpeg.o)
  _tjEncodeYUV2 in libpythonista.a(libturbojpeg_la-turbojpeg.o)
  _tjCompress2 in libpythonista.a(libturbojpeg_la-turbojpeg.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Does anybody know how to deal with this?

ccc

You might retry under the current XCode v6.1 which you can download via the Mac OSX AppStore.

techteej

I have the same problems running the base Pythonista Project Template (in Xcode 6.0 and 6.1)

joemarct

I got that error using XCode 6.1

JonB

I don't have xcode, but I do have google:
http://forum.openframeworks.cc/t/xcode6-beta-of-0-8-1-for-ios-8-0/16103/6

Has a quick hack that you could apply to all missing symbols.
Or, this has the details on the root cause, and a link to the updated repo. Looks like you could simply change one line in CoreOF.xcconfig to reference the freeimage library

techteej

@JonB how do I find main.cpp? Or at least the files' folder?

JonB

It just means you could out those definitions somewhere in you code. Search for the coreof.xconfig file I your project folders. Again I don't have xcode, so I'm guessing. I suspect this comes with the pythonista template?

techteej

I looked in the pythonista template and I can't find it.

mgiu

Got that same error using Xcode 6.1 and just the vanilla template provided on this website.

inoddy

Apple says that we must use Xcode 6, iOS 8 SDK, and apps must have 64bit support

https://developer.apple.com/news/?id=10202014a

mgiu

Sadly still no success and no further meaningful answer in the thread...
Pythonista's Author pls have a look here ;-) We are customers who purchased your product also because it advertised the possibility of seamless integration with XCode :-))))

Help us pls!

omz

For a quick workaround, you can try adding the following code:

FILE *fopen$UNIX2003(const char *filename, const char *mode) {
    return fopen(filename, mode);
}

size_t fwrite$UNIX2003(const void *ptr, size_t size, size_t nitems, FILE *stream) {
    return fwrite(ptr, size, nitems, stream);
}

int putenv$UNIX2003(char *string) {
    return putenv(string);
}

You can paste this at the bottom of AppDelegate.m for example (shouldn't really matter where it is).

jsinicro

I downloaded the latest Xcode 6.1 and I have OS version 10.10 I added the above to the file mentioned and compiled and ran the "hello world" app on the simulator with no problem. This is really cool stuff.....

donnieh

If I created an app in Pythonista that contains UI buttons and sliders (.pyui file), how do I get this UI into the Xcode template so it runs in the Xcode simulator?.

Right now only the hello world text that is generated by the template appears.

For example it would be nice if the calculator example in Pythonista was downloaded to a working Xcode project.

dvader9

You can easily add files to your Xcode project. The only tricky thing is telling the App where to search for those auxiliary files.

See http://omz-forums.appspot.com/pythonista/post/5234293353742336 for some tips on working with Xcode and the App template.

If you have other specific questions on this, I'd be happy to try to answer them based on my limited experience.

Good luck!