First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 14178
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo KDE team <kde@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Thomas Raschbacher <lordvan@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 14178 depends on: 33440 Show dependency tree
Show dependency graph
Bug 14178 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2003-01-19 07:49 0000
hi!
just found out about an annoying circular dep between qt-3.1.0 and unixODBC

anyone knowing a solution? (besides emerging one of them w/o the other first and
then again..)

greetings

------- Comment #1 From Thomas Raschbacher 2003-01-19 10:20:47 0000 -------
this works:

USE='-odbc' emerge qt && emerge unixODBC && emerge qt

------- Comment #2 From Dan Armak (RETIRED) 2003-02-01 15:23:17 0000 -------
Well since these are real circular deps, i.e. each of them needs the other at
build time for the 
added functionality, I don't see what we can do :-( 
Maybe some of those new portage features could help. I'm not sure what exactly
is done 
already and what is planned. carpaski, what would the right way of doing this
be? 

------- Comment #3 From Maciek 2003-03-05 06:09:50 0000 -------
In that case it would be nice to stop the emerge of qt right in the beginning
if the odbc is not merged and it is included in use flags...

I just lost two hours of compiling... :+(

------- Comment #4 From Robin Johnson 2003-03-21 18:59:32 0000 -------
Based on the lengths of the compiles of unixODBC and Qt, might it not be better
do it the other way around?
USE='-qt' emerge unixODBC && emerge qt && emerge unixODBC 

------- Comment #5 From Paul de Vrieze 2003-04-23 06:55:26 0000 -------
As unixODBC only needs qt for its text mode utilities we could have unixODBC
check on the presence of qt, and depend on qt only then. Or have some
"bootstrap" version that gets masked on whether or not qt is in the use flags
and whether or not is installed

------- Comment #6 From Robin Johnson 2003-07-24 04:00:26 0000 -------
I feel the correct solution is would have the effect as:
USE="-qt" emerge unixODBC
USE="odbc" emerge qt
USE="qt" emerge unixODBC

this would take big advantage of ccache, so the second build should go fairly fast.

------- Comment #7 From Ronald Hummelink 2003-10-13 08:33:35 0000 -------
Hi, perhaps a check on use qt && use odbc and then emit a warning/error if
the missing dep is not yet installed. This would make it a lot easier for
users to work around this circular dep.

------- Comment #8 From Caleb Tennis 2003-11-01 06:51:11 0000 -------
*** Bug 27569 has been marked as a duplicate of this bug. ***

------- Comment #9 From Rance Hall 2003-11-05 12:10:59 0000 -------
Im adding this stuff in here since someone thinks my bug is a duplicate of
this one.  I dont happen to agree, since this isnt really a bug at all, its
WAD (working as designed) with enhancements planned.

right now, there is no circular dependency since unixODBC has a dependency
of qt-2.3.2-r1 when kde depends on qt-2.3.2-r4.

My bug/concern/gripe is that the depend info on kde was updated without checking
on the other packages to see if they could depend on the new version of qt
or not.

I need unixODBC to depend on the SAME verion of qt as kde does so that the
instructions in this bug about dealing with the circular dependency actually
work.

------- Comment #10 From Caleb Tennis 2003-12-19 14:30:30 0000 -------
*** Bug 36134 has been marked as a duplicate of this bug. ***

------- Comment #11 From John Altstadt 2003-12-20 19:16:10 0000 -------
Check out Bug 35875.

The circular dependancy appears to have been corrected when starting from the one of the two coupled ebuilds.

"emerge -v unixODBC" fails due to the missing odbc include files for the qt build that happens first.

"emerge -v qt" builds okay, even though unixODBC is built before building qt.

------- Comment #12 From Caleb Tennis 2004-02-29 16:12:36 0000 -------
*** Bug 34376 has been marked as a duplicate of this bug. ***

------- Comment #13 From Nicholas Jones (RETIRED) 2004-04-13 17:43:01 0000 -------
*** Bug 47685 has been marked as a duplicate of this bug. ***

------- Comment #14 From Sven 2004-04-13 23:02:13 0000 -------
portage should recognize and at least warn about circular dependecies

------- Comment #15 From Jeff Laughlin 2004-04-16 09:27:37 0000 -------
*** Bug 48042 has been marked as a duplicate of this bug. ***

------- Comment #16 From Carsten Lohrke 2004-10-12 09:46:10 0000 -------
*** Bug 65636 has been marked as a duplicate of this bug. ***

------- Comment #17 From Carsten Lohrke 2004-10-17 12:30:48 0000 -------
*** Bug 56761 has been marked as a duplicate of this bug. ***

------- Comment #18 From Dan Armak (RETIRED) 2004-10-23 14:19:38 0000 -------
The solution is to have a separate ebuild for the qt odbc plugin. I've
committed a package.masked dev-db/qt-unixODBC ebuild that does this, please
test. (It will of course overwrite the plugin as installed by x11-libs/qt,
so be careful.)
If we accept this, qt would have PDEPEND="odbc? ( dev-db/qt-unixODBC )" and
unixODBC could then DEPEND on qt without creating a circular dep.
I haven't tested actually tested the result of this ebuild because I don't
have/use unixODBC, but the principle should be sound :-) 
Redhat btw has separate rpms for the qt odbc plugin -and- for the odbc qt gui.

------- Comment #19 From Simone Gotti (RETIRED) 2004-11-09 02:13:54 0000 -------
*** Bug 70424 has been marked as a duplicate of this bug. ***

------- Comment #20 From Dan Armak (RETIRED) 2004-11-20 03:10:45 0000 -------
Will someone please test this so it can be unmasked? I see lots of people CCd,
so please, someone help. And/or suggest a stock program using qt database
plugins I can use for testing without preparing a database myself.

------- Comment #21 From Robin Johnson 2004-12-13 22:25:45 0000 -------
rphillips: as the unixODBC guy, could you please test this?

------- Comment #22 From Matthias 2004-12-26 23:13:10 0000 -------
I emerged dev-db/qt-unixODBC. Everything compiled and installed OK.
But the libodbcinstQ.* libs are missing. They are necessary for the GUI configurator /usr/bin/ODBCConfig.

------- Comment #23 From Dan Armak (RETIRED) 2005-01-01 10:55:23 0000 -------
libodbcinstQ is built by the unixODBC package, not by qt.

Anyway, libodbcinstQ has to do with the QT GUI for ODBCConfig. AFAIK it has
nothing to do with the qt odbc plugin.

Is ODBCConfig at all relevant to the qt odbc plugin? AFAICS, it configures
unixODBC itself, while the QT unixODBC plugin allows access to uixODBC.

------- Comment #24 From Sven 2005-01-03 16:16:47 0000 -------
unixODBC good be devided into 2 parts:
- one ebuild for the unixODBC libraries
- one ebuild for the unixODBC GUI-tools

qt could than depend on the unixODBC libraryies only, while the unixODBC GUI-tools can depend on qt without creating a circular dep.

------- Comment #25 From Dan Armak (RETIRED) 2005-01-04 08:55:41 0000 -------
True. I'm just as fine with that, but it'll have to be some unixODBC guy
who'll do it, not me.

It seems noone's going to bother to test my solution. If this continues I'll
reassign the bug to the unixodbc and tell them to either test and unmask my
solution or roll their own as per your comment.

------- Comment #26 From Sven 2005-01-04 10:01:06 0000 -------
Ohh, sorry. I see you suggested a seperat ebuild for unixODBC's GUI already in
comment #18. Well, i will test this soon.

------- Comment #27 From Sven 2005-01-06 18:35:27 0000 -------
Ohh, you didn't separate the unixODBC GUI from unixODBC's core libraries, but
qt's ODBC-plugins from the main qt build - well, what do the others think?

a) devide unixODBC ebuild into 2: one for the unixODBC libraries, one for the
GUI
b) build qt's ODBC plugin separatly 

my vote goes for a)

P.S.: i haven't tested the qt-unixODBC ebuild yet :-(

------- Comment #28 From Robin Johnson 2005-01-06 18:41:58 0000 -------
I vote for having both.
- 99+% of QT users don't have need of ODBC
- most ODBC users don't use/need any GUI (I certainly don't).

------- Comment #29 From Matthias 2005-01-07 01:27:07 0000 -------
Sven wrote :
P.S.: i haven't tested the qt-unixODBC ebuild yet :-(

I reported the folowing bugs:
I'm using a GENTOO 2.6.9_r9 kernel with Kdevelop 3.1.0 using KDE 3.3.1, qt 
3.3.3, g++ 3.3.


------- Comment #30 From Matthias 2005-01-07 01:27:07 0000 -------
Sven wrote :
P.S.: i haven't tested the qt-unixODBC ebuild yet :-(

I reported the folowing bugs:
I'm using a GENTOO 2.6.9_r9 kernel with Kdevelop 3.1.0 using KDE 3.3.1, qt 
3.3.3, g++ 3.3.

 1/
 I'm able to set up a database connection using qt designer, but when I add
one of the data aware widgets (dataview, datatable, databrowser) the tables 
do not show up. I'm able to connect to my SQLServer database with all of 
the odbc test tools, sqsh 
Setup:

