Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Electron 16: linux build failure with remote native modules #137659

Closed
deepak1556 opened this issue Nov 22, 2021 · 0 comments · Fixed by #142023
Closed

Electron 16: linux build failure with remote native modules #137659

deepak1556 opened this issue Nov 22, 2021 · 0 comments · Fixed by #142023
Assignees
Labels
electron-16-update Issues related to electron 16 update engineering VS Code - Build / issue tracking / etc. insiders-released Patch has been released in VS Code Insiders mitigated Issue has workaround in place vscode-build VS Code build process issues
Milestone

Comments

@deepak1556
Copy link
Contributor

deepak1556 commented Nov 22, 2021

Refs https://dev.azure.com/monacotools/Monaco/_build/results?buildId=143906

make: Entering directory '/__w/1/s/remote/node_modules/vscode-nsfw/build'
  CXX(target) Release/obj.target/nsfw/src/NSFW.o
g++-4.8: error: unrecognized command line option '-std=gnu++14'
nsfw.target.mk:130: recipe for target 'Release/obj.target/nsfw/src/NSFW.o' failed
make: Leaving directory '/__w/1/s/remote/node_modules/vscode-nsfw/build'
make: *** [Release/obj.target/nsfw/src/NSFW.o] Error 1

We use an gcc 4.8 toolchain to support older distros for remote extensions unlike desktop client were we statically link libc++ that allows us to use newer toolchain while maintaining support.

With node 16 update nodejs/node@03b4a3a changed -std=gnu++1y to -std=gnu++14 because the former is deprecated in newer toolchain, so native module when using this config with our toolchain will now fail with above error.

@deepak1556 deepak1556 self-assigned this Nov 22, 2021
@deepak1556 deepak1556 added electron-16-update Issues related to electron 16 update engineering VS Code - Build / issue tracking / etc. vscode-build VS Code build process issues labels Nov 22, 2021
@deepak1556 deepak1556 added this to the November 2021 milestone Nov 22, 2021
deepak1556 added a commit that referenced this issue Nov 26, 2021
@deepak1556 deepak1556 added the mitigated Issue has workaround in place label Nov 26, 2021
@bpasero bpasero added the electron-blocker Issues in next update of Electron preventing update label Dec 16, 2021
@deepak1556 deepak1556 removed the electron-blocker Issues in next update of Electron preventing update label Feb 3, 2022
deepak1556 added a commit that referenced this issue Feb 3, 2022
…2023)

* refactor: build x64 remote modules with same toolchain as binary

Refs https://github.com/nodejs/node/blob/master/BUILDING.md#official-binary-platforms-and-toolchains
Fixes #137659

* chore: split client and server stages for x64

* chore: add build dependencies

* Revert "chore: add build dependencies"

This reverts commit f9077c9.

* chore: build step requires root dependencies

* chore: only perform module installation in separate stage

* chore: fix target path

* chore: run server stage in parallel to compile

* chore: fix dependency chain

* chore: declare parallel dependecy

* chore: fix artifact name

* chore: publish as archive to preserve file types

* chore: fix target directory for extraction

* chore: update postinstall script
bpasero added a commit that referenced this issue Feb 8, 2022
* chore: bump electron@15.3.0

* chore: bump node@16.x

* chore: enable render process reuse

* Revert "watcher - use `type` property for crash reporter location"

This reverts commit bfa488d.

* Revert "watcher - enable crash reports on linux (#136264)"

This reverts commit af26148.

* chore: enable crashpad on linux

* chore: bump electron@15.3.1

* chore: update api changes

* chore: bump @vscode/sqlite3@5.0.3

* spec: skip non-context aware module unittests

* chore: fix perf hook integration with node environment

* fix: adopt fs api changes

* chore: fix integration tests

* chore: bump electron@15.3.2

* chore: bump electron@16.0.0

* temp(macOS): kill test instances in OSS

* Revert "temp(macOS): kill test instances in OSS"

This reverts commit b0d796c.

* chore: update chromium version for clang downloader

* some 💄 changes

* align with changes

* adopt more fs.rm

* 💄

* chore: bump @vscode/sqlite3@5.0.4

* fix layers check to account for duplicated types from node.js

* update todo for type casts

* smoke - fix compile issue

* chore: update module cache

* watcher - fix unhandled rejection (fix #137416)

* ci: update node version

* enable stack dumping

* update electron types to 16.x

* chore: bump @vscode/sqlite3@5.0.5

Refs #137496

* fix layer issue

* add `AbortSignal` to core types

* chore: update linux compile flags

Refs electron/electron@797723e

* ci: fix linux build

* ci: update github ci cache

* ci: fix remote build in github ci

* ci: better fix for remote build

* chore: bump azure cache

* chore: fix merge conflict

* :chore: update to electron@16.0.2

* chore: bump @vscode/sqlite3@5.0.7

* ci: update to gcc-4.9 for remote

Refs #137659

* ci: switch to buster for linux arm

Refs #137927

* ci: fix build on linux arm64

* ci: fix arm client compiler toolchain

Refs #137927

* chore: bump electron@16.0.3

* ci: fix compile flags for the c toolchain

* chore: bump electron@16.0.4

* Add experimental dark mode flag (#139109)

* Add experimental dark mode flag

* Apply PR feedback

* chore: bump electron@16.0.6

* chore: bump electron@16.0.7

Fixes #138792
Fixes #139300

* chore: experimental highlight API

* smoke - fix compile issue

* FIXME: custom ELECTRON_RUN_AS_NODE with node worker

* Revert "chore: bump electron@16.0.7"

This reverts commit 5fd01cf.

* Revert "Revert "chore: bump electron@16.0.7""

This reverts commit a7f1b73.

* chore: fix github linux workflow

* chore: address review feedback

* chore: bump electron@16.0.8

* ci: revert to stretch distro for linux arm

Refs #137927

* ci: force build

* chore: update yarn.lock

* address feedback

* Revert "FIXME: custom ELECTRON_RUN_AS_NODE with node worker"

This reverts commit 7b48fa3.

* ci: fix remote folder build

* chore: fix github linux ci

* 🆙 `versionSpec`

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Raymond Zhao <raymondzhao@microsoft.com>
@github-actions github-actions bot locked and limited conversation to collaborators Mar 20, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
electron-16-update Issues related to electron 16 update engineering VS Code - Build / issue tracking / etc. insiders-released Patch has been released in VS Code Insiders mitigated Issue has workaround in place vscode-build VS Code build process issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants
@bpasero @deepak1556 and others