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

Installing kup fails with error: opening directory ... No such file or directory #94

Open
malturki opened this issue Dec 18, 2023 · 0 comments

Comments

@malturki
Copy link

The Setup

  • Apple M1 Max MacBook Pro, 64GB RAM
  • Sonoma 14.2 with homebrew
  • No prior installation of nix or kup

The Problem

When trying to install kup (for the first time) using bash <(curl https://kframework.org/install) , I got the following error:

[0]~% bash <(curl https://kframework.org/install)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2973  100  2973    0     0  60453      0 --:--:-- --:--:-- --:--:-- 60673
It appears that you don't have nix installed. Since the K framework needs nix for distribution, this script will attempt to install nix first. Would you like to proceed? [y/N]y
Downloading nix and running the installer...
info: downloading installer https://install.determinate.systems/nix/tag/v0.15.1/nix-installer-aarch64-darwin
`nix-installer` needs to run as `root`, attempting to escalate now via `sudo`...
Password:
 INFO Step: Create an encrypted APFS volume `Nix Store` for Nix on `disk3` and add it to `/etc/fstab` mounting on `/nix`
 INFO Step: Provision Nix
 INFO Step: Create build users (UID 300-332) and group (GID 30000)
 INFO Step: Configure Time Machine exclusions
 INFO Step: Configure Nix
 INFO Step: Configuring zsh to support using Nix in non-interactive shells
 INFO Step: Create a `launchctl` plist to put Nix into your PATH
 INFO Step: Configure Nix daemon related settings with launchctl
 INFO Step: Remove directory `/nix/temp-install-dir`
zsh compinit: insecure directories and files, run compaudit for list.
Ignore insecure directories and files and continue [y] or abort compinit [n]? n
zsh compinit: insecure directories and files, run compaudit for list.
Ignore insecure directories and files and continue [y] or abort compinit [n]? Nix was installed successfully!
To get started using Nix, open a new shell or run `. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh`

Installing the K framework installer utility (kup) ...
error: opening directory '/nix/var/nix/profiles/per-user/musab': No such file or directory

I could see that there is a root directory in /nix/var/nix/profiles/per-user/ (owned by root) but not musab, which is the regular user's username.

A Possible Solution

As seen in the output above, installing nix succeeds, but the command in the install script for installing kup fails, which is the following command:

GC_DONT_GC=1 nix profile install github:runtimeverification/kup#kup \
  --option extra-substituters 'https://k-framework.cachix.org' \
  --option extra-trusted-public-keys 'k-framework.cachix.org-1:jeyMXB2h28gpNRjuVkehg+zLj62ma1RnyyopA/20yFE=' \
  --experimental-features 'nix-command flakes'

I was able to resolve this issue by:

  1. Manually creating the directory /nix/var/nix/profiles/per-user/musab as root with sudo
  2. Changing ownership of the directory to musab (using sudo again)
  3. Rerunning the kup installation command above.

So, the suggested fix is to check whether the current user's directory in /nix/var/nix/profiles/per-user/ exists, and to create it with the proper permissions if it's not present before running the kup installing command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant