>> [
18%] Building CXX object
>>
kdeui/CMakeFiles/kdeui-shared.dir/kshortcutdialog_simple.cpp.o
>>
/home/midenok/src/kde/tdelibs/build.debug/kdeui/kshortcutdialog_simple.cpp:
> >> In constructor
>>
‘KShortcutDialogSimple::KShortcutDialogSimple(QWidget*,
const
>> char*)’:
/home/midenok/src/kde/tdelibs/build.debug/kdeui/kshortcutdialog_simple.cpp:31:50:
>> error: invalid use of incomplete type
‘struct QLabel’
>
> Are there some kind soul that wants to help me
with that? Please!
That looks like a problem with the ui compiler. I
remember something
similar happening in the past on a non-Debian
distribution; Darrell
Anderson on this list may be able to help with
the
problem if I
remember correctly.
IIRC you have to do
$ export PATH=/trinity/prefix/bin:$PATH
before building Trinity, oherwise you could be using the Qt4
uic.
Obviously this either will be or has been fixed in GIT
for R14.0. :-)
I don't know how much I can help here. :)
I believe the reference to me might be to the time I had to troubleshoot certain build
failures, which eventually I discovered were caused be setting the $CPLUS_INCLUDE_PATH
environment variable. Setting the $CPLUS_INCLUDE_PATH in the build environment prevents
pkg-config from running properly. The moment I removed that export command in my master
script, the cmake TQT_INCLUDE_DIRS internal variable began populating automatically.
First and foremost, I use a chroot environment to build Trinity packages. In that
environment I do not have KDE3, KDE4, or Qt4 installed. For my usability testing I might
have any or all of those three installed, but not in my build environment. An alternative
to a chroot environment is a virtual machine or a separate physical machine. The idea is
to have a clean but full distro installation minus anything that will cause conflicts. For
example, proprietary video drivers should never be installed in a Trinity build
environment.
For my usability testing I do not use my chroot build environment. Instead I use virtual
machines and separate partitions on physical machines. I keep my usability testing
environments separate from my build environment.
As mentioned in the wiki, I install all Trinity packages, including (T)Qt3, to
/opt/trinity except tqtinterface. I install tqtinterface to /usr.
To avoid conflicts with Qt4, in all build scripts still using automake, I explicitly
define where to find Qt3 files:
--with-qt-dir=${QTDIR}
--with-qt-includes=${QT_INCLUDE_DIR}
--with-qt-libraries=${QTDIR}/lib
The cmake builds do not need those same explicit declarations (those locations are now
built into the Trinity cmake build process). Of course, in my build environment I remove
the Qt4 package and avoid conflicts altogether. However, I maintain these explicit
declarations as habit because originally one of the project goals was to build certain
packages with Qt4 support. That is not the case today, but I maintain the explicit
declarations. A clean and separate build environment more or less avoids all of these
issues.
I explicitly define in my master build script certain environment variables, such as
$PATH. The search path must include the Trinity bin directory first in the $PATH variable,
and not appended last as is standard practice.
With building (T)Qt3, no related build environment variables are yet set because that is
the first package built in the entire build sequence. However, in my (T)Qt3 build script I
explicitly declare two environment variables because the Qt3 build process dependes upon
its own binaries to build:
export QTDIR=`pwd`
if [ -n "$LD_LIBRARY_PATH" ]; then
export LD_LIBRARY_PATH=${QTDIR}/lib:$LD_LIBRARY_PATH
else
export LD_LIBRARY_PATH=${QTDIR}/lib
fi
export PATH=${QTDIR}/bin:$PATH
As much as building the entire package set in automated mode is desirable, I have not
figured out a way to do so until I have both (T)Qt3 and tqtinterface built. Thereafter I
can build all other packages in automated mode. Therefore I first build and install
(T)Qt3. Then I build and install tqtinterface. Thereafter I build everything else in
automated mode.
After I have (T)Qt3 and tqtinterface installed, my master build script explicitly sets the
following environment variables:
$PKG_CONFIG_PATH
$QTDIR
$QT_INCLUDE_DIR
$QT_LIB_DIR
$LD_LIBRARY_PATH
$PATH
I am in the process today of building everything from scratch from GIT for the first time
in a few weeks. We'll see how that goes by the end of the day.
I hope something here helps. :)
Darrell