By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 1799

Summary: Cannot build LibreOffice 4.x with Trinity dialogs
Product: TDE Reporter: Darrell <darrella>
Component: other (any)Assignee: Timothy Pearson <kb9vqf>
Status: RESOLVED FIXED    
Severity: critical CC: bugwatch, darrella, kb9vqf
Priority: P5    
Version: R14.0.0 [Trinity]   
Hardware: Other   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:

Description Darrell 2013-12-29 13:50:36 CST
Firstly, we have no program in place so Trinity developers can check LO for necessary patching. No wiki information exists at all. Keeping LO patched is likely to be a never-ending process and we need wiki information readily available to retain Trinity dialog support.

Here is the specific LO 4.1.4 build failure:

dev/shm/tmp-libreoffice/libreoffice-4.1.4.2/vcl/Executable_tdefilepicker.mk:18: *** gb_LinkTarget_set_include: include paths /dev/shm/tmp-libreoffice/libreoffice-4.1.4.2/vcl/inc/unx/tde do not exist.  Stop.

As reported, tmp-libreoffice/libreoffice-4.1.4.2/vcl/inc/unx/tde does not exist. Looking through Executable_tdefilepicker.mk, there is such a respective include directive: -I$(SRCDIR)/vcl/inc/unx/tde.

There are additional references in Executable_tdefilepicker.mk to vcl/unx/kde/fpicker, which no longer exists.

There is a kde directory and only one file: kdedata.hxx.

Looking through the older LO Trinity patches, looks to me like the directory structure has changed in the 4.1.x series.

Right now, building Trinity dialog support is not possible.
Comment 1 Timothy Pearson 2014-01-23 21:53:51 CST
Fortunately, building LibreOffice is quite simple if you have a fast enough computer with loads of free disk space.

Roughly, the steps are as follows:
1.) Install the build dependencies.  This various by distribution; on Debian/Ubuntu 'apt-get build-dep libreoffice' and 'apt-get install tdelibs-trinity-dev' will suffice.  On other distributions you may have to keep running the autogen command below and installing the packages it states are not found until it successfully completes.
2.) Obtain the LibreOffice sources from GIT:  mkdir ~/libreoffice_build && cd ~/libreoffice_build && git clone git://anongit.freedesktop.org/libreoffice/core
3.) Generate the configuration/make files: cd core && ./autogen.sh --enable-tde --enable-tdeab
4.) Make LibreOffice: (grab some coffee here): make

The TDE integration build failure fix is waiting on upstream approval here: https://gerrit.libreoffice.org/#/c/7626/

Tim
Comment 2 Darrell 2014-01-23 22:14:32 CST
>The TDE integration build failure fix is waiting on upstream approval here:
>https://gerrit.libreoffice.org/#/c/7626/

That is the missing link (although I seem unable to view anything, even with JS enabled) because there were changes in the 4.1 series.

That LO is a pig is understood and that about a 100 LO-specific dependencies means gobs of hard drive space too.

Please add a comment when the patch is approved. I'll find some leather to chew while trying to compile.
Comment 3 Timothy Pearson 2014-01-24 15:33:03 CST
Patch merged into main LO sources:
http://cgit.freedesktop.org/libreoffice/core/commit/?id=3ab5dc7dad0bc0fdeaffaa40e38c5fbaf49698ce

Tim
Comment 4 Darrell 2014-01-24 15:47:52 CST
>Patch merged into main LO sources:
So that will be available when? Version 4.1.5? Or we apply the patch manually?

Let's leave this report open until the dust finally settles. No urgency, just a lack of time at the moment to get this monkey off our backs.
Comment 5 Darrell 2014-02-07 13:50:40 CST
What are the minimum Trinity files that need to be installed in a build environment to support compiling LO with Trinity dialog support?

