Issues compiling evolver-electron on Ubuntu 22.04

Hi all,

I’m attempting to install evolver-electron on a lab Ubuntu 22.04 x86_64 system. I had no issues installing the dpu and running the eVOLVER CLI, but since the evolver-electron release .deb and AppImages are only packaged for arm, I need to recompile and package it for x86. I’m pretty seriously stuck here.

I saw this thread ( Electron GUI not working on linux ) from 2021 and attempted to compile with yarn version 1.22.10, but this didn’t work either (& was robust to removing the lockfile and node_modules/ and rerunning). As far as I can tell, the compilation is failing at the node-sass step; the informative line from the attached error message is gyp: Undefined variable standalone_static_library in binding.gyp while trying to load binding.gyp.

I’ve tried some basic things like changing my Node version, but enzyme has a dependency called cheerio which seems to require Node 20.18.1, so I can’t go below this.

Hopefully I’m not the only person in the world attempting to use x86 Linux to run an evolver; perhaps it would be useful to distribute a package or AppImage for us to use?

Any help would be much appreciated!

The full(ish) error message follows:

[-/10] ⢀ waiting...
[-/10] ⢀ waiting...
[8/10] ⢀ electron-chromedriver
[7/10] ⢀ node-sass
error /home/evolver/Downloads/evolver-electron/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: /home/evolver/Downloads/evolver-electron/node_modules/node-sass
Output:
Building: /home/evolver/.nvm/versions/node/v20.18.1/bin/node /home/evolver/Downloads/evolver-electron/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/home/evolver/.nvm/versions/node/v20.18.1/bin/node',
gyp verb cli   '/home/evolver/Downloads/evolver-electron/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@20.18.1 | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /home/evolver/.pyenv/shims/python2
gyp verb check python version `/home/evolver/.pyenv/shims/python2 -c "import sys; print "2.7.18
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 20.18.1
gyp verb command install [ '20.18.1' ]
gyp verb install input version string "20.18.1"
gyp verb install installing version: 20.18.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 20.18.1
gyp verb build dir attempting to create "build" dir: /home/evolver/Downloads/evolver-electron/node_modules/node-sass/build
gyp verb build dir "build" dir needed to be created? /home/evolver/Downloads/evolver-electron/node_modules/node-sass/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /home/evolver/Downloads/evolver-electron/node_modules/node-sass/build/config.gypi
gyp verb config.gypi checking for gypi file: /home/evolver/Downloads/evolver-electron/node_modules/node-sass/config.gypi
gyp verb common.gypi checking for gypi file: /home/evolver/Downloads/evolver-electron/node_modules/node-sass/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /home/evolver/.pyenv/shims/python2
gyp info spawn args [
gyp info spawn args   '/home/evolver/Downloads/evolver-electron/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/evolver/Downloads/evolver-electron/node_modules/node-sass/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/evolver/Downloads/evolver-electron/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/evolver/.node-gyp/20.18.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/evolver/.node-gyp/20.18.1',
gyp info spawn args   '-Dnode_gyp_dir=/home/evolver/Downloads/evolver-electron/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/evolver/.node-gyp/20.18.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/evolver/Downloads/evolver-electron/node_modules/node-sass',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp: Undefined variable standalone_static_library in binding.gyp while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/evolver/Downloads/evolver-electron/node_modules/node-gyp/lib/configure.js:345:16)
gyp ERR! stack     at ChildProcess.emit (node:events:518:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:293:12)
gyp ERR! System Linux 6.14.0-33-generic
gyp ERR! command "/home/evolver/.nvm/versions/node/v20.18.1/bin/node" "/home/evolver/Downloads/evolver-electron/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/evolver/Downloads/evolver-electron/node_modules/node-sass
gyp ERR! node -v v20.18.1