Opened 14 years ago
Closed 14 years ago
#30847 closed defect (duplicate)
Unable to uninstall expat @2.0.1_1+universal
| Reported by: | essandess (Steve Smith) | Owned by: | macports-tickets@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.0.1 |
| Keywords: | Cc: | isak@… | |
| Port: | expat |
Description
After upgrading to OS X Lion and running "sudo port -d selfupdate" and "sudo port -p upgrade outdated", I'm getting an error upgrading expat that prevents upgrades of several other packages:
$ sudo port -d upgrade -f expat
Password:
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: expat 2.0.1_1 exists in the ports tree
DEBUG: expat 2.0.1_1 +universal is the latest installed
DEBUG: expat 2.0.1_1 +universal is active
DEBUG: Merging existing variants '+universal' into variants
DEBUG: new fully merged portvariants: universal +
DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/expat
DEBUG: OS darwin/11.0.0 (Mac OS X 10.7) arch i386
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: adding the default universal variant
DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
DEBUG: Executing variant universal provides universal
DEBUG: platform mismatch ... upgrading!
DEBUG: Starting logging for expat
DEBUG: Skipping install (expat) since this port is already installed
DEBUG: Executing org.macports.main (expat)
DEBUG: clean phase started at Wed Aug 17 20:08:04 EDT 2011
---> Cleaning expat
DEBUG: Executing org.macports.clean (expat)
---> Removing work directory for expat
DEBUG: No work directory found to remove at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_expat/expat
DEBUG: No work directory found to remove at /Users/myself/.macports/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_expat/expat
DEBUG: Removing directory: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_expat/expat
DEBUG: delete: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_expat/expat
DEBUG: Uninstalling expat 2.0.1_1+universal
DEBUG: Changing to port directory: /opt/local/var/macports/registry/portfiles/expat/2.0.1_1+universal
DEBUG: OS darwin/11.0.0 (Mac OS X 10.7) arch i386
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: adding the default universal variant
DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
DEBUG: Executing variant universal provides universal
DEBUG: Starting logging for expat
DEBUG: Executing org.macports.main (expat)
DEBUG: uninstall phase started at Wed Aug 17 20:08:04 EDT 2011
DEBUG: Executing org.macports.uninstall (expat)
---> Unable to uninstall expat @2.0.1_1+universal, the following ports depend on it:
Error: Target org.macports.uninstall returned: an invalid entry was passed
DEBUG: Backtrace: an invalid entry was passed
while executing
"$depport name"
(procedure "registry::check_dependents" line 19)
invoked from within
"registry::check_dependents $port ${uninstall.force} "uninstall""
(procedure "registry_uninstall::uninstall" line 83)
invoked from within
"registry_uninstall $subport $version $revision $portvariants [array get user_options]"
(procedure "portuninstall::uninstall_main" line 3)
invoked from within
"$procedure $targetname"
Warning: the following items did not execute (for expat): org.macports.uninstall
Log for expat is at: /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_expat_2.0.1_1+universal/expat/main.log
DEBUG: an invalid entry was passed
while executing
"$depport name"
(procedure "registry::check_dependents" line 19)
invoked from within
"registry::check_dependents $port ${uninstall.force} "uninstall""
(procedure "registry_uninstall::uninstall" line 83)
Warning: Failed to execute portfile from registry for expat @2.0.1_1+universal
---> Unable to uninstall expat @2.0.1_1+universal, the following ports depend on it:
DEBUG: an invalid entry was passed
while executing
"$depport name"
(procedure "registry::check_dependents" line 19)
invoked from within
"registry::check_dependents $port ${uninstall.force} "uninstall""
(procedure "registry_uninstall::uninstall" line 83)
invoked from within
"registry_uninstall::uninstall $newname $version_in_tree $revision_in_tree $portinfo(canonical_active_variants) [array get options]"
Error: Uninstall expat 2.0.1_1+universal failed: an invalid entry was passed
To report a bug, see <http://guide.macports.org/#project.tickets>
Here's the log:
$ cat /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_expat_2.0.1_1+universal/expat/main.log
version:1
:debug:main Executing org.macports.main (expat)
:debug:uninstall uninstall phase started at Wed Aug 17 20:12:08 EDT 2011
:debug:uninstall Executing org.macports.uninstall (expat)
:msg:uninstall ---> Unable to uninstall expat @2.0.1_1+universal, the following ports depend on it:
:error:uninstall Target org.macports.uninstall returned: an invalid entry was passed
:debug:uninstall Backtrace: an invalid entry was passed
while executing
"$depport name"
(procedure "registry::check_dependents" line 19)
invoked from within
"registry::check_dependents $port ${uninstall.force} "uninstall""
(procedure "registry_uninstall::uninstall" line 83)
invoked from within
"registry_uninstall $subport $version $revision $portvariants [array get user_options]"
(procedure "portuninstall::uninstall_main" line 3)
invoked from within
"$procedure $targetname"
:info:uninstall Warning: the following items did not execute (for expat): org.macports.uninstall
:notice:uninstall Log for expat is at: /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_expat_2.0.1_1+universal/expat/main.log
Change History (4)
comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 14 years ago by essandess (Steve Smith)
Debugging by Google strongly suggests that this error message is generated by a call to sqlite in the file ./base/src/registry/entry.c:
r = sqlite3_step(stmt);
switch (r) {
case SQLITE_ROW:
text = (const char*)sqlite3_column_text(stmt, 0);
if (text) {
*value = strdup(text);
result = 1;
} else {
reg_sqlite_error(reg->db, errPtr, query);
}
break;
case SQLITE_DONE:
errPtr->code = REG_INVALID;
errPtr->description = "an invalid entry was passed";
errPtr->free = NULL;
break;
case SQLITE_BUSY:
continue;
default:
reg_sqlite_error(reg->db, errPtr, query);
break;
}
Perhaps a simple rebuild of whatever macports binary uses the entry.c code will work? Anyone know how to do this without starting over from scratch?
comment:3 Changed 14 years ago by jasperfrumau@…
Did you ever find a solution for this issue? I have a similar one here: https://trac.macports.org/ticket/34482
comment:4 Changed 14 years ago by jmroot (Joshua Root)
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Duping to #34482 since there's some analysis there.
Note: See
TracTickets for help on using
tickets.

Sounds like there is something wrong with the port registry. I don't know what to do about that.