Native extension - build error

#1

Hi,

I am currently developing a native extension (for iOS) and Bob returns this error:

Exception in thread “main” com.dynamo.bob.MultipleCompileException: Build error
at com.dynamo.bob.bundle.BundleHelper.buildEngineRemote(BundleHelper.java:798)
at com.dynamo.bob.Project.buildEngine(Project.java:677)
at com.dynamo.bob.Project.doBuild(Project.java:801)
at com.dynamo.bob.Project.build(Project.java:405)
at com.dynamo.bob.Bob.main(Bob.java:557)
Caused by: com.defold.extender.client.ExtenderClientException: Failed to build source.
at com.defold.extender.client.ExtenderClient.build(ExtenderClient.java:190)
at com.dynamo.bob.bundle.BundleHelper.buildEngineRemote(BundleHelper.java:790)
… 4 more

It occurred after I added a framework to my extension, and I think it might be the same issue (timeout) as discussed here: https://forum.defold.com/t/unable-to-build-for-html5-when-html5-native-extension-is-included-def-2815/9662.

The extension I am working on is quite big, with heavy third-party frameworks.

Thanks,
Romain

0 Likes

#2

We need to make this server side error visibility better to the users:

Remote builder response status: HTTP/1.1 413 Request Entity Too Large

We have a maximum cap of 500mb per engine build (for one platform architecture), and your project is currently at 536 mb! !

May I ask what you are using that takes that much space? A lot of debug symbols?

0 Likes

#3

Hi,

I am building an extension for an Ad mediation network and I have to add the frameworks for
each of the mediated partners.
Unfortunately, the frameworks they provide are monstrously big and there is nothing I can do to strip them.

Thanks !

0 Likes

#4

On macOS/iOS/… the libraries are usually “fat libraries”, which means they contain all architectures.
E.g. they contain armv7/arm64/i386 simulator/x86/x64

I suggest you copy the framework into “ios” and “osx” folders, and then strip the “x86/x64” from the “ios” versions, and vice versa.

nothing I can do to strip them.

lipo is your friend here. You can extract merge libraries with various architectures.

0 Likes

#5

Thanks for the information. I’ll try that.

I’ve read here https://forum.defold.com/t/building-too-slow/49669/5 a local build server was something you were considering.

Any ETA about this ?
Thanks again,
Romain

1 Like

#6

No eta on that I’m afraid.

0 Likes

#7

ok, thanks

0 Likes