Opened 11 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 11 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.)

Version 0, edited 9 years ago by posita (Matt Bogosian) (next)

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.