Hi,
I had the same issue on FreeBSD 8.0 installing GNOME, then KDE4. Here the fix and how to solve this kind of issues:
(1) We need a general understanding of the problem. A google search on unixodbc and libiodbc explains its two drivers doing the same job, on a rather compatible way.
(2) We need a local understanding of the problem, ie here "what port uses this unixODBC?". To get the answer,
pkg_delete unixODBC-2.3.0 (pkg_delete won't delete anything used by other packages). It gives a list of the packages using the library. On my computer, it were:
Code:
scherzo# pkg_delete unixODBC-2.3.0
pkg_delete: package 'unixODBC-2.3.0' is required by these other packages
and may not be deinstalled:
ekiga3-3.2.6_5
gnome2-2.30.1_1
opal3-3.6.6_6
ptlib-2.6.5_2
Okay, let's play Sherlock Holmes and read the Makefile of the ports.
We can safely ignore gnome2, as it's a metaport. The result give us ekiga3 depends of opal3, which depends of ptlib.
Code:
cd /usr/ports/devel/ptlib
make config
grrr no option to disable odbc (but it's always valuable to try).
Let's read the Makefile. Er... there is a --disable-odbc enabled. Something is wrong, oh it conflicts with ptlib26, it's one of those multiversions ports!
Bye ptlib, a ls ../ptlib* tells us the correct package name is devel/ptlib26. Let's retry make config. Oh! An option to disable ODBC support.
(3) We need to apply the solution/fix/workaround/kludge found:
Code:
cd /usr/ports/devel/ptlib26
make deinstall clean
make config #and we disable Use ODBC this time
make reinstall clean
Code:
cd /usr/ports/devel/ptlib26
make deinstall clean
make config #and we disable Use ODBC this time
make reinstall clean
And let's deinstall unixodbc:
Code:
scherzo# cd /usr/ports/databases/unixODBC
scherzo# make deinstall
===> Deinstalling for databases/unixODBC
===> Deinstalling unixODBC-2.3.0
pkg_delete: package 'unixODBC-2.3.0' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
ekiga3-3.2.6_5
gnome2-2.30.1_1
opal3-3.6.6_6
(4) Cleans the mess
So this time, ptlib dependency have disappeared and unixODBC is deinstalled.
A (now erroneous) dependency still exists between ports built against ptlib.
To fix that, there is a tool called ''pkgdb''. Invoke it with the -F (short for --fix) options:
Code:
scherzo# pkgdb -F
---> Checking the package registry database
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 808 packages found ( -2 +41) (...)......................................... done]
Stale dependency: ekiga3-3.2.6_5 -> unixODBC-2.3.0 (databases/unixODBC):
-> Deleted. (irrelevant)
Stale dependency: gnome2-2.30.1_1 -> unixODBC-2.3.0 (databases/unixODBC):
-> Deleted. (irrelevant)
Stale dependency: opal3-3.6.6_6 -> unixODBC-2.3.0 (databases/unixODBC):
-> Deleted. (irrelevant)
Hop, it have cleaned our dependencies automatically.
We can now resume our KDE compilation. It should resume with the libiodbc installation.