forum icon indicating copy to clipboard operation
forum copied to clipboard

Desktop app is not working on linux arm

Open andirsun opened this issue 1 year ago • 9 comments

Describe the bug Linux desktop app is failing to open on arm64 architecture.

To Reproduce Open the app using the console and check the error

❯ flatpak run org.standardnotes.standardnotes 
[3:0119/151808.307889:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /app/standardnotes/resources/app.asar.unpacked/node_modules/microtime/build/Release/microtime.node: cannot open shared object file: No such file or directory
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:2131)
    at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2358)
    at Module.load (node:internal/modules/cjs/loader:1126:32)
    at node:internal/modules/cjs/loader:967:12
    at Function._load (node:electron/js2c/asar_bundle:2:13327)
    at Module.require (node:internal/modules/cjs/loader:1150:19)
    at require (node:internal/modules/cjs/helpers:121:18)
    at load (/app/standardnotes/resources/app.asar/node_modules/microtime/node_modules/node-gyp-build/node-gyp-build.js:22:10)
    at Object.<anonymous> (/app/standardnotes/resources/app.asar/node_modules/microtime/index.js:1:43)
[3:0119/151808.938971:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[3:0119/151808.939001:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
libEGL warning: egl: failed to create dri2 screen
MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER)
libEGL warning: egl: failed to create dri2 screen
[47:0119/151808.986348:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization
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)

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Linux arm64 Fedora

Additional context Add any other context about the problem here.

andirsun avatar Jan 19 '24 20:01 andirsun

Hi @andirsun, please note that the flatpak is not officially maintained by anyone on the Standard Notes team. If possible, can we ask you to try the AppImage, or the Snap? You can also find a .deb package in our Github repository:

https://github.com/standardnotes/app/releases/tag/%40standardnotes%2Fdesktop%403.185.4

effieeee avatar Jan 23 '24 16:01 effieeee

@effieeee Same error using AppImage

~/Downloads 
❯ ./standard-notes-3.185.4-linux-arm64.AppImage 
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /tmp/.mount_standaWDXZkZ/resources/app.asar.unpacked/node_modules/microtime/build/Release/microtime.node: cannot open shared object file: No such file or directory
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:2131)
    at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2358)
    at Module.load (node:internal/modules/cjs/loader:1126:32)
    at node:internal/modules/cjs/loader:967:12
    at Function._load (node:electron/js2c/asar_bundle:2:13327)
    at Module.require (node:internal/modules/cjs/loader:1150:19)
    at require (node:internal/modules/cjs/helpers:121:18)
    at load (/tmp/.mount_standaWDXZkZ/resources/app.asar/node_modules/microtime/node_modules/node-gyp-build/node-gyp-build.js:22:10)
    at Object.<anonymous> (/tmp/.mount_standaWDXZkZ/resources/app.asar/node_modules/microtime/index.js:1:43)

I am on fedora btw so I can not test .deb because we use .dnf

andirsun avatar Jan 23 '24 16:01 andirsun

Also receiving an arm64 Appimage error on Raspberry Pi OS

A JavaScript error occurred in the main process Uncaught Exception: Error: /tmp/.mount_standajhlB1P/resources/app.asar.unpacked/node_modules/microtime/build/Release/microtime.node: cannot open shared object file: No such file or directory at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:2131) at Object. (node:internal/modules/cjs/loader:1356:18) at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2358) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/asar_bundle:2:13327) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:121:18) at load (/tmp/.mount_standajhlB1P/resources/app.asar/node_modules/microtime/node_modules/node-gyp-build/node-gyp-build.js:22:10) at Object. (/tmp/.mount_standajhlB1P/resources/app.asar/node_modules/microtime/index.js:1:43) [8758:0303/190919.421873:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.422144:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.422257:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.422351:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.422434:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.422519:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.422599:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.424699:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.424796:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.424900:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.424981:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.425057:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.425139:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [8758:0303/190919.425222:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) 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) Warning: eglChooseConfig returned zero configs at Create (../../third_party/dawn/src/dawn/native/opengl/ContextEGL.cpp:52) at Create (../../third_party/dawn/src/dawn/native/opengl/PhysicalDeviceGL.cpp:97)

monoprix avatar Mar 03 '24 13:03 monoprix

@effieeee Any thoughts ?

andirsun avatar Apr 04 '24 11:04 andirsun

I ran into the same issue running Debian 12 with both the .deb and .appImage.

