2.10.1 macports SQL error on 10.6
Riccardo Mottola
riccardo.mottola at libero.it
Fri Sep 6 16:14:18 UTC 2024
Hi,
thanks,
Joshua Root wrote:
> This looks like database inconsistency. The id column is a primary key
> and so should always be unique, meaning there shouldn't be more than
> one row that has a given id.
>
> Hard to say how it happened. The problem could potentially have been
> there for some time, only now being detected by the additional
> constraint checking that was enabled in 2.10. Memory or disk
> corruption are possibilities.
scary... also read below. I check, after some days, which means also a
couple of reboots.
>
> The first step toward fixing it is to find out which ports' db rows
> are affected. Try running this: sqlite3
> /opt/local/var/macports/registry/registry.db "select * from ports
> where id=726"
sqlite3 /opt/local/var/macports/registry/registry.db "select * from
ports where id=726"
726|xmlcatmgr|435d94eb7431bfb474662c034bffac8cbde64759424e188613ed8a7f8287ba96-1298|/opt/local/var/macports/software/xmlcatmgr/xmlcatmgr-2.2_1.darwin_10.x86_64.tbz2|0|2.2|1|||installed|1724755415|image|x86_64|0|darwin|10|none|0
apparently, there is only one line.
An miracle, if I run now "port upgrade outdated" I get no errors, fixed
itself! but reboot or some operation was needed.
>
> If that succeeds, you should get 2 or more rows of port information.
> The port name will be in the second column. If it doesn't work, you
> may need to resort to a full database dump: sqlite3
> /opt/local/var/macports/registry/registry.db ".dump" > registry_dump.txt
>
> Before trying anything to fix it, make a backup of your registry.db.
> It's possible that simply uninstalling the two (or more) ports that
> share the same id will fix everything. If not, more manual database
> surgery may be required. I don't know how much work it's worthwhile
> for you to put into this before deleting everything and starting again
> is the better option.
Is there anything else I can run to see if there is no other
inconsistency? Or maybe it's OK?
Deleting everything takes some time, so before doing it...
Riccardo
More information about the macports-users
mailing list