Summary: | app-office/openoffice-3.2.1 fails to build with libX11-1.3.99.903 from overlay | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jesús Guerrero Botella (RETIRED) <i92guboj> |
Component: | Current packages | Assignee: | Gentoo Office Team <office> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | casta, john, mmw, paolo.pedroni, Tanktalus, x11 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | https://bugs.freedesktop.org/show_bug.cgi?id=31322 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log.gz
Patch to check for both defines Patch for the ebuild to apply the above patch |
Description
Jesús Guerrero Botella (RETIRED)
![]() Created attachment 253925 [details]
build.log.gz
(In reply to comment #1) > Created an attachment (id=253925) [details] > build.log > Just retry to build oo with -j1 in MAKEOPTS (in /etc/make.conf). I recently successfully build version 3.2.1, and succeed (on amd64) despite of the errors like the following: Entering /var/tmp/portage/app- office/openoffice-3.2.1/work/ooo/build/OOO320_m19/ xmerge/source/xmerge Compiling: vcl/source/gdi/print.cxx Dsolar.langs="en-US es " -Dsolar.localized="true" /bin/bash: Dsolar.langs=en-US es : command not found I already had MAKEOPTS=-j1. It's the only -j level I dare to use when emerging openoffice because it always failts for one or another reason. My CFLAGS are standard. I am trying to recompile 3.2.0 right now. OOo is the most annoying blob when it comes to compilation. I will report back. Might be related to you trying to build without java, this worked fine a few weeks ago, but OOo is notoriously sensitive to dependency changes. Can reproduce this locally (on x86, also without java), the actual error is: In file included from ../../../unx/inc/salobj.h:33, from /var/tmp/portage/app-office/openoffice-3.2.1-r1/work/ooo/build/OOO320_m19/vcl/unx/source/app/saldisp.cxx:98: ../../../inc/vcl/salobj.hxx:74: warning: unused parameter 'bEnable' In file included from /var/tmp/portage/app-office/openoffice-3.2.1-r1/work/ooo/build/OOO320_m19/vcl/unx/source/app/saldisp.cxx:101: ../../../unx/inc/dtint.hxx:41: error: using typedef-name 'Display' after 'struct' /usr/include/X11/Xlib.h:495: error: 'Display' has a previous declaration here ../../../unx/inc/dtint.hxx:42: error: using typedef-name 'XEvent' after 'struct' /usr/include/X11/Xlib.h:1017: error: 'XEvent' has a previous declaration here dmake: Error code 1, while making '../../../unxlngi6.pro/slo/saldisp.obj' ERROR: Error 65280 occurred while making /var/tmp/portage/app-office/openoffice-3.2.1-r1/work/ooo/build/OOO320_m19/vcl/unx/source/app rmdir /var/tmp/portage/app-office/openoffice-3.2.1-r1/temp/g7B6QXj7S4 make: *** [stamp/build] Error 1 @Hanno: Have you seen that bug in your tests before? (In reply to comment #5) > Can reproduce this locally (on x86, also without java), the actual error is: > > > In file included from ../../../unx/inc/salobj.h:33, > from > /var/tmp/portage/app-office/openoffice-3.2.1-r1/work/ooo/build/OOO320_m19/vcl/unx/source/app/saldisp.cxx:98: > ../../../inc/vcl/salobj.hxx:74: warning: unused parameter 'bEnable' > In file included from > /var/tmp/portage/app-office/openoffice-3.2.1-r1/work/ooo/build/OOO320_m19/vcl/unx/source/app/saldisp.cxx:101: > ../../../unx/inc/dtint.hxx:41: error: using typedef-name 'Display' after > 'struct' > /usr/include/X11/Xlib.h:495: error: 'Display' has a previous declaration here > ../../../unx/inc/dtint.hxx:42: error: using typedef-name 'XEvent' after > 'struct' > /usr/include/X11/Xlib.h:1017: error: 'XEvent' has a previous declaration here > dmake: Error code 1, while making '../../../unxlngi6.pro/slo/saldisp.obj' > > ERROR: Error 65280 occurred while making > /var/tmp/portage/app-office/openoffice-3.2.1-r1/work/ooo/build/OOO320_m19/vcl/unx/source/app > rmdir /var/tmp/portage/app-office/openoffice-3.2.1-r1/temp/g7B6QXj7S4 > make: *** [stamp/build] Error 1 > I have exactly the same error here. But it's due to libX11-1.3.99.903 (x11 overlay). Downgrading to 1.3.6 (portage) and it now builds fine Right, I am using the same libX11, so you can close as invalid, unless someone with a standard setup can reproduce this. Sorry for the noise. Ok, same problem here ;-) Indeed closing as invalid, thanks for the quick answer! Just for info, it also fails for me in the same way with Java and libX11-1.3.99.903 (In reply to comment #10) > Just for info, it also fails for me in the same way with Java and > libX11-1.3.99.903 > Thanks, correcting title It looks like the file ooo/build/OOO320_m19/vcl/unx/inc/dtint.hxx relies on X11/Xlib.h defining _XLIB_H_ if it is included. But the version of Xlib.h on my system (x11-libs/libX11-1.3.99.903) defines _X11_XLIB_H_. Indeed this seems to be an intentional change so openoffice will need to be updated at some point: http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=d0cbf388919364fe6b5b9127f36426eb744090a0 I suspect that changing the #ifdef _XLIB_H_ to check for either _XLIB_H_ or _X11_XLIB_H_ and am compile a copy patched to change this. (In reply to comment #12) > It looks like the file ooo/build/OOO320_m19/vcl/unx/inc/dtint.hxx relies on > X11/Xlib.h defining _XLIB_H_ if it is included. But the version of Xlib.h on my > system (x11-libs/libX11-1.3.99.903) defines _X11_XLIB_H_. > > Indeed this seems to be an intentional change so openoffice will need to be > updated at some point: > http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=d0cbf388919364fe6b5b9127f36426eb744090a0 > > I suspect that changing the #ifdef _XLIB_H_ to check for either _XLIB_H_ or > _X11_XLIB_H_ and am compile a copy patched to change this. > I was investigating amongst this same lines. I can confirm that changing that define in dtint.hxx allows you to compile OOo with the new libX11 version. What I did, in case someone else needs to know, is to run "ebuild openoffice-3.2.1-r1.ebuild compile", wait, then modify the relevant file under /var/tmp/portage/..... and continue from there again. I changed the relevant section this way: #ifndef _XLIB_H_ #ifndef _X11_XLIB_H_ // forwards from X struct Display; struct XEvent; #define Atom UINT32 #define XLIB_Window UINT32 #endif #endif I have no idea how (if possible at all) to put this in an ebuild, because this file that needs patching is not available from the ebuild, since it's created by the Makefile script itself. So for now I will have to merge the ebuild myself by hand (not a big deal). Thanks again for all the pointers. Reopening, guess better to keep this around visibly @x11 herd: could you please comment on this with some advice / insight? upcoming libX11 releases seem to break OOo... (In reply to comment #15) > @x11 herd: could you please comment on this with some advice / insight? > upcoming libX11 releases seem to break OOo... > They changed internal ifdefs to be prefixed with _X11_ on Xlib.h so nothing that use former ifdefs won't compile. See the upstream bug. Just include the Xlib.h. Created attachment 254091 [details, diff] Patch to check for both defines This patch fixes the compile failure for me. It checks for both defines rather than including Xlib.h since that's what the version in LibreOffice's git does: http://cgit.freedesktop.org/libreoffice/libs-gui/tree/vcl/unx/inc/dtint.hxx Created attachment 254093 [details, diff]
Patch for the ebuild to apply the above patch
*** Bug 345211 has been marked as a duplicate of this bug. *** Fix is now in the tree, thanks @John for providing the patch! |