A JavaScript error occurred in the main process Uncaught Exception: Error: /opt/Standard Notes/resources/app.asar.unpacked/node_modules/microtime/build/Release/microtime.node: cannot open shared object file: No such file or directory at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:2131) at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18) at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2358) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/asar_bundle:2:13327) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:121:18) at load (/opt/Standard Notes/resources/app.asar/node_modules/microtime/node_modules/node-gyp-build/node-gyp-build.js:22:10) at Object.<anonymous> (/opt/Standard Notes/resources/app.asar/node_modules/microtime/index.js:1:43) [12064:0506/200824.967253:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.967674:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.967944:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.968209:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.968441:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.968652:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.968849:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.971947:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.972191:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.972420:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.972611:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.972794:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.972979:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2) [12064:0506/200824.973159:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: No such file or directory (2)

Has anyone solved this issue yet?

mikepaxton avatar May 07 '24 03:05 mikepaxton

Well the problem is that the microtime node module is not being properly rebuilt before the app be packed by electron builder. Probably you have a problem with the Github actions host you are using (I think is x86), the proper way would be to use an arm64 host I guess.

I was able to build a working AppImage on my local arm64 machine (Fedora Asahi Linux 40)

app/packages/desktop on  main [!] via  v20.10.0 took 3m5s 
❯ yarn run electron-builder --linux --arm64 -c.linux.target=AppImage --publish=never --c.extraMetadata.version="3.110.72"
  • electron-builder  version=24.9.3 os=6.8.9-403.asahi.fc40.aarch64+16k
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  [email protected], [email protected], [email protected], [email protected] platform=linux arch=arm64
  • install prebuilt binary  name=keytar version=7.9.0 platform=linux arch=arm64 napi=
  • rebuilding native dependency  name=microtime version=3.1.1
  • rebuilding native dependency  name=cbor-extract version=2.1.1
  • rebuilding native dependency  name=sqlite3 version=5.1.6
  • packaging       platform=linux arch=arm64 electron=27.0.0 appOutDir=dist/linux-arm64-unpacked
  • skipping "afterSign" hook as no signing occurred, perhaps you intended "afterPack"?
  • building        target=AppImage arch=arm64 file=dist/standard-notes-3.110.72-linux-arm64.AppImage

My System:

             .',;::::;,'.                andirsun@andirsun-macbook 
         .';:cccccccccccc:;,.            ------------------------- 
      .;cccccccccccccccccccccc;.         OS: Fedora Linux Asahi Remix 40 (Forty) aarch64 
    .:cccccccccccccccccccccccccc:.       Host: Apple MacBook Pro (16-inch, M1 Pro, 2021) 
  .;ccccccccccccc;.:dddl:.;ccccccc;.     Kernel: 6.8.9-403.asahi.fc40.aarch64+16k 
 .:ccccccccccccc;OWMKOOXMWd;ccccccc:.    Uptime: 12 hours, 5 mins 
.:ccccccccccccc;KMMc;cc;xMMc:ccccccc:.   Packages: 2256 (rpm), 45 (flatpak) 
,cccccccccccccc;MMM.;cc;;WW::cccccccc,   Shell: bash 5.2.26 
:cccccccccccccc;MMM.;cccccccccccccccc:   Resolution: 3456x2160 
:ccccccc;oxOOOo;MMM0OOk.;cccccccccccc:   DE: GNOME 46.1 
cccccc:0MMKxdd:;MMMkddc.;cccccccccccc;   WM: Mutter 
ccccc:XM0';cccc;MMM.;cccccccccccccccc'   WM Theme: Adwaita 
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;    Theme: Adwaita [GTK2/3] 
ccccc;0MNc.ccc.xMMd:ccccccccccccccc;     Icons: Adwaita [GTK2/3] 
cccccc;dNMWXXXWM0::cccccccccccccc:,      Terminal: vscode 
cccccccc;.:odl:.;cccccccccccccc:,.       CPU: (10) @ 2.064GHz 
:cccccccccccccccccccccccccccc:'.         Memory: 12626MiB / 15564MiB 
.:cccccccccccccccccccccc:;,..
  '::cccccccccccccc::;,.                                         
                                                                 

Screenshot from 2024-05-14 23-09-40

andirsun avatar May 14 '24 22:05 andirsun

@andirsun can upload your arm64 appimage to github?

iSack97 avatar Jun 14 '24 13:06 iSack97

Can confirm this is the case. Need to rebuild on arm64

PathToLife avatar Sep 16 '24 04:09 PathToLife

Solution is to download the git repository and complie yourself based on the github action script, this may require you to install a bunch of dependencies for nodejs and etc (only recommened if you're familiar).

Else please contact standardnotes support - if you trust us, i/we can possibly provide a complied binary (without liability.. but should be safe to run).

Steps to reproduce.

$ sudo dpkg -i standard-notes-3.195.3-linux-arm64.deb  
(Reading database ... 485329 files and directories currently installed.)
Preparing to unpack standard-notes-3.195.3-linux-arm64.deb ...
Unpacking standard-notes (3.195.3) over (3.195.3) ...
Setting up standard-notes (3.195.3) ...
update-alternatives is /usr/bin/update-alternatives
Warning: program compiled against libxml 212 using older 209
Processing triggers for hicolor-icon-theme (0.18-1) ...
Processing triggers for desktop-file-utils (0.27-2) ...
                                                                                                             
$ standard-notes                                      
A JavaScript error occurred in the main process
Uncaught Exception:                                                                                          
Error: /opt/Standard Notes/resources/app.asar.unpacked/node_modules/microtime/build/Release/microtime.node: cannot open shared object file: No such file or directory                                                     
    at process.func [as dlopen] (node:electron/js2c/node_init:2:2559)                                        
    at Module._extensions..node (node:internal/modules/cjs/loader:1470:18)                                   
    at Object.func [as .node] (node:electron/js2c/node_init:2:2786)                                          
    at Module.load (node:internal/modules/cjs/loader:1215:32)                                                
    at Module._load (node:internal/modules/cjs/loader:1031:12)                                               
    at c._load (node:electron/js2c/node_init:2:17025)                                                        
    at Module.require (node:internal/modules/cjs/loader:1240:19)                                             
    at require (node:internal/modules/helpers:179:18)                                                        
    at load (/opt/Standard Notes/resources/app.asar/node_modules/node-gyp-build/node-gyp-build.js:22:10)     
    at Object.<anonymous> (/opt/Standard Notes/resources/app.asar/node_modules/microtime/index.js:1:43)      

PathToLife avatar Sep 16 '24 04:09 PathToLife