Javascript error

Hi, I’m new to Carplay and raspberry pi and right now learning the tutorials on the internet of how to make carplay by using raspberry pi.
I am attemping to run Carplay 3.0.2 armv7l on my raspberry pi model 3 with operating system of raspberry pi os 32 bit, it shows that Javascript error as follows:
/home/pi/.config/ReactCarplay
A JavaScript error occurred in the main process
Uncaught Exception:
Error: No native build was found for platform=linux arch=arm runtime=electron abi=110 uv=1 armv=default libc=glibc node=16.17.1 electron=22.0.0
loaded from: /tmp/.mount_Carplaam3DrY/resources/app.asar/node_modules/node-carplay/node_modules/usb

at load.path (/tmp/.mount_Carplaam3DrY/resources/app.asar/node_modules/node-gyp-build/index.js:60:9)
at load (/tmp/.mount_Carplaam3DrY/resources/app.asar/node_modules/node-gyp-build/index.js:22:30)
at Object.<anonymous> (/tmp/.mount_Carplaam3DrY/resources/app.asar/node_modules/node-carplay/node_modules/usb/dist/usb/bindings.js:8:36)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13328)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)

[1092:0820/212719.259852:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[1115:0820/212720.237764:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[1140:0820/212720.757720:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
I have no idea what went wrong and hope I can get any help. Thank you!

Hi are you running this with a desktop installed on the pi?

I’m not sure what you are asking but I used pi 3 and system of os 32 bit.
Here is what I constructed

Did you install via setup-pi.sh or did you download the file direct?

you mean the file you provide in GitHub?
i downloaded it directly

Did you do the armv7l version? that is the 32bit one, alternatively, clone the repo and run setup-pi.sh

sorry for the late reply.
I confirmed that I did the armv7l but same problem.
However, it seems works when I cloned the repo and run setup-pi.sh


what do i do next?

so i tried to launch the app but failed.


Looks like there’s no network connection, it needs to download the APK on first run (first run on auto run, and also first run on manual run)

thanks! The initializtion was successful!

1 Like

On a freshly installed Raspberry Pi 4B and following the default installation, including the ./setup.sh procedure, I get a running version of Carplay.AppImage (actual version 4.0.2).

However, even fully functional, from “executing in Terminal”, I get the following error:

/home/frits/.config/react-carplay/config.json
true
config read
creating pi most in main
creating client in PiMost
A JavaScript error occurred in the main process
Uncaught Exception:
Error: ENOENT, No such file or directory
at new OS8104A (/tmp/.mount_CarplajR9qnI/resources/app.asar/node_modules/socketmost/dist/driver/OS8104A.js:47:41)
at new SocketMost (/tmp/.mount_CarplajR9qnI/resources/app.asar/node_modules/socketmost/dist/server/SocketMost.js:107:23)
at new PiMost (/tmp/.mount_CarplajR9qnI/resources/app.asar/out/main/index.js:231:23)
at /tmp/.mount_CarplajR9qnI/resources/app.asar/out/main/index.js:341:5
at suppressedCallback (node:fs:275:5)
at FSReqCallback.oncomplete (node:fs:200:23)
(node:3420) UnhandledPromiseRejectionWarning: TypeError: electron.systemPreferences.askForMediaAccess is not a function
at createWindow (/tmp/.mount_CarplajR9qnI/resources/app.asar/out/main/index.js:408:30)
at /tmp/.mount_CarplajR9qnI/resources/app.asar/out/main/index.js:434:3
(Use react-carplay --trace-warnings ... to show where the warning was created)
(node:3420) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see Command-line API | Node.js v21.5.0 Documentation). (rejection id: 1)
[3466:0112/140351.222382:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization
[3420:0112/140354.249531:ERROR:device_event_log_impl.cc(225)] [14:03:54.249] USB: usb_service_linux.cc:252 Got duplicate add event for path: /dev/bus/usb/001/030
[3492:0112/140414.335630:ERROR:gl_utils.cc(402)] [.WebGL-0x480029bf00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
[3492:0112/140415.295778:ERROR:gl_utils.cc(402)] [.WebGL-0x480029bf00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
[3492:0112/140415.362603:ERROR:gl_utils.cc(402)] [.WebGL-0x480029bf00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
[3492:0112/140415.428345:ERROR:gl_utils.cc(402)] [.WebGL-0x480029bf00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)
^[[5~^[[6~Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)

Update: all dependencies are properly loaded when using the following command:

npm install

or (in short)

npm i

Subsequently, the following command shows the available options as indicated by the developer:

npm run

Usually, something like “> npm run build” or “> npm run start” from this list will launch the application. Best is to consult the response from the “> npm run” command.

After some messing around, I managed to get compilation going, starting from a new Raspberry Pi and a clean OS, a clean node installation.