nteract / nteract

📘 The interactive computing suite for you! ✨

Home Page:https://nteract.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to build and run the nteract desktop app locally

vivek1729 opened this issue · 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?