[MacPorts] #46733: Multiple definitons of flock TCL command cause problems, e.g., with restore_ports.tcl
MacPorts
noreply at macports.org
Sun Feb 1 20:34:19 PST 2015
#46733: Multiple definitons of flock TCL command cause problems, e.g., with
restore_ports.tcl
--------------------+--------------------------------
Reporter: mta@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.3.99
Keywords: | Port:
--------------------+--------------------------------
When I ran restore_ports.tcl after upgrading to Yosemite it failed with
the error
{{{
expected integer but got "-exclusive" obtaining lock on
/opt/local/var/macports/registry/.registry.lock
while executing
"registry::exclusive_lock"
(procedure "mportexec" line 32)
invoked from within
"mportexec $workername $install_target"
Unable to execute target 'install' for port 'fftw-3-single': expected
integer but got "-exclusive" obtaining lock on
/opt/local/var/macports/registry/.registry.lock
while executing
"install_ports $operationList"
(file "restore_ports/restore_ports.tcl" line 300)
}}}
I tracked this down to the fact that there are two definitions of the
flock TCL command installed as part of MacPorts. One is defined in
TclX_FlockObjCmd which is in base/vendor/tclx8.4/generic/tclXflock.c. The
other is defined in FlockCmd which is in base/src/pextlib1.0/flock.c.
Macports seems to want, and get, the latter one. For some reason
restore_ports sometimes, but not always, gets the other.
Commenting out the call to TclX_FlockInit in Tclxcmd_Init which is in
base/vendor/tclx8.4/generic/tclXinit.c seems to have fixed the problem.
Unfortunately this isn't all that easy to do as part of the build since
these files are installed unchanged from vendor archives. Perhaps a new
archive with the appropriate change needs to be part of the MacPorts
package.
--
Ticket URL: <https://trac.macports.org/ticket/46733>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list