Opened 10 months ago
Last modified 10 months ago
#72676 new defect
<main> attribute status: eDSPermissionError <dscl_cmd> DS Error: -14120 (eDSPermissionError) make: *** [install] Error 40
| Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | base | Version: | 2.11.0 |
| Keywords: | Cc: | jmroot (Joshua Root) | |
| Port: |
Description
When updating to MacPorts 2.11.0, the macOS 10.15.7 Catalina buildbot worker encountered this error:
Updating home directory location for user "macports" <main> attribute status: eDSPermissionError <dscl_cmd> DS Error: -14120 (eDSPermissionError) make: *** [install] Error 40 Command failed: CC=/usr/bin/cc SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk ./configure --prefix=/opt/local --with-install-user=root --with-install-group=admin --with-directory-mode=0755 --enable-readline && SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk make -j4 SELFUPDATING=1 && make install SELFUPDATING=1 Exit code: 2
https://build.macports.org/builders/ports-10.15_x86_64-watcher/builds/69626
Attachments (1)
Change History (7)
Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
comment:1 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
comment:2 follow-up: 5 Changed 10 months ago by jmroot (Joshua Root)
I saw that the same thing happened on one of the arm64 builders too. Can you confirm that the macports user's home directory is in fact incorrect on those systems? If so, I guess it would be good to fix it manually?
We should just warn if this fails rather than erroring out entirely, but it would also be nice to make it actually work in these cases.
comment:3 Changed 10 months ago by jmroot (Joshua Root)
| Cc: | jmroot added |
|---|
comment:4 Changed 10 months ago by jmroot (Joshua Root)
comment:5 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to jmroot:
I saw that the same thing happened on one of the arm64 builders too.
That was here:
https://build.macports.org/builders/ports-14_arm64-watcher/builds/21995
It also happened here:
https://build.macports.org/builders/ports-13_x86_64-watcher/builds/34148
Can you confirm that the macports user's home directory is in fact incorrect on those systems? If so, I guess it would be good to fix it manually?
On the macOS 13 x86_64 machine for example:
% dscl -q . -read /Users/macports NFSHomeDirectory NFSHomeDirectory: /opt/bblocal/var/macports/home
So it's using the home directory of the "tools" copy of MacPorts rather than the "official" copy, presumably depending either on the order in which those copies of MacPorts were installed or which one was updated most recently.
comment:6 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
On the macOS 13 x86_64 builder, changing the home directory without sudo produced the error we've seen:
% dscl -q . -create /Users/macports NFSHomeDirectory /opt/local/var/macports/home <main> attribute status: eDSPermissionError <dscl_cmd> DS Error: -14120 (eDSPermissionError) % dscl -q . -read /Users/macports NFSHomeDirectory NFSHomeDirectory: /opt/bblocal/var/macports/home
But using sudo succeeded:
% sudo dscl -q . -create /Users/macports NFSHomeDirectory /opt/local/var/macports/home % dscl -q . -read /Users/macports NFSHomeDirectory NFSHomeDirectory: /opt/local/var/macports/home

We've seen
DS Error: -14120 (eDSPermissionError)before when a user tried to remove the macports user and also when the postgresql16-server port tried to delete its user's home directory prior to setting a new one.