Opened 3 years ago

Last modified 15 months ago

#63656 new defect

Compiling MacPorts for installation in home directory on Catalina fails at "make install" with: make: *** [install] Killed: 9

Reported by: jgrg (James Gilbert) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.7.1
Keywords: Cc:
Port:

Description

Installing MacPorts 2.7.1 from source into my home directory on my work laptop where I do not have administrator rights:

./configure --prefix /Users/jgrg/opt/local --with-no-root-privileges --with-install-group=localaccounts

make install fails with:

Not creating group "jgrg" (not root)
make: *** [install] Killed: 9

I found that removing this condition from the Makefile:

        if ! ${DSCL} -q . -list "/Users/${RUNUSR}" > /dev/null 2>&1 ; then \
            if test `id -u` -eq 0; then \
                echo "Creating user \"${RUNUSR}\"" ; \
                NEXTUID=501; \
                while test -n "`${DSCL} -q /Search -search /Users UniqueID $$NEXTUID`"; do \
                    let "NEXTUID=NEXTUID+1"; \
                done; \
                ${DSCL} -q . -create "/Users/${RUNUSR}" UniqueID $$NEXTUID ; \
                \
                ${DSCL} -q . -delete "/Users/${RUNUSR}" AuthenticationAuthority ; \
                ${DSCL} -q . -delete "/Users/${RUNUSR}" PasswordPolicyOptions ; \
                ${DSCL} -q . -delete "/Users/${RUNUSR}" dsAttrTypeNative:KerberosKeys ; \
                ${DSCL} -q . -delete "/Users/${RUNUSR}" dsAttrTypeNative:ShadowHashData ; \
                \
                ${DSCL} -q . -create "/Users/${RUNUSR}" RealName MacPorts ; \
                ${DSCL} -q . -create "/Users/${RUNUSR}" Password \* ; \
                ${DSCL} -q . -create "/Users/${RUNUSR}" PrimaryGroupID $$(${DSCL} -q . -read "/Groups/${RUNUSR}" PrimaryGroupID | /usr/bin/awk '{print $$2}') ; \
                ${DSCL} -q . -create "/Users/${RUNUSR}" NFSHomeDirectory "${localstatedir}/macports/home" ; \
                ${DSCL} -q . -create "/Users/${RUNUSR}" UserShell /usr/bin/false ; \
            else \
                echo "Not creating user \"${RUNUSR}\" (not root)" ; \
            fi ; \
        fi ; \

allowed make install to complete. As far as I can tell (from adding an echo to print the command and running it in the shell) the first line of this block returns false (since my user account in ${RUNUSR} exists) so it shouldn't be entered.

Change History (1)

comment:1 Changed 15 months ago by jgrg (James Gilbert)

I still have this same problem on Ventura.

Note: See TracTickets for help on using tickets.