Damaged database?
Bradley Giesbrecht
pixilla at macports.org
Sat Feb 23 11:23:53 PST 2013
On Feb 23, 2013, at 11:21 AM, Bradley Giesbrecht wrote:
> On Feb 23, 2013, at 8:49 AM, Adam Dershowitz wrote:
>
>> On Feb 23, 2013, at 1:09 AM, Ryan Schmidt wrote:
>>
>>> On Feb 23, 2013, at 01:23, Adam Dershowitz wrote:
>>>
>>>> I just tried to restore my full /opt/local directory using timemachine from about two weeks ago. If I then do a sync and try to upgrade gst-plugins-base, the same thing happens. It first successfully upgrades a bunch of different things. Finally, it gets to gst-plugins-base and gives the same error. I also restored from about a month ago, and get the identical results. I have done many upgrades during that time period. So, it seems that there is something wrong in the sqlite database that just relates to gst-plugins-base. And that it has been there for a while.
>>>> Short of doing a full reinstall of all my ports, any other thoughts about how to repair that single entry? I would think that all I really want to do is to delete the appropriate entries from the database and to do a corresponding forced uninstall of gst-plugins-base. But, I am not sure how to get that to work.
>>>> Any suggestions?
>>>
>>> I'm not sure what's going on... if you want to try forcibly uninstalling gst-plugins-base the way to do so would be:
>>>
>>> sudo port -f uninstall gst-plugins-base
>>>
>>>
>>
>> I guess I wasn't clear. The problem is that the upgrade was trying to do that, and it was failing. And trying it explicitly also makes it fail:
>>
>> $ sudo port -f uninstall gst-plugins-base
>> ---> Unable to uninstall gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> ---> webkit-gtk @1.10.2_0+video
>> ---> wine-devel @1.5.21_0
>> Warning: Uninstall forced. Proceeding despite dependencies.
>> ---> Deactivating gst-plugins-base @0.10.36_2+universal
>> ---> Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> ---> webkit-gtk @1.10.2_0+video
>> ---> wine-devel @1.5.21_0
>> Warning: Deactivate forced. Proceeding despite dependencies.
>> Error: org.macports.deactivate for port gst-plugins-base returned: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>> Please see the log file for port gst-plugins-base for details:
>> /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_gst-plugins-base_0.10.36_2+universal/gst-plugins-base/main.log
>> Warning: Failed to execute portfile from registry for gst-plugins-base @0.10.36_2+universal
>> ---> Deactivating gst-plugins-base @0.10.36_2+universal
>> ---> Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> ---> webkit-gtk @1.10.2_0+video
>> ---> wine-devel @1.5.21_0
>> Warning: Deactivate forced. Proceeding despite dependencies.
>> Error: org.macports.uninstall for port gst-plugins-base returned: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>> Warning: Failed to execute portfile from registry for gst-plugins-base @0.10.36_2+universal
>> ---> Unable to uninstall gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> ---> webkit-gtk @1.10.2_0+video
>> ---> wine-devel @1.5.21_0
>> Warning: Uninstall forced. Proceeding despite dependencies.
>> ---> Deactivating gst-plugins-base @0.10.36_2+universal
>> ---> Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> ---> webkit-gtk @1.10.2_0+video
>> ---> wine-devel @1.5.21_0
>> Warning: Deactivate forced. Proceeding despite dependencies.
>> Error: org.macports.deactivate for port gst-plugins-base returned: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>> Please see the log file for port gst-plugins-base for details:
>> /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_gst-plugins-base_0.10.36_2+universal/gst-plugins-base/main.log
>> Warning: Failed to execute portfile from registry for gst-plugins-base @0.10.36_2+universal
>> ---> Deactivating gst-plugins-base @0.10.36_2+universal
>> ---> Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> ---> webkit-gtk @1.10.2_0+video
>> ---> wine-devel @1.5.21_0
>> Warning: Deactivate forced. Proceeding despite dependencies.
>> Error: port uninstall failed: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>>
>> But, if I just choose some other random port to force uninstall it works fine. So, it seems that there is something wrong with just some database entry for gst-plugins-base. And the problem has been in my database for at least a month. But it is not causing any other problems, that I can see, other then just not being able to upgrade that one port.
>
> What happens if you query the sqlite registry db directly?
>
> $ sqlite3 /opt/local/var/macports/registry/registry.db .schema
> $ sqlite3 /opt/local/var/macports/registry/registry.db "select load_extension('/opt/local/share/macports/sqlite/macports.sqlext');select t1.id, t1.name from ports t1 where t1.name = 'gst-plugins-base'"
> $ sqlite3 /opt/local/var/macports/registry/registry.db "select load_extension('/opt/local/share/macports/sqlite/macports.sqlext');select t1.id, t1.name, group_concat(distinct t2.name) as "deps", group_concat(distinct t3.path) as "files" from ports t1 join dependencies t2 on t1.id = t2.id join files t3 on t1.id = t3.id where t1.name = 'gst-plugins-base';"
You might be using a different version of sqlite than me. You might try using sqlite instead of sqlite3.
Regards,
Bradley Giesbrecht (pixilla)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2763 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-users/attachments/20130223/207d8c5f/attachment.p7s>
More information about the macports-users
mailing list