I ask because there are some upstream people who compile LO as a community package but do not use Trinity. They are not going to build and install Trinity, but if they were emailed only the necessary files or libs then they might be convinced to compile LO with Trinity dialog support.
Comment 6 Timothy Pearson 2014-02-09 18:16:30 CST
(In reply to comment #5)
> What are the minimum Trinity files that need to be installed in a build
> environment to support compiling LO with Trinity dialog support?

tdelibs and tdepim.

Tim
Comment 7 Darrell 2014-03-14 17:04:27 CDT
I am trying to build LO 4.2.2 with Trinity support. The configuration is fine but the make process halts with the following:

tmp-libreoffice/libreoffice-4.2.2.1/vcl/Executable_tdefilepicker.mk:18: *** gb_LinkTarget_set_include: include paths tmp-libreoffice/libreoffice-4.2.2.1/vcl/inc/unx/tde do not exist.  Stop.

This seems to be a never-ending dog-chasing-its-tail. There must be a better way to keep LO compatibile with Trinity other than patching every single release.

I have not tried to build with LO 4.1.x.
Comment 8 Darrell 2014-03-14 21:55:32 CDT
Appears the patch referenced in comment 3 was not merged into the main trunk because the changes do not exist in 4.1.5 or 4.2.2 sources.

Even when applying an updated version of the patch, the build still fails when trying to build Trinity support. The failures revolve around /vcl/unx/kde/fpicker. For example:

/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx: At global scope:
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:19:1: error: 'QT_BEGIN_MOC_NAMESPACE' does not name a type
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:43:53: error: 'QMetaObject' has not been declared
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:43:71: error: expected ',' or '...' before '_c'
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:43:93: error: no 'void KDEFileDialog::qt_static_metacall(TQObject*, int)' member function declared in class 'KDEFileDialog'
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:56:7: error: 'QMetaObjectExtraData' does not name a type
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:60:7: error: 'QMetaObject' does not name a type
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:69:7: error: 'QMetaObject' does not name a type
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:74:53: error: no 'void* KDEFileDialog::qt_metacast(const char*)' member function declared in class 'KDEFileDialog'
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:82:32: error: 'int KDEFileDialog::qt_metacall' is not a static member of 'class KDEFileDialog'
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:82:32: error: 'QMetaObject' has not been declared
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:82:54: error: expected primary-expression before 'int'
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:82:63: error: expected primary-expression before 'void'
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:82:72: error: expression list treated as compound expression in initializer [-fpermissive]
/tmp/tmp-libreoffice/libreoffice-4.2.2.1/workdir/CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc.cxx:83:1: error: expected ',' or ';' before '{' token
Comment 9 Timothy Pearson 2014-07-15 21:14:04 CDT
Working on fixing this now in GIT:
https://gerrit.libreoffice.org/#/c/10348/
Comment 10 Timothy Pearson 2014-07-18 10:16:23 CDT
(In reply to Timothy Pearson from comment #9)
> Working on fixing this now in GIT:
> https://gerrit.libreoffice.org/#/c/10348/

OK, has been pushed to LO git.  I also set up a tinderbox (Linux-Ubuntu-x86_64_54-TDE) so that from now on each LO release will be verified to compile against TDE:
http://tinderbox.libreoffice.org/MASTER/status.html

Tim
Comment 11 Darrell 2014-07-18 18:09:55 CDT
>I also set up a tinderbox
How does one know the LO version being tested? Current stable version is 4.2.5.
Comment 12 Timothy Pearson 2014-07-19 00:26:16 CDT
(In reply to Darrell from comment #11)
> >I also set up a tinderbox
> How does one know the LO version being tested? Current stable version is
> 4.2.5.

The tinderbox tracks the MASTER branch, so any releases after this date (i.e. when the tinderbox was brought online) should be TDE-compatible without any patches.

As far as the current stable versions go, I only needed the simple build patch linked to above.  If that fails to build on your system then please let me know, however as it builds here on QuickBuild and on the tinderbox it's probably a simple matter of fixing up configure flags or similar on your box.

Tim