Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android/Meta Quest Demos on Linux? #47

Open
laurendiaz opened this issue Dec 12, 2024 · 2 comments
Open

Android/Meta Quest Demos on Linux? #47

laurendiaz opened this issue Dec 12, 2024 · 2 comments

Comments

@laurendiaz
Copy link

Hi! I'm wondering if the Android and Meta Quest demos are compatible with building on Linux (specifically Ubuntu) machines? I got the third-party libraries successfully built but am running into an error that seems to stem from syntax issues when running ./gradlew build (tested on Meta Quest fingerdistance, Meta Quest vrnativeapplication, and Android base demo)

error: cannot initialize a parameter of type 'void **' with an rvalue of type 'JNIEnv **' (aka 'JNIEnv_ **')
  103 |         androidApp_->activity->vm->AttachCurrentThread(&jniEnv_, nullptr);

Looking directly at the gradlew file, the following snippet seems to indicate that OS-specific support is limited to Windows and MacOS

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
  CYGWIN* )
    cygwin=true
    ;;
  Darwin* )
    darwin=true
    ;;
  MINGW* )
    msys=true
    ;;
  NONSTOP* )
    nonstop=true
    ;;
esac

Is this correct? If so, what exactly are the hurdles to compatibility with a Ubuntu Linux build? I only need a very simple bare-bones application so if this is the result of support for more advanced capabilities that there's a way to circumvent that would be great. Thanks!!

@leapally
Copy link
Contributor

leapally commented Dec 13, 2024

Hi, @laurendiaz. I think Gradle build of the Quest demo should work on Linux, but I'll ask the team when I get the chance. In the meanwhile, could you tell us what flavor and version of Linux you are using? And is there anything unique about the way your system or development/build environment is set up?

"gradlew" is a gradle wrapper script that was generated using Gradle build system. It is there to invoke a Java executable ("gradle/wrapper/gradle-wrapper.jar") which, in turn, may download and cache Gradle build system executables then use them to perform the actual build process. I believe the "OS specific support" snippet you have copied here is there to do some platform-specific things to get 'gradle-wrapper.jar' working correctly for those plaforms. Gradle should work on Linux.

@leapally
Copy link
Contributor

Hey @laurendiaz. Have you been able to make progress on the build?

As far as I can tell, we (Ocean team) have not gotten Quest demo to build on Linux.

This is partly due to lack of Linux machines available to us and partly due to other platforms being prioritized for Quest demo builds.

We currently do not have the bandwidth to work on this, but please let us know what your setup is like for us to reference when we get around to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants