qt4 build issue

Michael Schwendt bugs.michael at gmx.net
Tue Feb 5 20:40:12 UTC 2008


On Tue, 5 Feb 2008 12:26:48 -0600 (CST), Jon Ciesla wrote:

> 
> >
> >> On Wed, 30 Jan 2008 08:43:05 -0600 (CST), Jon Ciesla wrote:
> >>
> >>> Trying to update vym for EL-5, and it won't build. Any suggestions?
> >>> Marek
> >>> and I are stumped:
> >>>
> >>> https://bugzilla.redhat.com/show_bug.cgi?id=429508
> >>>
> >>> I feel like we're missing something obvious.
> >>
> >>
> >>> ui_branchpropwindow.h: In member function 'void
> >>> Ui_BranchPropertyWindow::setupUi(QWidget*)':
> >>> ui_branchpropwindow.h:80: error: 'class QVBoxLayout' has no member
> >>> named
> >>> 'setLeftMargin'
> >>> ui_branchpropwindow.h:81: error: 'class QVBoxLayout' has no member
> >>> named
> >>> 'setTopMargin'
> >>> ui_branchpropwindow.h:82: error: 'class QVBoxLayout' has no member
> >>> named
> >>> 'setRightMargin'
> >>
> >> Actually, setLeftMargin is not a member of QVBoxLayout. It's not listed
> >> as
> >> inherited either. It's in Qt 3 QTable (or Qt 4's Q3Table) or
> >> QTextBlockFormat). The code wants Qt4 with Qt3 compatibility
> >> (-DQT3_SUPPORT). Have you built it locally yet where you can examine the
> >> source files generated by Qt's user interface compiler to find out in
> >> what context exactly it calls these members?
> >
> > Not in pursuit of this issue, no.  I'll see what I can find.  Do you think
> > adding -DQT3_SUPPORT in the build flags will correct this?  I'm a bit of a
> > qt-n00b.
> 
> Weird, a quick grep fails to find setLeftMargin in anything save several
> .o files.  Not sure what to do here.

grep for just "leftMargin" as it is a layout property. It's gone in
later Qt 4 versions, and uic replaces it with the setContentsMargin
method. As Orion in this thread guessed, it looks much like qt4-devel
is not new enough and suffers from a uic code generation bug.

If you like to try a work-around, load the offending *.ui forms into
RHEL5's designer4, save them, diff against the pristine vym-1.10.0
to create a patch, and then build the patched vym.




More information about the epel-devel mailing list