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.