cocos2d-iphoneapportable

Apportable wont compile


I am trying to convert my first cocos2d based game using Apportable but gets an error as below.

I can see that it points out about the GCHelper class but if i understand Apportable correctly it should just skip GC events and not halt and throw errors.

MacBook-Pro:App Name magnus$ apportable load
Warning: Module nu.cfg.AppName/App Name: lib /Users/magnus/Dropbox/iOS Projects/App Name/z does not exist
Warning: Module nu.cfg.AppName/App Name: lib /Users/magnus/Dropbox/iOS Projects/App Name/sqlite3 does not exist
[1/14] Writing Build/android-armeabi-debug/AppName/AndroidManifest.xml
[2/14] Linking Build/android-armeabi-debug/AppName/apk/lib/armeabi/libverde.so
[3/14] Zipping Build/android-armeabi-debug/AppName/AppName-debug.apk:/assets/Info.plist
[4/14] Creating Build/android-armeabi-debug/AppName/AppName-resources.apk and R.java files
FAILED: PATH=/Users/magnus/.apportable/SDK/toolchain/macosx/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/arm-linux-androideabi/bin:$PATH /Users/magnus/.apportable/SDK/toolchain/macosx/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/arm-linux-androideabi/bin/ld.gold -o /Users/magnus/.apportable/SDK/Build/android-armeabi-debug/AppName/apk/lib/armeabi/libverde.so -dynamiclib -dynamiclib --build-id --no-undefined -shared -Bdynamic -shared -Bdynamic -Bsymbolic --whole-archive -dynamic-linker /system/bin/linker -wrap pthread_create -wrap pthread_exit -wrap pthread_key_create -wrap pthread_key_delete -wrap pthread_getspecific -wrap pthread_setspecific -wrap pthread_setname_np -wrap pthread_getschedparam -wrap pthread_setschedparam -wrap exit -wrap abort -wrap malloc -wrap memalign -wrap posix_memalign -wrap valloc -wrap calloc -wrap realloc -wrap free -wrap malloc_usable_size -wrap strdup -wrap strndup -wrap printf -wrap lstat -wrap stat -wrap realpath -wrap open -wrap close -wrap fopen -wrap fdopen -wrap fclose -wrap fsync -wrap realpath -wrap opendir -wrap closedir -wrap chdir -wrap getcwd -wrap access -wrap read -wrap write -wrap socket -wrap accept -wrap send -wrap sendto -wrap sendmsg -wrap recv -wrap recvfrom -wrap recvmsg -wrap lseek -wrap fstat -wrap fdopendir -wrap readdir -wrap readdir_r -wrap rewinddir -wrap scandir -wrap rename -wrap unlink -wrap rmdir -wrap mmap -wrap munmap -wrap vasprintf -wrap asprintf -wrap if_nametoindex -wrap syslog -wrap syslogv -wrap tmpfile -wrap mkstemps -wrap mkstemp -wrap mkdtemp -wrap mktemp -wrap fts_open -wrap fts_close -wrap fts_set -wrap fts_children -wrap ftw -wrap nftw -wrap gethostbyname -wrap gethostbyname2 -wrap getaddrinfo -wrap freeaddrinfo -wrap getservbyname -wrap gethostbyaddr -wrap initgroups -wrap _Znwj -wrap _ZnwjRKSt9nothrow_t -wrap _Znaj -wrap _ZdlPv -wrap _ZdaPv -wrap swprintf -wrap vswprintf -wrap mbsrtowcs -wrap mbstowcs -wrap wcstombs -wrap wcstol -wrap wcstof -wrap wcstod -wrap rand -wrap srand -wrap sranddev -wrap strtod -wrap powf -wrap glActiveTexture -wrap glAlphaFunc -wrap glAlphaFuncx -wrap glAlphaFuncxOES -wrap glAttachShader -wrap glBeginPerfMonitorAMD -wrap glBindAttribLocation -wrap glBindBuffer -wrap glBindFramebuffer -wrap glBindFramebufferOES -wrap glBindRenderbuffer -wrap glBindRenderbufferOES -wrap glBindTexture -wrap glBindVertexArrayOES -wrap glBlendColor -wrap glBlendEquation -wrap glBlendEquationOES -wrap glBlendEquationSeparate -wrap glBlendEquationSeparateOES -wrap glBlendFunc -wrap glBlendFuncSeparate -wrap glBlendFuncSeparateOES -wrap glBufferData -wrap glBufferSubData -wrap glCheckFramebufferStatus -wrap glCheckFramebufferStatusOES -wrap glClear -wrap glClearColor -wrap glClearColorx -wrap glClearColorxOES -wrap glClearDepthf -wrap glClearDepthfOES -wrap glClearDepthx -wrap glClearDepthxOES -wrap glClearStencil -wrap glClientActiveTexture -wrap glClipPlanef -wrap glClipPlanefIMG -wrap glClipPlanefOES -wrap glClipPlanex -wrap glClipPlanexIMG -wrap glClipPlanexOES -wrap glColor4f -wrap glColor4ub -wrap glColor4x -wrap glColor4xOES -wrap glColorMask -wrap glColorPointer -wrap glCompileShader -wrap glCompressedTexImage2D -wrap glCompressedTexImage3DOES -wrap glCompressedTexSubImage2D -wrap glCompressedTexSubImage3DOES -wrap glCopyTexImage2D -wrap glCopyTexSubImage2D -wrap glCopyTexSubImage3DOES -wrap glCoverageMaskNV -wrap glCoverageOperationNV -wrap glCreateProgram -wrap glCreateShader -wrap glCullFace -wrap glCurrentPaletteMatrixOES -wrap glDeleteBuffers -wrap glDeleteFencesNV -wrap glDeleteFramebuffers -wrap glDeleteFramebuffersOES -wrap glDeletePerfMonitorsAMD -wrap glDeleteProgram -wrap glDeleteRenderbuffers -wrap glDeleteRenderbuffersOES -wrap glDeleteShader -wrap glDeleteTextures -wrap glDeleteVertexArraysOES -wrap glDepthFunc -wrap glDepthMask -wrap glDepthRangef -wrap glDepthRangefOES -wrap glDepthRangex -wrap glDepthRangexOES -wrap glDetachShader -wrap glDisable -wrap glDisableClientState -wrap glDisableDriverControlQCOM -wrap glDisableVertexAttribArray -wrap glDiscardFramebufferEXT -wrap glDrawArrays -wrap glDrawElements -wrap glDrawTexfOES -wrap glDrawTexfvOES -wrap glDrawTexiOES -wrap glDrawTexivOES -wrap glDrawTexsOES -wrap glDrawTexsvOES -wrap glDrawTexxOES -wrap glDrawTexxvOES -wrap glEGLImageTargetRenderbufferStorageOES -wrap glEGLImageTargetTexture2DOES -wrap glEnable -wrap glEnableClientState -wrap glEnableDriverControlQCOM -wrap glEnableVertexAttribArray -wrap glEndPerfMonitorAMD -wrap glEndTilingQCOM -wrap glExtGetBufferPointervQCOM -wrap glExtGetBuffersQCOM -wrap glExtGetFramebuffersQCOM -wrap glExtGetProgramBinarySourceQCOM -wrap glExtGetProgramsQCOM -wrap glExtGetRenderbuffersQCOM -wrap glExtGetShadersQCOM -wrap glExtGetTexLevelParameterivQCOM -wrap glExtGetTexSubImageQCOM -wrap glExtGetTexturesQCOM -wrap glExtIsProgramBinaryQCOM -wrap glExtTexObjectStateOverrideiQCOM -wrap glFinish -wrap glFinishFenceNV -wrap glFlush -wrap glFogf -wrap glFogfv -wrap glFogx -wrap glFogxOES -wrap glFogxv -wrap glFogxvOES -wrap glFramebufferRenderbuffer -wrap glFramebufferRenderbufferOES -wrap glFramebufferTexture2D -wrap glFramebufferTexture2DMultisampleIMG -wrap glFramebufferTexture2DOES -wrap glFramebufferTexture3DOES -wrap glFrontFace -wrap glFrustumfOES -wrap glFrustumx -wrap glFrustumxOES -wrap glGenBuffers -wrap glGenFencesNV -wrap glGenFramebuffers -wrap glGenFramebuffersOES -wrap glGenPerfMonitorsAMD -wrap glGenRenderbuffers -wrap glGenRenderbuffersOES -wrap glGenTextures -wrap glGenVertexArraysOES -wrap glGenerateMipmap -wrap glGenerateMipmapOES -wrap glGetActiveAttrib -wrap glGetActiveUniform -wrap glGetAttachedShaders -wrap glGetAttribLocation -wrap glGetBooleanv -wrap glGetBufferParameteriv -wrap glGetBufferPointervOES -wrap glGetClipPlanef -wrap glGetClipPlanefOES -wrap glGetClipPlanex -wrap glGetClipPlanexOES -wrap glGetDriverControlStringQCOM -wrap glGetDriverControlsQCOM -wrap glGetFenceivNV -wrap glGetFixedv -wrap glGetFixedvOES -wrap glGetFloatv -wrap glGetFramebufferAttachmentParameteriv -wrap glGetFramebufferAttachmentParameterivOES -wrap glGetIntegerv -wrap glGetLightfv -wrap glGetLightxv -wrap glGetLightxvOES -wrap glGetMaterialfv -wrap glGetMaterialxv -wrap glGetMaterialxvOES -wrap glGetPerfMonitorCounterDataAMD -wrap glGetPerfMonitorCounterInfoAMD -wrap glGetPerfMonitorCounterStringAMD -wrap glGetPerfMonitorCountersAMD -wrap glGetPerfMonitorGroupStringAMD -wrap glGetPerfMonitorGroupsAMD -wrap glGetPointerv -wrap glGetProgramBinaryOES -wrap glGetProgramInfoLog -wrap glGetProgramiv -wrap glGetRenderbufferParameteriv -wrap glGetRenderbufferParameterivOES -wrap glGetShaderInfoLog -wrap glGetShaderPrecisionFormat -wrap glGetShaderSource -wrap glGetShaderiv -wrap glGetString -wrap glGetTexEnvfv -wrap glGetTexEnviv -wrap glGetTexEnvxv -wrap glGetTexEnvxvOES -wrap glGetTexGenfvOES -wrap glGetTexGenivOES -wrap glGetTexGenxvOES -wrap glGetTexParameterfv -wrap glGetTexParameteriv -wrap glGetTexParameterxv -wrap glGetTexParameterxvOES -wrap glGetUniformLocation -wrap glGetUniformfv -wrap glGetUniformiv -wrap glGetVertexAttribPointerv -wrap glGetVertexAttribfv -wrap glGetVertexAttribiv -wrap glHint -wrap glInsertEventMarkerEX -wrap glIsBuffer -wrap glIsEnabled -wrap glIsFenceNV -wrap glIsFramebuffer -wrap glIsFramebufferOES -wrap glIsProgram -wrap glIsRenderbuffer -wrap glIsRenderbufferOES -wrap glIsShader -wrap glIsTexture -wrap glIsVertexArrayOES -wrap glLightModelf -wrap glLightModelfv -wrap glLightModelx -wrap glLightModelxOES -wrap glLightModelxv -wrap glLightModelxvOES -wrap glLightf -wrap glLightfv -wrap glLightx -wrap glLightxOES -wrap glLightxv -wrap glLightxvOES -wrap glLineWidth -wrap glLineWidthx -wrap glLineWidthxOES -wrap glLinkProgram -wrap glLoadIdentity -wrap glLoadMatrixf -wrap glLoadMatrixx -wrap glLoadMatrixxOES -wrap glLoadPaletteFromModelViewMatrixOES -wrap glLogicOp -wrap glMapBufferOES -wrap glMaterialf -wrap glMaterialfv -wrap glMaterialx -wrap glMaterialxOES -wrap glMaterialxv -wrap glMaterialxvOES -wrap glMatrixIndexPointerOES -wrap glMatrixMode -wrap glMultMatrixf -wrap glMultMatrixx -wrap glMultMatrixxOES -wrap glMultiDrawArraysEXT -wrap glMultiDrawElementsEXT -wrap glMultiTexCoord4f -wrap glMultiTexCoord4x -wrap glMultiTexCoord4xOES -wrap glNormal3f -wrap glNormal3x -wrap glNormal3xOES -wrap glNormalPointer -wrap glOrthofOES -wrap glOrthox -wrap glOrthoxOES -wrap glPixelStorei -wrap glPointParameterf -wrap glPointParameterfv -wrap glPointParameterx -wrap glPointParameterxOES -wrap glPointParameterxv -wrap glPointParameterxvOES -wrap glPointSize -wrap glPointSizex -wrap glPointSizexOES -wrap glPolygonOffset -wrap glPolygonOffsetx -wrap glPolygonOffsetxOES -wrap glPopGroupMarkerEX -wrap glPopMatrix -wrap glProgramBinaryOES -wrap glPushGroupMarkerEX -wrap glPushMatrix -wrap glQueryMatrixxOES -wrap glReadPixels -wrap glReleaseShaderCompiler -wrap glRenderbufferStorage -wrap glRenderbufferStorageMultisampleAPPL -wrap glRenderbufferStorageMultisampleIMG -wrap glRenderbufferStorageOES -wrap glResolveMultisampleFramebufferAPPL -wrap glRotatef -wrap glRotatex -wrap glRotatexOES -wrap glSampleCoverage -wrap glSampleCoveragex -wrap glSampleCoveragexOES -wrap glScalef -wrap glScalex -wrap glScalexOES -wrap glScissor -wrap glSelectPerfMonitorCountersAMD -wrap glSetFenceNV -wrap glShadeModel -wrap glShaderBinary -wrap glShaderSource -wrap glStartTilingQCOM -wrap glStencilFunc -wrap glStencilFuncSeparate -wrap glStencilMask -wrap glStencilMaskSeparate -wrap glStencilOp -wrap glStencilOpSeparate -wrap glTestFenceNV -wrap glTexCoordPointer -wrap glTexEnvf -wrap glTexEnvfv -wrap glTexEnvi -wrap glTexEnviv -wrap glTexEnvx -wrap glTexEnvxOES -wrap glTexEnvxv -wrap glTexEnvxvOES -wrap glTexGenfOES -wrap glTexGenfvOES -wrap glTexGeniOES -wrap glTexGenivOES -wrap glTexGenxOES -wrap glTexGenxvOES -wrap glTexImage2D -wrap glTexImage3DOES -wrap glTexParameterf -wrap glTexParameterfv -wrap glTexParameteri -wrap glTexParameteriv -wrap glTexParameterx -wrap glTexParameterxOES -wrap glTexParameterxv -wrap glTexParameterxvOES -wrap glTexSubImage2D -wrap glTexSubImage3DOES -wrap glTranslatef -wrap glTranslatex -wrap glTranslatexOES -wrap glUniform1f -wrap glUniform1fv -wrap glUniform1i -wrap glUniform1iv -wrap glUniform2f -wrap glUniform2fv -wrap glUniform2i -wrap glUniform2iv -wrap glUniform3f -wrap glUniform3fv -wrap glUniform3i -wrap glUniform3iv -wrap glUniform4f -wrap glUniform4fv -wrap glUniform4i -wrap glUniform4iv -wrap glUniformMatrix2fv -wrap glUniformMatrix3fv -wrap glUniformMatrix4fv -wrap glUnmapBufferOES -wrap glUseProgram -wrap glValidateProgram -wrap glVertexAttrib1f -wrap glVertexAttrib1fv -wrap glVertexAttrib2f -wrap glVertexAttrib2fv -wrap glVertexAttrib3f -wrap glVertexAttrib3fv -wrap glVertexAttrib4f -wrap glVertexAttrib4fv -wrap glVertexAttribPointer -wrap glVertexPointer -wrap glViewport -wrap glWeightPointerOES --as-needed --build-id --no-undefined -shared -Bdynamic /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/vrt-begin.o /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libzlib.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libImageIO.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libpvrdecoder.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libMPLib.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libverde_android.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libOpenGLES.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libQuartzCore.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreMotion.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreImage.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libUIKit.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreLocation.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libGameKit.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libAccounts.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libSocial.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreVideo.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreMedia.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libMediaToolbox.a /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libAVFoundation.a '/Users/magnus/.apportable/SDK/Build/android-armeabi-debug/nu.cfg.AppName/App Name/libApp Name.a' /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/vrt-end.o -L/Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi -L/Users/magnus/.apportable/SDK/toolchain/macosx/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.8 -lc -lm -ldl -lGLESv1_CM -llog -lgcc /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libSystem.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libFoundation.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libOpenAL.so -ljnigraphics -lGLESv2 -lstdc++ /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libv.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libcxx.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libSystem.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libicu.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreFoundation.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libxml2.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCommonCrypto.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libcrypto_1_01g.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libssl_1_01g.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libSecurity.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libSystemConfiguration.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCFNetwork.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libFoundation.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libGraphicsServices.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreGraphics.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libBridgeKit.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libOpenAL.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libpango.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreText.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libCoreAudio.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libAudioFile.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libAudioUnit.so /Users/magnus/.apportable/SDK/sysroot/android/usr/lib/armeabi/libAudioToolbox.so
/Users/magnus/.apportable/SDK/Build/android-armeabi-debug/nu.cfg.AppName/App Name/libApp Name.a(GCHelper.m.o):/Users/magnus/Dropbox/iOS Projects/App Name/App Name/GCHelper.m:function L_OBJC_CLASSLIST_REFERENCES_$_34: error: undefined reference to 'OBJC_CLASS_$_GKTurnBasedEventHandler'
/Users/magnus/.apportable/SDK/Build/android-armeabi-debug/nu.cfg.AppName/App Name/libApp Name.a(GCHelper.m.o):/Users/magnus/Dropbox/iOS Projects/App Name/App Name/GCHelper.m:function L_OBJC_CLASSLIST_REFERENCES_$_99: error: undefined reference to 'OBJC_CLASS_$_GKTurnBasedMatchmakerViewController'
ninja: build stopped: subcommand failed.
Error: command failed: /Users/magnus/.apportable/SDK/toolchain/macosx/ninja/ninja --no-strip-ansi-escapes -j 16 /Users/magnus/.apportable/SDK/Build/android-armeabi-debug/AppName/AppName-debug.apk
MacBook-Pro:App Name magnus$

Solution

  • currently, GKTurnBasedEventHandler and GKTurnBasedMatchmakerViewController are unimplemented in our platform. if you #ifndef ANDROID out the references, it'll link properly.