Opened 10 years ago

Closed 7 years ago

#41166 closed defect (fixed)

gdb @7.6 Staging into destroot failed

Reported by: nimrodomer@… Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: cooljeanius (Eric Gallager), frozencemetery (Robbie Harwood), posita (Matt Bogosian)
Port: gdb

Description

If I configure MacPorts with --prefix=$HOME/.local, gdb installs just fine. However, if I configure MacPorts with --prefix=$HOME/.local and with --with-no-root-privileges, it will not. The relevant part from the logfile:

:debug:destroot Executing proc-post-org.macports.destroot-destroot-0
:info:destroot chgrp: you are not a member of group procmod
:info:destroot Command failed: chgrp procmod /Users/deaddork/.local/var/macports/build/_Users_deaddork_.local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gdb/gdb/work/destroot/Users/deaddork/.local/bin/ggdb*
:info:destroot Exit code: 1
:error:destroot org.macports.destroot for port gdb returned: command execution failed
:debug:destroot Error code: NONE
:debug:destroot Backtrace: command execution failed
    while executing
"$post $targetname"
:info:destroot Warning: targets not executed for gdb: org.macports.activate org.macports.destroot org.macports.install

I am using a mid-2012 MacBook Air with Maverick. The install command I used: port install gdb.

I gather from the log file that I need to be part of group ProcMod in order to install gdb in Maverick. This is unfortunate, as I would rather not install code as root. FYI I did not have any problems installing gdb in Mountain Lion with --with-no-root-privileges.

Thank you in advance!

Change History (13)

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to dweber@…

comment:2 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:3 Changed 10 years ago by frozencemetery (Robbie Harwood)

Cc: rharwood@… added

Cc Me!

comment:4 Changed 10 years ago by mf2k (Frank Schima)

Keywords: gdb with-no-root-privileges Maverick removed
Owner: changed from dweber@… to macports-tickets@…

dweber has retired. See #43834.

Is this a base issue?

comment:5 Changed 10 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to stuartwesterman@…

comment:6 Changed 9 years ago by posita (Matt Bogosian)

Cc: mtb19@… added

Cc Me!

comment:7 Changed 9 years ago by posita (Matt Bogosian)

See also #48648 (possible dup: similar issue, but with complete main.log from @7.9.1).

comment:8 Changed 9 years ago by posita (Matt Bogosian)

Here's a possible work-around (for systems with dseditgroup):

% # add current user to procmod
% sudo dseditgroup -o edit -a "$( whoami )" -t user procmod
% port install gdb
...
% # remove user from procmod
% sudo dseditgroup -o edit -d "$( whoami )" -t user procmod

Adapted from this source. You'll still get this warning after installation:

You will need to make sure /System/Library/LaunchDaemons/com.apple.taskgated.plist has the '-p' option, e.g.
            <key>ProgramArguments</key>
            <array>
                    <string>/usr/libexec/taskgated</string>
                    <string>-sp</string>
            </array>

Due to kernel caching, you usually need to restart Mac OS X for this option to effect.

But at least it installs.

If you're curious about the motivation of the warning, see this explanation. See also these, which explain an alternate approach based on creating and trusting your own self-signed certificate and using it to codesign gdb:

Last edited 9 years ago by posita (Matt Bogosian) (previous) (diff)

comment:9 Changed 7 years ago by mf2k (Frank Schima)

Owner: stuartwesterman deleted
Status: newassigned

comment:10 Changed 7 years ago by mf2k (Frank Schima)

has duplicate #48648.

comment:11 Changed 7 years ago by posita (Matt Bogosian)

Cc: posita removed

comment:12 Changed 7 years ago by posita (Matt Bogosian)

Cc: posita added

comment:13 Changed 7 years ago by raimue (Rainer Müller)

Resolution: fixed
Status: assignedclosed

gdb notes hint at codesigning as of [380ef99dde4cec0516cba66797d478ff0d97239d/macports-ports] (#54217) and no longer needs chgrp to procmod.

Note: See TracTickets for help on using tickets.