eclipse-cdt-cloud / cdt-cloud-blueprint

CDT Cloud Blueprint is a template for building custom web-based C/C++ tools. It is made up of existing open source components and can be easily downloaded and installed on all major operating system platforms.
MIT License
26 stars 11 forks source link

CTD Cloud Blueprint 1.38 does not start #60

Closed sdirix closed 1 year ago

sdirix commented 1 year ago

When starting the application (e.g. the .AppImage file) the app immediately crashes:

/tmp/.mount_CDTClo3wQT7y/resources/app/node_modules/bindings/bindings.js:121
        throw e;
        ^
Error: Module did not self-register: '/tmp/.mount_CDTClo3wQT7y/resources/app/node_modules/drivelist/build/Release/drivelist.node'.
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1822)
    at Module._extensions..node (node:internal/modules/cjs/loader:1259:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:1822)
    at Module.load (node:internal/modules/cjs/loader:1044:32)
    at Module._load (node:internal/modules/cjs/loader:885:12)
    at f._load (node:electron/js2c/asar_bundle:2:13330)
    at Module.require (node:internal/modules/cjs/loader:1068:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at bindings (/tmp/.mount_CDTClo3wQT7y/resources/app/node_modules/bindings/bindings.js:112:48)
    at Object.<anonymous> (/tmp/.mount_CDTClo3wQT7y/resources/app/node_modules/drivelist/js/index.js:25:27) {
  code: 'ERR_DLOPEN_FAILED'
}
Node.js v18.12.1
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

Additional Information

A drivelist.node error usually indicates that the native parts where not properly built. This can be reproduced by executing yarn && yarn electron package or yarn && yarn electron deploy in a clean state of the repository.

Looking at Theia Blueprint: They also include the native rebuild as part of the build process, see here. This is missing in our builds.

Looking at the upstream commit it seems that the Electron native build was disabled and instead performed manually. However in our merge we only merged the Electron native build disabling without adding the manual execution.