Hey Tantive, your libiodbc package is badly broken: 1. installs in /usr/local 2. the .la files references the value of $D ! 3. configure checks for GTK, which is nowhere in DEPEND or USE to allow USE=-gtk.
bumped version to -r1 1. fixed. set prefix and exec-prefix 2. fixed. found no other way than tweaking the paths inside the .la's with sed. 3. fixed. Added IUSE=gtk", DEPEND on gtk is use is set, building with gtk support if gtk, else gtk and the check for gtk are disabled. Hope this helps.
no, your fix didn't improve it much at all. i've bumped it to -r2 with nearly everything fixed. 1. installing in /usr/local is NOT correct, it should be in /usr 2. ${D} shouldn't be used in src_compile, only in src_install ! this is where the .la gets the wrong value the only problem remaining, is that libiodbc installs headers that overwrite headers from unixODBC, and the headers are very similar, but vary in a way that breaks some things.
Hi, I write in my capacity as webmaster@iodbc.org. Your ebuild is still broken - the SRC_URI won't work since I rejigged the website layout back in January some time: SRC_URI="http://www.iodbc.org/downloads/iODBC/${P}.tar.gz" I also raised the initial ebuild script, where the conflict with unixODBC was avoided by installing into /opt instead of /usr at all. Hence I think there has been a lack of communication here with the mysql guys, as that's where my bug was reassigned - see: http://bugs.gentoo.org/show_bug.cgi?id=34831
piglet: ok, lets get this solved properly. 1. are iodbc and unixodbc mutually exclusive? 2. based on #1, will things like openldap, php, kde build against both of them? if they are mutually exclusive, lets make a virtual out of them having blocking on the others and be done with it. if not, and it looks like that will be the case as the only common filenames between them are: /usr/include/sql.h /usr/include/sqlext.h /usr/include/sqltypes.h /usr/include/sqlucode.h PostgreSQL just happens to have those files as well and was destroying the files from UnixODBC and causing problems before, so I moved them out of the with the support of the PostgreSQL herd. Lets look at the configure scripts of things that depend on libiodbc / unixODBC, and move both sets of headers out of /usr/include and into /usr/include/something-based-on-$PN/. /opt is not the right place for compiled packages anyway, it's generally intended for binary packages.
> 1. are iodbc and unixodbc mutually exclusive? Not really. Both implement the ODBC 3.x API on *nix platforms. Both have a GUI (qt with unixodbc, gtk with iodbc) for configuring things. The areas of overlap are: both provide the sql.h (and related) header files; both require an odbc.ini to operate, and may conflict if they both provide a default sample. 2. I've not tested openldap and kde against iODBC. However, I was the one who went around building support-modules for Perl, PHP, Ruby and Python against iODBC in order to write the *-HOWTO documents on www.iodbc.org, so I know there's a lot of things that do work well with the iODBC implementation. And, of course, if building an application against iODBC causes bugs, we have mailing-lists and stuff to help out. I like the idea of a virtual package "odbc-driver-manager" (that being the functionality provided) - maybe with USE=iodbc to determine a user's preference one way or the other? And I agree, dumping in /opt/iodbc/ wasn't necessarily the prettiest of solutions, just the most expedient for me to get something out quickly, so there's plenty of willingness for negotiation there. But as long as iodbc-config is in PATH at the time, it'll generate the correct CFLAGS and LDFLAGS anyway.
lets do the move first, then see about a virtual afterwards. config files: /etc/iodbc/ (unixODBC already uses /etc/unixODBC/) header files: /usr/include/iodbc/ there may be some cases where people want both of them installed, so lets keep that viable for the moment.
Sounds good to me. While I'm passing: I'm expecting to annoucne a 3.51.2 release in the next couple of days (give or take), too.
Update: we're working on a version with "layouts", so there will be a configure --with-layout=gentoo (and various other things), that uses the directories previously agreed here. This should save a bit of work in the ebuild :) This will be present in the upcoming 3.51.2.
3.51.2 is now out and available. I'm attaching a new ebuild and a required diff (goes in the files/ directory) - this resolves the layout back into /usr, avoids conflicts in sql*.h, uses /etc/iodbc/odbc.ini by default. Would someone like to test this and commit?
Created attachment 26837 [details] new ebuild for 3.51.2
Created attachment 26838 [details, diff] patch to avoid falling foul of sandbox constraints
Checked your ebuild in. Thanks for your help. Closing this bug.