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

Installer fails on Fedora 39 #3211

Closed
djay7777 opened this issue Jul 11, 2024 · 7 comments
Closed

Installer fails on Fedora 39 #3211

djay7777 opened this issue Jul 11, 2024 · 7 comments

Comments

@djay7777
Copy link

After running the installer, nothing gets written into the home directory.

After running the installer (daedalus-5.4.0-67194-mainnet-8dc751094-x86_64-linux.bin)

cardano2@zen3:~$ ls -la ~/.local
ls: cannot access '/home2/cardano2/.local': No such file or directory

cardano2@zen3:~$ ls -la /tmp/nixuJgF8k/home2/cardano2/
total 20
drwxr-xr-x. 5 cardano2 cardano2 4096 Jul 12 00:56 .
drwxr-xr-x. 3 cardano2 cardano2 4096 Jul 12 00:55 ..
drwxr-xr-x. 3 cardano2 cardano2 4096 Jul 12 00:56 .daedalus
drwxr-xr-x. 4 cardano2 cardano2 4096 Jul 12 00:56 .local
drwxr-xr-x. 2 cardano2 cardano2 4096 Jul 12 00:56 .nix-defexpr
@michalrus
Copy link
Member

Could you show me the installation log? I.e.

❯ chmod +x daedalus-5.4.0-67194-mainnet-8dc751094-x86_64-linux.bin

And then what gets written to the screen after you run the installer from the terminal:

❯ ./daedalus-5.4.0-67194-mainnet-8dc751094-x86_64-linux.bin

@djay7777
Copy link
Author

Sorry I forgot to attach the output from running the installer. Everything ends up inside the tmpdir.
daedalus.txt

@michalrus
Copy link
Member

Thanks! You can see in the log that the installer is creating this directory:

mkdir: created directory '/home2/cardano2/.local/share/Daedalus/mainnet'

What is /home2/? It feels a bit non-standard, are you sure it's correct?

Then I see you're trying to list directory .local in your current directory which is ~ according to your shell or $HOME, or your home directory.

The only reason for this that I see is your $HOME directory not being /home2/cardano2?

Can you show me the output of:

❯ echo $HOME

And of pwd (the current directory) right before you try to ls .local:

❯ pwd

And also let's check if it's in the location that the installer deems your home:

❯ ls /home2/cardano2/.local/share/Daedalus/mainnet

@michalrus
Copy link
Member

Uh-oh, wait, I re-read your original issue, so you said that everything ends up in /tmp/nixuJgF8k/home2/cardano2/, hmmmm.

Let me look at the code of the installer ⏳

@michalrus
Copy link
Member

Okay, I get it. It's because of this line:

    nixUserChrootFlags = "-c -m /home:/home -p HOME";

The installer is being run from a chroot, where only /home is mounted as /home. We don’t know about /home2. This is rather silly, we should've mounted $HOME instead, sorry.

There have never been any reports about this, I'm assuming because almost no users have their $HOME under somewhere else than /home. But it's a good test case, thanks for finding it. :)

Solution 1 – wait for 5.5.0

We're currently getting rid of the chroot, as it's problematic on the newest Ubuntu. The next release will be a simple installer which unpacks a completely portable directory which you can move to– and run from anywhere.

Solution 2 – try the new installer today

You can download the installer from PR #3207 – from the Artifacts tab in the Linux section: https://buildkite.com/input-output-hk/daedalus/builds/23160

Solution 3 – rename /home2 back to /home

Or maybe symlink? I don’t know your exact setup.

@djay7777
Copy link
Author

Ah thanks, i didn't notice the hard-coded /home there. The new installer works well!

cardano2@zen3:~$ ./daedalus-5.4.0-68037-mainnet-054405c27-x86_64-linux.bin 
STATUS Verifying SHA-256 checksum...
PROG 1/5
STATUS Cleaning up already installed version(s)...
PROG 2/5
./daedalus-5.4.0-68037-mainnet-054405c27-x86_64-linux.bin: line 57: type: pv: not found
Note: you don't have `pv' installed, so we can't show progress
STATUS Unpacking...
PROG 3/5
STATUS Setting up a .desktop entry...
PROG 4/5
STATUS Done
PROG 5/5

Installed successfully!

Now, either:
  1. In a terminal, run ~/.daedalus/mainnet/bin/daedalus
  2. Or select Start -> Daedalus mainnet.

@michalrus
Copy link
Member

Happy to hear this :) Thanks for helping us test!

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

2 participants