Package Details: code 1.22.2-1

Git Clone URL: https://aur.archlinux.org/code.git (read-only)
Package Base: code
Description: Microsoft Code -- The Open Source build of Visual Studio Code (vscode)
Upstream URL: https://github.com/Microsoft/vscode
Keywords: vscode
Licenses: MIT
Conflicts: visual-studio-code-oss, vscode-oss
Provides: visual-studio-code-oss, vscode-oss
Submitter: Zrax
Maintainer: Zrax
Last Packager: Zrax
Votes: 125
Popularity: 19.344329
First Submitted: 2017-12-18 22:40
Last Updated: 2018-04-14 17:23

Latest Comments

as3mbus commented on 2018-04-21 13:57

@edrose solution work like a charm for me. :) might be good to pin the comment.

edrose commented on 2018-04-16 13:52

I managed to avoid editing system config files and still compile it using the following method:

  • Use $ sudo su to enter a root environment.

  • Run $ ulimit -n 65535 to raise the file handle limit for that session.

  • Now run $ su - ed or whatever your username is to launch a shell as a non-root user, allowing makepkg to run again since it won't run as root.

  • Verify that the limits are the same using $ ulimit -n which should print out 65535.

  • Then navigate to the package directory and build with $ makepkg.

Mine built successfully after going through the process above and it causes no permanent changes on your system.

Zrax commented on 2018-04-14 17:04

@BrLi: Except that I use systemd as well, and it does work fine for me. I'm not sure why it doesn't for others :(

I'm going to assume my system is funny because it's old (transitioned from pre-systemd), and update the message to suggest the systemd method as well. Sorry for all the confusion everyone -- hopefully some day gulp won't require such insane amounts of parallel I/O and this problem will go away.

BrLi commented on 2018-04-14 05:13

@Zrax

I think the problem isn't that people doesn't read the message, but in fact that configuration doesn't work with SystemD system, which Arch is by default.

One will need to go through @nardis way to configure the system limitation of open files on systemd-based system.

nardis commented on 2018-04-12 19:00

Brief manual below on how to change limits as for ArchLinux 4.15.15-1-ARCH and Systemd 238.76-1:

$ ulimit -Hn

4096

$ sudo mkdir /etc/systemd/system.conf.d && sudo vim /etc/systemd/system.conf.d/limits.conf

[Manager]
DefaultLimitNOFILE=32768
DefaultTasksMax=32768

$ sudo reboot

$ ulimit -Hn

32768

After these changes building in my case is working fine.

Edit: formatting

Zrax commented on 2018-04-12 17:12

Does nobody actually read the message? It even tells you how to fix the error and why it is necessary :(

Anyway, I've modified the PKGBUILD to let users fix their file limits in their own way and only try to print helpful info if we still failed.

muesli commented on 2018-04-12 17:09

Latest PKGBUILD seems to fail: PKGBUILD: line 59: ulimit: open files: cannot modify limit: Operation not permitted

atommixz commented on 2018-04-12 17:07

imposible to build this without many steps
- edit /etc/systemd/{system,user}.conf
DefaultLimitNOFILE=50000
- reboot!
- export npm_config_node_gyp=/usr/lib/node_modules/node-gyp/bin/node-gyp.js
- edit PKGBUILD, commenting this lines
#    if ! ulimit -n 10000; then
#        echo
#        echo "*** ERROR: Could not raise the soft file limit. ***"
#        echo "You may need to adjust your 'nofile' limit in /etc/security/limits.conf"
#        echo "and possibly also raise your kernel-enforced limit if necessary."
#        echo "Without this change, the gulp build will likely fail with EMFILE"
#        echo
#        exit 1
#    fi
- makepkg -sifC

green4ao commented on 2018-04-12 01:15

@atommixz If you on a systemd.. try to edit /etc/systemd/system.conf and /etc/systemd/user.conf

under [Manager] section find this line:

DefaultLimitNOFILE=

uncomment this line and add some number (for example 20000 this enough i think) like this: DefaultLimitNOFILE=20000

full explanation here: https://ro-che.info/articles/2017-03-26-increase-open-files-limit

atommixz commented on 2018-04-11 16:29

can't compile

[4/4] Building fresh packages...
[1/13] ⠈ gc-signals
[6/13] ⠈ native-watchdog
[3/13] ⠈ keytar
[4/13] ⠈ native-is-elevated
error An unexpected error occurred: "/home/user/.cache/yay/code/src/vscode/node_modules/gc-signals: Command failed.
Exit code: 1
Command: sh
Arguments: -c node-gyp rebuild
Directory: /home/user/.cache/yay/code/src/vscode/node_modules/gc-signals
Output:
internal/modules/cjs/loader.js:550
    throw err;
    ^

Error: Cannot find module '/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15) at Function.Module._load (internal/modules/cjs/loader.js:475:25) at Function.Module.runMain (internal/modules/cjs/loader.js:695:10) at startup (internal/bootstrap/node.js:201:19)

[4/4] Building fresh packages...
$ tsc
Done in 22.78s.
yarn install v1.5.1
warning ../../package.json: No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.1.3: The platform "linux" is incompatible with this module.
info "fsevents@1.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 16.77s.
Done in 229.26s.
/home/user/.cache/yay/code/PKGBUILD: строка 59: ulimit: open files: не удаётся изменить ограничение: Операция не позволена

*** ERROR: Could not raise the soft file limit. ***
You may need to adjust your 'nofile' limit in /etc/security/limits.conf
and possibly also raise your kernel-enforced limit if necessary.
Without this change, the gulp build will likely fail with EMFILE

All comments