dkp-pacman removes /etc link on macOS
Posted: Thu Jun 07, 2018 8:47 am
Yesterday I installed the most recent dkp-pacman from GitHub on my MacBook with macOS 10.13.4.
I tried to install the switch-dev package using `dkp-pacman -S switch-dev` and it gave me the error `devkit-env: /etc exists in filesystem`
At that point I had no idea what that meant. Obviously the directory /etc exists so I saw no issue with that. One thing worth noting is that on macOS /etc is actually a link to /private/etc (afaik).
Ignoring all the warnings I decided to run `dkp-pacman -S switch-dev --force`, which worked fine. Except that it removed the /etc link and created a 'real' /etc directory (probably because it wants to place devkit-env.sh in /etc/profile.d)
At this point macOS started breaking down, because all kinds of files where 'missing' in /etc. Simply rebooting into recovery mode and running `ln -s /private/etc /etc` fixed the problem.
Just before writing this post I tried this again with the `3ds-dev` package, but without --force. To my suprise it still removed the /etc link and created a new /etc directory.
Console log
I tried to install the switch-dev package using `dkp-pacman -S switch-dev` and it gave me the error `devkit-env: /etc exists in filesystem`
At that point I had no idea what that meant. Obviously the directory /etc exists so I saw no issue with that. One thing worth noting is that on macOS /etc is actually a link to /private/etc (afaik).
Ignoring all the warnings I decided to run `dkp-pacman -S switch-dev --force`, which worked fine. Except that it removed the /etc link and created a 'real' /etc directory (probably because it wants to place devkit-env.sh in /etc/profile.d)
At this point macOS started breaking down, because all kinds of files where 'missing' in /etc. Simply rebooting into recovery mode and running `ln -s /private/etc /etc` fixed the problem.
Just before writing this post I tried this again with the `3ds-dev` package, but without --force. To my suprise it still removed the /etc link and created a new /etc directory.
Console log