nteract icon indicating copy to clipboard operation
nteract copied to clipboard

Unable to build and run the nteract desktop app locally

Open vivek1729 opened this issue 3 years ago • 0 comments

Application or Package Used nteract desktop app

Describe the bug Unable to run the desktop electron app as the process crashes at the spawn stage due to zeromq build errors.

To Reproduce Steps to reproduce the behavior:

  1. Clone the monorepo
  2. yarn install to install the packages
  3. yarn build:all to build all the packages
  4. yarn start to run the desktop app locally. This step errors out.

Expected behavior Zeromq should build successfully and the electron app should spawn

Screenshots electronBuildError

Desktop (please complete the following information):

  • OS: Windows 11
  • Node: 16.14.0
  • Yarn: 1.19.1

Additional context To work around these compilation errors on Windows, I tried these 2 approaches:

  • Build the app on WSL1
  • Construct a docker container from the ubuntu:20.04 image and install all the required dependencies manually.

Both these approaches did not work and I hit these errors (in order as I worked through them at the spawn stage):

  • Running as root without --no-sandbox is not supported.
  • When I tried running without root, I saw this error: The SUID sandbox helper binary was found, but is not configured correctly. It's tracked in this electron issue with a variety of solutions. What worked for me is passing the --no-sandbox flag in the spawn command.
  • I then started seeing this error: The futex facility returned an unexpected error code. This is also tracked as an electron issue which suggested that X11 forwarding is somehow broken on my machine and is required for running linux GUI applications. I followed the guidance here by configuring an X11 server on my windows 11 machine.
  • After setting this, I consistently hit a segmentation fault on the Ubuntu docker image with an error like this: electron exited with signal SIGSEGV.

However, I did not see a segmentation fault on my WSL set up. Instead, I just saw a few warnings and a blank screen. The app did not load and I didn't see any errors as well on the terminal.

image

In my investigation, I also looked extensively for a latest docker image with all the right defaults so that I can get an electron app running in a continer with GUI. However, all the docker images I found were old and unmaintained.

Ask It'll be great if we can package up a working nteract setup into a docker container. This seems like a one time effort that would make developing on nteract very smooth. I am assuming an e2e flow where the docker container can correctly run and display the desktop app. In the mean time, are there any other alternatives for contributors to try and test out their code changes e2e in case they are unable to setup this project locally?

vivek1729 avatar Jul 07 '22 16:07 vivek1729