On 23.10.2011 16:40, Enrico Forestieri wrote:
On Sun, Oct 23, 2011 at 08:28:41AM -0500, stefano franchi wrote:

On Sat, Oct 22, 2011 at 1:40 PM, Enrico Forestieri<for...@lyx.org>  wrote:
On Sat, Oct 22, 2011 at 10:16:03AM -0500, stefano franchi wrote:

I followed instructions and got the same error as above.

Grepping for IconButton, as suggested, does not find anything. That
is, the file  moc_FancyLineEdit.cpp
is where it should, but it does not contain any ref to IconButton

Please, can you report the output of the following command?

$ which bc

For example, I get:

$ which bc
/usr/bin/bc

No output, I don't have that program installed, it seems.
What is it?

$ whatis bc
bc (1)               - An arbitrary precision calculator language
bc (1posix)          - arbitrary-precision arithmetic language

Install bc and it will work. It is used to get the Qt version in hex format from
the x.y.z decimal format and pass it to the moc compiler. Without bc you should
see moc invoked like this:

moc-qt4 -DQT_VERSION=0x0 -o moc_FancyLineEdit.cpp ...

Notice the -DQT_VERSION=0x0 flag, which should instead be something like
-DQT_VERSION=0x040704. So, moc would be instructed that you have Qt version 
0.0.0
and thus some part of the sources are omitted from compilation.

Remember to remove the old moc_FancyLineEdit.cpp or to touch
src/frontends/qt4/FancyLineEdit.h before launching make.


Yes indeed, that's the reason: in ./src/frontends/qt4/Makefile you will find

QT_VERSION = $(shell IFS=.; set -- `echo $(QT4_VERSION)`; \
             echo 0x0`echo "obase=16; $$1*65536+$$2*256+$$3" | bc`)

so no bc, no QT_VERSION. A very quick&dirty hack would be to edit the Makefile:

QT_VERSION = 0x040704

Peter

Reply via email to