Thanks this info helped me a little. I am building from a slackware base with only lxde installed. For me evertyhing seems to build until i pulled the latest git a few days ago. Now my autobuilds don't find qt3, and avahi-tqt will not build because of a 'too many arguments' moc error. Without avahi-tqt (and i only use Qt3) i have a usable desktop environment with avahi and zeroconf functioning.

Please keep us updated of any problems you may find with this latest build session.

Thanks.

On Wed, Feb 15, 2012 at 10:00 PM, Darrell Anderson <humanreadable@yahoo.com> wrote:
> > >> [ 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


---------------------------------------------------------------------
To unsubscribe, e-mail: trinity-devel-unsubscribe@lists.pearsoncomputing.net
For additional commands, e-mail: trinity-devel-help@lists.pearsoncomputing.net
Read list messages on the web archive: http://trinity-devel.pearsoncomputing.net/
Please remember not to top-post: http://trinity.pearsoncomputing.net/mailing_lists/#top-posting