dkimitsa / robovm-robopods

32 stars 9 forks source link

Firebase Storage Compile error #20

Closed aliyildiz1980 closed 1 year ago

aliyildiz1980 commented 1 year ago

Hi,

I am struggling with a compile error when I add firebase storage robopod to my android project. I am using Android Studio 2021.3.1 Patch 1, Gradle 7.4, RoboVM plugin 2.3.18. When I add "io.github.dkimitsa.robovm:robopods-firebase-storage-ios:1.28.0-SNAPSHOT" to app gradle file, I get the following error. I removed all other robopods to see if the error is related with other robopods. But, the result is the same.

Frameworks that I use (Firabase version 10.3.0): FirebaseStorage GTMSessionFetcher GoogleUtilities FBLPromises FirebaseCore FirebaseCoreInternal

[ERROR] Couldn't compile app org.apache.commons.exec.ExecuteException: Command '[/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo, /Users/XXX/Development/YYY/ios/robovm-build/tmp/iOS/ios/arm64-simulator/IOSLauncher.app/Frameworks/libswiftCore.dylib, -remove, i386, -remove, x86_64, -output, /Users/aliyildiz/Development/YYY/ios/robovm-build/tmp/iOS/ios/arm64-simulator/IOSLauncher.app/Frameworks/libswiftCore.dylib.tmp]' failed (Exit value: 1) at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) at org.robovm.compiler.util.Executor.exec(Executor.java:344) at org.robovm.compiler.util.ToolchainUtil.lipoRemoveArchs(ToolchainUtil.java:332) at org.robovm.compiler.target.AbstractTarget.stripExtraArches(AbstractTarget.java:704) at org.robovm.compiler.target.AbstractTarget.copySwiftLibs(AbstractTarget.java:675) at org.robovm.compiler.target.AbstractTarget.copyDynamicFrameworks(AbstractTarget.java:406) at org.robovm.compiler.target.AbstractTarget.doInstall(AbstractTarget.java:772) at org.robovm.compiler.target.AbstractTarget.doInstall(AbstractTarget.java:761) at org.robovm.compiler.target.ios.IOSTarget.prepareLaunch(IOSTarget.java:389) at org.robovm.compiler.target.ios.IOSTarget.prepareLaunch(IOSTarget.java:384) at org.robovm.idea.compilation.RoboVmCompileTask$3.doCompile(RoboVmCompileTask.java:282) at org.robovm.idea.compilation.RoboVmCompilerThread.run(RoboVmCompilerThread.java:69)

dkimitsa commented 1 year ago

what version of xcode do you use ? as if fails on stripping simulator architectures from swift libraries

aliyildiz1980 commented 1 year ago

I am using XCode v14.2 (14C18)

dkimitsa commented 1 year ago

its not pods related by compiler itself. can you please share a sample project to reproduce ? as I can see you are building for arm64-simulator and for simulator target strip() should not be executed

aliyildiz1980 commented 1 year ago

Yes. I am building for arm64-simulator. For real devices, compile seems to be fine (though I haven't installed and tried the build). I have attached an example project. It is an empty LibGDX project created with gdx-setup tool with the following modifications: 1) implementation "io.github.dkimitsa.robovm:robopods-firebase-storage-ios:$altpodsVersion" is added to build.gradle file. 2) and libs/arm libs/sim lines are added to robovm.properties file. 3) Necessary frameworks are copied to ios/libs folder.

test.zip

dkimitsa commented 1 year ago

thanks, are you starting it with gradle script or from Idea plugin?

dkimitsa commented 1 year ago

ok, its a bug that was fixed in 2.3.19-SNAPSHOT here is a PR for reference https://github.com/MobiVM/robovm/pull/671/files closing it as its not alt-pods bug

aliyildiz1980 commented 1 year ago

Hi again,

I tried with MobiVM 2.3.19-SNAPSHOT. But, the same error occurs.

dkimitsa commented 1 year ago

how exactly have you tried? if you run with pure gradle -- make sure that you have correct version in plugin dependency:

    classpath "com.mobidevelop.robovm:robovm-gradle-plugin:${roboVMVersion}"

if you run in Idea -- make sure that you have installed proper version of plugin from here https://mobivm.github.io/downloads.html?prefix=snapshots/idea

aliyildiz1980 commented 1 year ago

I am using gradle. Changing gradle plugin version didn't work, either.

classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.19-SNAPSHOT'

dkimitsa commented 1 year ago

there seems to be an issue when using tree-shaker. try disabling it in robovm.xml

 <!--  <treeShaker>conservative</treeShaker> -->

meanwhile I will check why it cause an issue

aliyildiz1980 commented 1 year ago

I tried building without treeshaker. The problem is still there. I tried with both 2.3.18 and 2.3.19-SNAPSHOT

dkimitsa commented 1 year ago

could you please run with info/stackrace params ?

./gradlew --info --stacktrace launchIPhoneSimulator

as your sample is working for me

aliyildiz1980 commented 1 year ago

The build succeded after a clean build with 2.3.19-SNAPSHOT and without treeshaker. Thanks for your support. Do you want me to open an issue in MobiVM repository for treeshaker bug?

dkimitsa commented 1 year ago

already looking for it, but please open an issue, thx !

aliyildiz1980 commented 1 year ago

Issue #699 is created:

https://github.com/MobiVM/robovm/issues/699

dkimitsa commented 1 year ago

thx, the fix: https://github.com/MobiVM/robovm/pull/700