Solved FreeBSD 10.1 - pkg: Cannot solve problem using SAT solver

Code:
$ uname -a
FreeBSD my-pc 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014  root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

$ pkg --version
1.3.8
Days ago I decided to upgrade the packages on my machine with pkg upgrade, but I received this message:
Code:
Checking for upgrades (225 candidates): 100%
Checking integrity... done (4 conflicting)
pkg: Cannot solve problem using SAT solver:
cannot install package dri~graphics/dri, remove it from request? [Y/n]:
Can you please guide me how to solve this?

Thank you.
 
Update ... I guess there is something wrong with the devel/gettext package. Here is the pkg check -Ba result:
Code:
$ sudo pkg check -Ba
pkg: fstat() failed for(/usr/local/bin/envsubst): No such file or directory
pkg: fstat() failed for(/usr/local/bin/gettext): No such file or directory
pkg: fstat() failed for(/usr/local/bin/gettext.sh): No such file or directory
pkg: fstat() failed for(/usr/local/bin/ngettext): No such file or directory
pkg: fstat() failed for(/usr/local/include/autosprintf.h): No such file or directory
pkg: fstat() failed for(/usr/local/include/libintl.h): No such file or directory
pkg: fstat() failed for(/usr/local/info/autosprintf.info): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libasprintf.a): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libasprintf.so): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libasprintf.so.0): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libintl.a): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libintl.so): No such file or directory
pkg: fstat() failed for(/usr/local/man/man1/envsubst.1.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man1/gettext.1.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man1/ngettext.1.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/bind_textdomain_codeset.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/bindtextdomain.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/dcgettext.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/dcngettext.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/dgettext.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/dngettext.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/gettext.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/ngettext.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/man/man3/textdomain.3.gz): No such file or directory
pkg: fstat() failed for(/usr/local/share/gettext/ABOUT-NLS): No such file or directory
pkg: fstat() failed for(/usr/local/bin/autopoint): No such file or directory
pkg: fstat() failed for(/usr/local/bin/gettextize): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgattrib): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgcat): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgcmp): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgcomm): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgconv): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgen): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgexec): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgfilter): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgfmt): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msggrep): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msginit): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgmerge): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msgunfmt): No such file or directory
pkg: fstat() failed for(/usr/local/bin/msguniq): No such file or directory
pkg: fstat() failed for(/usr/local/bin/recode-sr-latin): No such file or directory
pkg: fstat() failed for(/usr/local/bin/xgettext): No such file or directory
pkg: fstat() failed for(/usr/local/include/gettext-po.h): No such file or directory
pkg: fstat() failed for(/usr/local/info/gettext.info): No such file or directory
pkg: fstat() failed for(/usr/local/lib/gettext/hostname): No such file or directory
pkg: fstat() failed for(/usr/local/lib/gettext/project-id): No such file or directory
pkg: fstat() failed for(/usr/local/lib/gettext/urlget): No such file or directory
pkg: fstat() failed for(/usr/local/lib/gettext/user-email): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libgettextlib.so): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libgettextpo.a): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libgettextpo.so): No such file or directory
pkg: fstat() failed for(/usr/local/lib/libgettextsrc.so): No such file or directory
pkg: (poxml-4.14.2) /usr/local/bin/po2xml - required shared library libgettextpo.so.5 not found
pkg: (poxml-4.14.2) /usr/local/bin/split2po - required shared library libgettextpo.so.5 not found
pkg: (poxml-4.14.2) /usr/local/bin/swappo - required shared library libgettextpo.so.5 not found
pkg: (poxml-4.14.2) /usr/local/bin/xml2pot - required shared library libgettextpo.so.5 not found
Actually the output is much more, but all seems to be related to devel/gettext.
Code:
$ pkg info | grep 'gettext'
gettext-0.19.3  GNU gettext meta package
gettext-runtime-0.19.3  GNU gettext runtime libraries and programs
gettext-tools-0.19.3  GNU gettext development and translation tools
kdesdk-thumbnailers-4.14.2  KDE thumbnail generator for gettext po files
p5-Locale-gettext-1.05_3  Message handling functions
poxml-4.14.2  Tools to translate Docbook XML using gettext
I'm really confused, but I guess it is all about the wrong installed version of gettext, but I have no idea how to recover or fix that. Please help me. :(

[ The [port] tag requires 'category/portname' syntax -- Mod ]
 
Well, I solved the mismatch version of gettext, by removing the package and building it from /usr/ports. pkg check is now running without any error. And now pkg upgrade shows me a different conflict message:
Code:
Checking for upgrades (227 candidates): 100%
Checking integrity... done (6 conflicting)
pkg: Cannot solve problem using SAT solver:
cannot install package glib~devel/glib20, remove it from request? [Y/n]:
Any idea?
 
I had a similar problem on my home server recently. Don't bother with the uninstall-rebuild-reinstall trick, you'll only get the exact same problem with another package/port. And then another, etc. I hope for your sake that someone else knows of an easier fix, but what I ended up doing was to just delete, rebuild and reinstall all ports.
 
fonz, Thank you so much for the reply. I just remember one thing that may related to this issue. Actually, I have the virtualbox-ose-4.3.12_2 and virtualbox-ose-kmod-4.3.12_2 packages installed on my machine, and I wish to keep the current version of these packages and exclude them from the upgrading process. So I've simply marked them as 'lock' .

So normally when pkg upgrade starts, it will ignore the Virtualbox packages and in the 'integrity checking' step, as already mentioned, I've faced this prompt:
Code:
Checking integrity... done (6 conflicting)
pkg: Cannot solve problem using SAT solver:
cannot install package glib~devel/glib20, remove it from request? [Y/n]:

So, I checked the current version of glib:
Code:
$ pkg info | grep glib
dbus-glib-0.100.2_1  GLib bindings for the D-BUS messaging system
glib-2.36.3_4  Some useful routines of C programming (current stable version)
glib-networking-2.36.2_4  Network-related giomodules for glib
taglib-1.9.1_2  Library for manipulating ID3 tags and Ogg comments
telepathy-glib-0.20.2_1  GLib utility library for the Telepathy framework

And I see the virtualbox-ose package depends on the current version of glib:
Code:
$ sudo pkg info -d virtualbox-ose
virtualbox-ose-4.3.12_2:
  libXinerama-1.1.3_2,1
  libXcursor-1.1.14_2
  qt4-gui-4.8.6_2
  pango-1.34.1_7
  libXmu-1.1.2_2,1
  libxslt-1.1.28_4
  cdrtools-3.00_2
  qt4-network-4.8.6_1
  libvncserver-0.9.9_9
  python27-2.7.8_6
  python2-2_3
  qt4-opengl-4.8.6_2
  png-1.5.19
  gtk-update-icon-cache-2.24.22
  gdk-pixbuf2-2.28.2_1
  curl-7.38.0_2
  virtualbox-ose-kmod-4.3.12
  sdl-1.2.15_5,2
  py27-setuptools27-5.5.1
  pcre-8.35_1
  libIDL-0.8.14_2
  glib-2.36.3_4
  dbus-1.8.10
  atk-2.8.0_1
So, is it possible that pkg actually finds a conflict for glib20 because it sees there is an package that depends on it and there is nothing it can do?

Thanks,
 
Back
Top