[blfs-dev] libiodbc overwrites files from unixODBC

Armin K. krejzi at email.com
Tue Feb 12 08:26:14 PST 2013

On 02/12/2013 04:48 PM, Randy McMurchy wrote:
> Armin K. wrote these words on 02/12/13 02:38 CST:
>> There is none at the moment. All packages use pkg-config to get the
>> CFLAGS/LDFLAGS. Archlinux does that too - --includedir --disable-iodbc
>> and I appear to have used their instructions since nothing is
>> overwritten on my system.
> Your suggestion works for the installation of libiodbc, thanks.
> However, I am a bit confused with the installation of the Virtuoso package.
> I am just now getting around to building KDE4 for the first time. Being one
> who likes to know the internals of the packages, I am being careful with the
> installation of the KDE packages. Now, back to Virtuoso.
> Contrary to what you say, Virtuoso does not use pkg-config to find out the
> location of the libiodbc headers. In fact, if you do not pass
> --with-iodbc=/usr to configure, it uses an internal copy of the iodbc
> headers located in the source tree. They probably do this because of the
> conflict with the unixODBC headers.
> Furthermore, once you pass --with-iodbc=/usr to configure, you can quickly
> see that it tries to use headers located in /usr/include and libs located
> in /usr/lib. So, I modified the one place in the configure script to add
> /iodbc to the cppflags section of the iodbc headers. Everything worked fine
> and the build was successful.
> So, what this means is that Virtuoso by default uses its internal copy of
> the headers (which are damn near exactly the same as the installed libiodbc
> versions). So it really makes no difference in the build, and there are
> only two packages (Soprano and Redland) that have Virtuoso listed as
> dependencies. And Soprano uses Virtuoso only at run-time according to the
> book.
> Here is what I see needs to happen in the book:
> 1) Add the stuff to libiodbc so that it doesn't conflict with unixODBC.
> 2) Change libiodbc from recommended to required in the Virtuoso instructions
> as the build will fail if the libiodbc libraries are not installed.
> 3) (optional, as it appears it doesn't matter) Add a sed command to the
> Virtuoso configure script to make it look in /usr/include/iodbc for the
> interface headers instead of using the internal copies.
> Can we agree on this?

Hm, you are right. On my system, only Soprano uses libiodbc.

I don't have anything against your suggestions. Do as you think it's best.

More information about the blfs-dev mailing list