QODBC3
unixODBC

I did a snif between the client and the server:
- Upon the 'connect', the client logs on and requests a list of table 
available in the database 'sp_tables @ table_type='TABLE ','VIEW'
- The server starts responding with all tables.
- After that, the client sends a 'cancel packet' (tds type 0x06) to the 
server.
- After that the client sends query packets with 'sp_columns'. The query 
should be 'sp_columns @tablename=tablename' 
- The server replies with the error message that it expected a tablename with 
the 
'sp_columns' procedure, wich was not supplied ...

There are probably as much of these requests sent as there are tables in the 
database (since the database contains much tables, I did not count to 
verify).


2/
I'm not able to get the data from a text field from a table on a SQL server.
here's some code:

            QSqlQuery query;
            query.setForwardOnly( TRUE );
            query.exec( "SELECT * FROM Table" );
     if ( query.isActive() ) {
                while ( query.next() ) {
                     result->append(query.value(0).toString() + ", " + 
                     query.value(1).toString()  + ", " + 
query.value(2).toString()  + ", 
" + query.value(4).toString()  + ", " + query.value(4).toString()  + ", " + 
query.value(5).toString() + "\n");
       
                }
            }

query.value(1) and query.value(3) should be filled with text, but the result 
is empty. The others are numbers and contain the correct data. I also get the 
folowing error messages:
qGetStringData: Error while fetching data (-1)

Upon further searching I found that query.value(1).toString().isNull() results 
in TRUE

In short, textfields from the database are not retrieved.

When using sqsh, I do see all data correctly.

------- Comment #31 From Dan Armak (RETIRED) 2005-01-08 12:06:18 0000 -------
If the odbc people take this off my back it's fine by me.
Matthias: are you talking about qt-unixODBC? If so does the plugin from
the current qt ebuild work for you?

------- Comment #32 From Matthias 2005-01-08 17:37:45 0000 -------
I have installed this version of qt-unixODBC:
*  dev-db/qt-unixODBC [ Masked ]
      Latest version available: 3.3.3
      Latest version installed: 3.3.3
      Size of downloaded files: 14,086 kB
      Homepage:    http://www.trolltech.com/
      Description: QT version 3.3.3
      License:     || ( QPL-1.0 GPL-2 )
Before that, I was not able to connect to the server.


------- Comment #33 From Dan Armak (RETIRED) 2005-01-09 09:00:39 0000 -------
And does the monolithic ebuild (ie USE=odbc emerge qt) work any better?
If not then it's unrelated to the issue of separating the plugin;
please open a separate bugreport.

------- Comment #34 From Matthias 2005-01-11 15:35:05 0000 -------
I re-emerged QT: same problems ...
Sorry for confusing the subject.


------- Comment #35 From MindEraser 2005-01-19 17:38:01 0000 -------
Ok, guys, I'm not a noob but definitely not a pro either so you can safely
disregard this but just as an idea:
If unixODBS build ok without qt installed even if qt is in its USE flags than
why not just change the dependency from DEPEND ot RDEPEND or PDEPEND. My guess
is that in this way they would be merged in the right order. Still the ideas of
separating the packages look better to me but require more work of course.

------- Comment #36 From Dan Armak (RETIRED) 2005-01-21 11:25:21 0000 -------
MindEraser, that won't work. This is a true circular dep: each package
requires the other one to be built before it.

...Will someone test this properly, or split off the unixODBC qt GUI instead?
Much more of this and I'll decide noone actually uses this stuff and disable
the unixODBC support in QT entirely :-/

------- Comment #37 From Dan Armak (RETIRED) 2005-07-01 07:11:05 0000 -------
Since noone else cares about testing this apparently, I'm unmasking this.   
As far as I can determine it works (at least as well as the plugin worked when  
built by the qt ebuild).  
  
Archs: to summarize, the QT unixODBC plugin has been moved to a separate ebuild  
dev-db/qt-unixODBC to fix a circular dep between qt and unixODBC when both qt  
and odbc are in USE.  
I'm CCing you to let you know I added all your ~ keywords to qt-unixODBC, on 
the basis of the fact that the QT ebuild had them and this is just a 
refactoring (and I couldn't get anyone to test it, which to me means very few 
people use it). Thus I didn't want to make a new QT ebuild revision (and I 
couldn't make a dep in qt-unixODBC anyway that would say >=qt-3.3.4-r6 and 
~qt-3.3.4 at the same time...)  

------- Comment #38 From Tom Gall 2005-09-09 08:49:40 0000 -------
stable on ppc64

First Last Prev Next    No search results available      Search page      Enter new bug