Ok thanks for the update @Cedric . We’ll test the new version of BRN and get back to you.
Hi @Cedric,
I’m having trouble installing the latest modules on master
with your recent changes, in order to test in our project.
Is there an easy way to do this?
Otherwise, when is the next release 1.8.3 expected?
what is the issue you are having?
I’d like to fix this bug and this one : BabylonReactNative throws exception when adding anchor - #13 by Cedric
before kicking a new release. And I’m actively working on fixing them.
I just can’t seem to install the requisite packages at a particular commit that’s not a release tag e.g.
yarn add https://github.com/BabylonJS/BabylonReactNative/Modules/@babylonjs/react-native.git#17b16ca
yarn add https://github.com/BabylonJS/BabylonReactNative/Modules/@babylonjs/react-native-iosandroid-0-71.git#197fe21
I’ve tried with and without the .git
extension and other permutations without success.
I’ve never used such syntax. I follow the readme steps, most of the times.
Hi @Cedric, If you’re referring to building the NPM packages locally using the readme instructions, it states this requires a Mac. I only have access to Windows and Linux at present, which is why I was instead trying the standard way of installing at a particular commit:
npm install <github-repo-url>#<commit-hash>
or
yarn add <github-repo-url>#<commit-hash>
But the modules aren’t git submodules, so that’s not working.
I tried to build locally on mac but gulp pack failed with the following error
[10:52:06] Using gulpfile ~/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/gulpfile.js
[10:52:06] Starting 'pack'...
[10:52:06] Starting 'clean'...
[10:52:06] Finished 'clean' after 695 μs
[10:52:06] Starting 'patchPackageVersion'...
No valid React Native version set. Letting Package.json unchanged.
[10:52:06] Finished 'patchPackageVersion' after 384 μs
[10:52:06] Starting 'makeXCodeProj'...
[10:52:06] cmake -B Build -G Xcode -DBUILD_RNAPP_DIR=Playground/Playground
-- [DEFAULTS] Using explicit named language support! E.g., enable_language(CXX) is needed in the project files.
-- [DEFAULTS] Disabling bitcode support by default. ENABLE_BITCODE not provided for override!
-- [DEFAULTS] Hiding symbols visibility by default. ENABLE_VISIBILITY not provided!
-- [DEFAULTS] Using NON-strict compiler checks by default. ENABLE_STRICT_TRY_COMPILE not provided!
-- Not setting any manual command-line buildflags, since Xcode is selected as the generator. Modifying the Xcode build-settings directly instead.
-- Configuring iphoneos build for platform: OS64COMBINED, architecture(s): arm64;x86_64
-- Using SDK: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk
-- Using C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-- Using CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-- Using libtool: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
-- Using install name tool: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool
-- Autoconf target triple: arm64-x86_64-apple-ios12
-- Using minimum deployment version: 12 (SDK version: 17.0)
-- Merging integrated CMake 3.14+ iOS,tvOS,watchOS,macOS toolchain(s) with this toolchain!
-- Will combine built (static) artifacts into FAT lib...
-- Using Xcode version: 15.0.1
-- CMake version: 3.29.3
-- Using a data_ptr size of: 8
-- Bitcode: Disabled
-- ARC: Disabled
-- Hiding symbols: Enabled
CMake Error at CMakeLists.txt:23 (include):
include could not find requested file:
/Users/XXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/iOS/../../Apps/Playground/Playground/node_modules/@babylonjs/react-native-iosandroid/ios/CMakeLists.txt
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
CMake Error at CMakeLists.txt:66 (add_custom_command):
No TARGET 'BabylonNative' has been created in this directory.
-- Configuring incomplete, errors occurred!
[10:52:12] 'makeXCodeProj' errored after 5.66 s
[10:52:12] Error: 'cmake -B Build -G Xcode -DBUILD_RNAPP_DIR=Playground/Playground' finished with non-zero exit code.
at formatError (/Users/XXXXX/.nvm/versions/node/v18.16.0/lib/node_modules/gulp/node_modules/gulp-cli/lib/versioned/^4.0.0/format-error.js:21:10)
at Gulp.<anonymous> (/Users/XXXXX/.nvm/versions/node/v18.16.0/lib/node_modules/gulp/node_modules/gulp-cli/lib/versioned/^4.0.0/log/events.js:33:54)
at Gulp.emit (node:events:525:35)
at Gulp.emit (node:domain:489:12)
at Object.error (/Users/XXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/undertaker/lib/helpers/createExtensions.js:61:10)
at handler (/Users/XXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/now-and-later/lib/mapSeries.js:47:14)
at f (/Users/XXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/once/once.js:25:25)
at f (/Users/XXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/once/once.js:25:25)
at tryCatch (/Users/XXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/async-done/index.js:24:15)
at done (/Users/XXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/async-done/index.js:40:12)
[10:52:12] 'pack' errored after 5.66 s
path /Apps/Playground/Playground
only exists after a npm run select 0.XX
command run.
Thanks @Cedric
It went further this time but pack failed after 49 minutes of run with following error.
Although subsequent pack command failed 1.1 min
> Task :babylonjs_react-native-iosandroid:assembleRelease
Skipping task ':babylonjs_react-native-iosandroid:assembleRelease' as it has no actions.
:babylonjs_react-native-iosandroid:assembleRelease (Thread[Execution worker,5,main]) completed. Took 0.0 secs.
BUILD SUCCESSFUL in 9s
41 actionable tasks: 13 executed, 28 up-to-date
Watched directory hierarchies: [/Users/XXXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Apps/Playground/0.71/node_modules/react-native-gradle-plugin]
[21:32:04] Finished 'buildAndroid' after 10 s
[21:32:04] Starting 'createIOSUniversalLibs'...
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libBabylonNative.a iOS/Build/Release-iphonesimulator/libBabylonNative.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libBabylonNative.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libCanvas.a iOS/Build/Release-iphonesimulator/libCanvas.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libCanvas.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libGenericCodeGen.a iOS/Build/Release-iphonesimulator/libGenericCodeGen.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libGenericCodeGen.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libGraphics.a iOS/Build/Release-iphonesimulator/libGraphics.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libGraphics.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libJsRuntime.a iOS/Build/Release-iphonesimulator/libJsRuntime.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libJsRuntime.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libMachineIndependent.a iOS/Build/Release-iphonesimulator/libMachineIndependent.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libMachineIndependent.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libNativeCamera.a iOS/Build/Release-iphonesimulator/libNativeCamera.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libNativeCamera.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libNativeCapture.a iOS/Build/Release-iphonesimulator/libNativeCapture.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libNativeCapture.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libNativeEngine.a iOS/Build/Release-iphonesimulator/libNativeEngine.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libNativeEngine.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libNativeInput.a iOS/Build/Release-iphonesimulator/libNativeInput.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libNativeInput.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libNativeOptimizations.a iOS/Build/Release-iphonesimulator/libNativeOptimizations.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libNativeOptimizations.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libNativeTracing.a iOS/Build/Release-iphonesimulator/libNativeTracing.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libNativeTracing.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libNativeXr.a iOS/Build/Release-iphonesimulator/libNativeXr.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libNativeXr.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libOGLCompiler.a iOS/Build/Release-iphonesimulator/libOGLCompiler.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libOGLCompiler.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libOSDependent.a iOS/Build/Release-iphonesimulator/libOSDependent.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libOSDependent.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libSPIRV.a iOS/Build/Release-iphonesimulator/libSPIRV.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libSPIRV.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libUrlLib.a iOS/Build/Release-iphonesimulator/libUrlLib.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libUrlLib.a
[21:32:04] lipo -create iOS/Build/Release-iphoneos/libWindow.a iOS/Build/Release-iphonesimulator/libWindow.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libWindow.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libXMLHttpRequest.a iOS/Build/Release-iphonesimulator/libXMLHttpRequest.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libXMLHttpRequest.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libastc-encoder.a iOS/Build/Release-iphonesimulator/libastc-encoder.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libastc-encoder.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libbgfx.a iOS/Build/Release-iphonesimulator/libbgfx.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libbgfx.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libbimg.a iOS/Build/Release-iphonesimulator/libbimg.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libbimg.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libbx.a iOS/Build/Release-iphonesimulator/libbx.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libbx.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libedtaa3.a iOS/Build/Release-iphonesimulator/libedtaa3.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libedtaa3.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libetc1.a iOS/Build/Release-iphonesimulator/libetc1.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libetc1.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libetc2.a iOS/Build/Release-iphonesimulator/libetc2.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libetc2.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libglslang-default-resource-limits.a iOS/Build/Release-iphonesimulator/libglslang-default-resource-limits.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libglslang-default-resource-limits.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libglslang.a iOS/Build/Release-iphonesimulator/libglslang.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libglslang.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libiqa.a iOS/Build/Release-iphonesimulator/libiqa.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libiqa.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libnapi.a iOS/Build/Release-iphonesimulator/libnapi.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libnapi.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libnvtt.a iOS/Build/Release-iphonesimulator/libnvtt.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libnvtt.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libpvrtc.a iOS/Build/Release-iphonesimulator/libpvrtc.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libpvrtc.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libspirv-cross-core.a iOS/Build/Release-iphonesimulator/libspirv-cross-core.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libspirv-cross-core.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libspirv-cross-msl.a iOS/Build/Release-iphonesimulator/libspirv-cross-msl.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libspirv-cross-msl.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libsquish.a iOS/Build/Release-iphonesimulator/libsquish.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libsquish.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libtinyexr.a iOS/Build/Release-iphonesimulator/libtinyexr.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libtinyexr.a
[21:32:05] lipo -create iOS/Build/Release-iphoneos/libxr.a iOS/Build/Release-iphonesimulator/libxr.a -output Assembled-BaseKit-iOSAndroid/ios/libs/libxr.a
[21:32:05] Finished 'createIOSUniversalLibs' after 1.66 s
[21:32:05] Starting 'copyIOSAndroidCommonFiles'...
[21:32:05] Starting 'copyIOSFiles'...
[21:32:05] Starting 'copyAndroidFiles'...
[21:32:05] Finished 'copyIOSAndroidCommonFiles' after 18 ms
[21:32:05] Finished 'copyIOSFiles' after 23 ms
[21:32:05] Finished 'copyAndroidFiles' after 34 ms
[21:32:05] Starting 'validateAssemblediOSAndroid'...
[21:32:05] Finished 'validateAssemblediOSAndroid' after 3.07 ms
[21:32:05] Starting 'createPackage'...
[21:32:05] npm pack
[21:32:05] 'createPackage' errored after 1.2 ms
[21:32:05] ShellJSInternalError: ENOENT: no such file or directory, open '/var/folders/dq/p19k2lhx641cgr3mb15vd6w80000gn/T/shelljs_42b8192abfbb8a9d9484'
at Object.openSync (node:fs:601:3)
at Object.readFileSync (node:fs:469:35)
at execSync (/Users/XXXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/shelljs/src/exec.js:89:17)
at Object._exec (/Users/XXXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/shelljs/src/exec.js:205:12)
at Object.exec (/Users/XXXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/shelljs/src/common.js:335:23)
at exec (/Users/XXXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/gulpfile.js:23:15)
at createPackage (/Users/XXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/gulpfile.js:709:3)
at bound (node:domain:433:15)
at runBound (node:domain:444:12)
at asyncRunner (/Users/XXXXXX/Projects/BabylonReactNative/may2024/BabylonReactNative/Package/node_modules/async-done/index.js:55:18)
[21:32:05] 'pack' errored after 1.11 min
Looks like npm pack
command is failing. Do you see a directory named Assembled
? can you run manually npm pack
command while setting Assembled
as the working directory?
I’m trying to do a repro with BabylonNative.
Does it repro on your side?
EDIT: It started behaving strangely the moment I’ve added the glowlayer!!!
A part of the issue is the use of D32 for depth buffer. This is fixed with D24S8. But I still see differences between Windows and Android.
EDIT: It seems phones with glitches are all Arm MALI GPU. I did more tests with D24S8 but it doesn’t fix the issue…or there is another issue. Glitches are gone but I sometimes get no rendering . It’s pretty inconsistent
I think there are 2 bugs. 1 regarding Mali GPU and D32/D24S8 and another regarding OpenGL rendering. I can do a capture with Renderdoc on another phone. Investigations continue
Thanks for your work and updates with this @Cedric. Much appreciated
Yeah thanks heaps @Cedric !
I’ve opened this PR for the depth glitches : Android D24S8 for depthbuffer by CedricGuillemet · Pull Request #1389 · BabylonJS/BabylonNative · GitHub
I could not repro the other bug I’ve noticed.I have 2 renderdoc captures but no clue how it got up to that point. Anyways, once this is in, I’ll release a new BRN package.
It should be fixed with @babylonjs/react-native - npm 1.8.6
Let me know how it goes
Awesome! Thanks @Cedric. We’ll give it a test and let you know how it goes!