packagesの管理をportsからpkgngを利用するようになって、ちょくちょくアップグレードするようになりました。
# pkg upgrade
最近、postgresql92とpostgresql93がconflictしている旨のメッセージが出るようになりました。
conflict rule: The following packages conflict with each other: postgresql92-client-9.2.9_1(r), postgresql93-client-9.3.5(r)
require rule: package postgresql92-client(r) depends on shared library provided by: postgresql92-client(l)postgresql84-client(r)postgresql90-client(r)postgresql93-client(r)postgresql94-client(r)postgresql91-client(r)calligra(r)
dependency rule: package postgresql92-client(r) depends on: postgresql92-client(l)calligra(l)
require rule: package postgresql92-client(r) depends on shared library provided by: postgresql92-client(l)postgresql84-client(r)postgresql90-client(r)postgresql93-client(r)postgresql94-client(r)postgresql91-client(r)p5-DBD-Pg(r)
dependency rule: package postgresql92-client(r) depends on: postgresql92-client(l)p5-DBD-Pg(l)
require rule: package postgresql92-client(r) depends on shared library provided by: postgresql92-client(l)postgresql84-client(r)postgresql90-client(r)postgresql93-client(r)postgresql94-client(r)postgresql91-client(r)postgresql-libpqxx3(r)
dependency rule: package postgresql92-client(r) depends on: postgresql92-client(l)postgresql-libpqxx3(l)
conflict rule: The following packages conflict with each other: postgresql92-client-9.2.9_1(r), postgresql92-client-9.2.9_1(r)
upgrade rule: upgrade local postgresql92-client-9.2.9_1 to remote postgresql92-client-9.2.9_1
cannot install package postgresql92-client, remove it from request? [Y/n]:
ここで"y"とした場合、以下のメッセージが表示され、競合状態の解消に失敗します。
pkg: cannot find postgresql92-client in the request
pkg: cannot solve job using SAT solver
Checking integrity... done (0 conflicting)
Your packages are up to date.
上記のメッセージのうち、"cannot solve job using SAT solver"で検索したら以下のforumのtopicがヒットしました。
https://forums.freebsd.org/threads/solved-pkg-cannot-solve-job-using-sat-solver-php5-gd.47955/
探すのが面倒くさくなったので、私はportsで強制アンインストール→pkgngでインストールをしました。
# cd /usr/ports/databases/portgresql92-client
# make deinstall
# pkg install postresql93-client
まだ使いこなせてない感がありますが、徐々に慣れていけたらいいな、と。