I was bored enough to attempt the merge of the new release candidate of openoffice.org 2.0 on ppc while it is still marked ~x86 and masked. I guess someone will have to do it at some point anyway. Here are my use flags for this ebuild: [ebuild U ] app-office/openoffice-2.0.0_rc2 [1.1.5] +curl -eds -gnome +java +kde -ldap -mozilla -nas +python +xml2 +zlib I tried to build it with mozilla support but it didn't work with only firefox, it apparently miss mozilla-xpcom at configuration time: checking whether to use Mozilla or Firefox... Mozilla checking for mozilla-xpcom ... Package mozilla-xpcom was not found in the pkg-config search path. Perhaps you should add the directory containing `mozilla-xpcom.pc' to the PKG_CONFIG_PATH environment variable No package 'mozilla-xpcom' found configure: error: Library requirements (mozilla-xpcom ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them. ------------------- The build finally failed on stlport, which is reminiscent of problems one has when trying to build for OSX (X11) where sltport has to be patched (the patch exist for OOo1.1x and someone has ported it to OOo2 I think): mkdir -p ../lib/obj/GCCppc/DebugSTLD g++ -D_REENTRANT -DGXX_INCLUDE_PATH=/usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.4/include/g++-v3 -fexceptions -I../stlport -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 -O2 -mcpu=7450 -pipe -maltivec -mabi=altivec -mpowerpc-gfxopt -fsigned-char -frename-registers -fweb -fno-strict-aliasing -g -fPIC -D_STLP_DEBUG dll_main.cpp -c -o ../lib/obj/GCCppc/DebugSTLD/dll_main.o In file included from ../stlport/vector:36, from dll_main.cpp:39: ../stlport/stl/_vector.h:92: error: template class without a name ../stlport/stl/_vector.h:195: error: expected unqualified-id before "const" ../stlport/stl/_vector.h:195: error: expected `)' before "const" ../stlport/stl/_vector.h:198: error: expected `)' before "__n" ../stlport/stl/_vector.h:204: error: expected `)' before "__n" ../stlport/stl/_vector.h:209: error: expected unqualified-id before "const" ../stlport/stl/_vector.h:209: error: expected `)' before "const" ../stlport/stl/_vector.h:240: error: expected `)' before "__first" ../stlport/stl/_vector.h:240: error: expected `;' before "__first" ../stlport/stl/_vector.h:255: error: expected class-name before "__attribute__" ../stlport/stl/_vector.h:257: error: expected unqualified-id before '<' token ../stlport/stl/_vector.h:337: error: expected identifier before '<' token ../stlport/stl/_vector.h:337: error: expected `,' or `...' before '<' token ../stlport/stl/_vector.h:337: error: ISO C++ forbids declaration of `parameter' with no type ../stlport/stl/_vector.h:546: warning: `altivec' attribute ignored ../stlport/stl/_vector.h: In member function `void _STLD::<anonymous class><_Tp, _Alloc>::swap(int __vector__)': ../stlport/stl/_vector.h:338: error: `__x' undeclared (first use this function) ../stlport/stl/_vector.h:338: error: (Each undeclared identifier is reported only once for each function it appears in.) ../stlport/stl/_vector.h: At global scope: ../stlport/stl/_vector.h:93: error: an anonymous union cannot have function members ../stlport/stl/_vector.h:546: error: abstract declarator `_STLD::<anonymous class><_Tp, _Alloc>' used as declaration In file included from ../stlport/stl/_vector.h:550, from ../stlport/vector:36, from dll_main.cpp:39: ../stlport/stl/_relops_cont.h:6: error: expected `,' or `...' before '<' token ../stlport/stl/_relops_cont.h:7: error: ISO C++ forbids declaration of `parameter' with no type ../stlport/stl/_relops_cont.h:7: error: `bool _STLD::operator==(int __vector__)' must have an argument of class or enumerated type ../stlport/stl/_relops_cont.h:7: error: `bool _STLD::operator==(int __vector__)' must take exactly two arguments ../stlport/stl/_relops_cont.h: In function `bool _STLD::operator==(int __vector__)': ../stlport/stl/_relops_cont.h:8: error: `__x' undeclared (first use this function) ../stlport/stl/_relops_cont.h:8: error: `__y' undeclared (first use this function) ../stlport/stl/_relops_cont.h:9: error: no matching function for call to `equal(<type error>, <type error>, <type error>)' ../stlport/stl/_relops_cont.h: At global scope: ../stlport/stl/_relops_cont.h:13: error: expected `,' or `...' before '<' token ../stlport/stl/_relops_cont.h:14: error: ISO C++ forbids declaration of `parameter' with no type ../stlport/stl/_relops_cont.h:14: error: `bool _STLD::operator<(int __vector__)' must have an argument of class or enumerated type ../stlport/stl/_relops_cont.h:14: error: `bool _STLD::operator<(int __vector__)' must take exactly two arguments ../stlport/stl/_relops_cont.h: In function `bool _STLD::operator<(int __vector__)': ../stlport/stl/_relops_cont.h:15: error: `__x' undeclared (first use this function) ../stlport/stl/_relops_cont.h:16: error: `__y' undeclared (first use this function) ../stlport/stl/_relops_cont.h: At global scope: ../stlport/stl/_relops_cont.h:19: error: expected `,' or `...' before '<' token ../stlport/stl/_relops_cont.h:19: error: ISO C++ forbids declaration of `parameter' with no type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator!=(int __vector__)' must have an argument of class or enumerated type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator!=(int __vector__)' must take exactly two arguments ../stlport/stl/_relops_cont.h: In function `bool _STLD::operator!=(int __vector__)': ../stlport/stl/_relops_cont.h:19: error: `__x' undeclared (first use this function) ../stlport/stl/_relops_cont.h:19: error: `__y' undeclared (first use this function) ../stlport/stl/_relops_cont.h: At global scope: ../stlport/stl/_relops_cont.h:19: error: expected `,' or `...' before '<' token ../stlport/stl/_relops_cont.h:19: error: ISO C++ forbids declaration of `parameter' with no type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator>(int __vector__)' must have an argument of class or enumerated type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator>(int __vector__)' must take exactly two arguments ../stlport/stl/_relops_cont.h: In function `bool _STLD::operator>(int __vector__)': ../stlport/stl/_relops_cont.h:19: error: `__y' undeclared (first use this function) ../stlport/stl/_relops_cont.h:19: error: `__x' undeclared (first use this function) ../stlport/stl/_relops_cont.h: At global scope: ../stlport/stl/_relops_cont.h:19: error: expected `,' or `...' before '<' token ../stlport/stl/_relops_cont.h:19: error: ISO C++ forbids declaration of `parameter' with no type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator<=(int __vector__)' must have an argument of class or enumerated type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator<=(int __vector__)' must take exactly two arguments ../stlport/stl/_relops_cont.h: In function `bool _STLD::operator<=(int __vector__)': ../stlport/stl/_relops_cont.h:19: error: `__y' undeclared (first use this function) ../stlport/stl/_relops_cont.h:19: error: `__x' undeclared (first use this function) ../stlport/stl/_relops_cont.h: At global scope: ../stlport/stl/_relops_cont.h:19: error: expected `,' or `...' before '<' token ../stlport/stl/_relops_cont.h:19: error: ISO C++ forbids declaration of `parameter' with no type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator>=(int __vector__)' must have an argument of class or enumerated type ../stlport/stl/_relops_cont.h:19: error: `bool _STLD::operator>=(int __vector__)' must take exactly two arguments ../stlport/stl/_relops_cont.h: In function `bool _STLD::operator>=(int __vector__)': ../stlport/stl/_relops_cont.h:19: error: `__x' undeclared (first use this function) ../stlport/stl/_relops_cont.h:19: error: `__y' undeclared (first use this function) ../stlport/stl/_relops_cont.h: At global scope: ../stlport/stl/_relops_cont.h:23: error: variable or field `swap' declared void ../stlport/stl/_relops_cont.h:23: error: `_STLD::swap' declared as an `inline' variable ../stlport/stl/_relops_cont.h:23: error: template declaration of `int _STLD::swap' ../stlport/stl/_relops_cont.h:23: error: expected primary-expression before "__attribute__" ../stlport/stl/_relops_cont.h:23: error: expected primary-expression before '>' token ../stlport/stl/_relops_cont.h:23: error: `__x' was not declared in this scope ../stlport/stl/_relops_cont.h:24: error: expected primary-expression before "__attribute__" ../stlport/stl/_relops_cont.h:24: error: expected primary-expression before '>' token ../stlport/stl/_relops_cont.h:24: error: `__y' was not declared in this scope ../stlport/stl/_relops_cont.h:24: error: expected `;' before '{' token In file included from ../stlport/stl/_vector.h:568, from ../stlport/vector:36, from dll_main.cpp:39: ../stlport/stl/_vector.c:41: error: expected unqualified-id before '<' token ../stlport/stl/_vector.c:41: error: expected `;' before '<' token ../stlport/stl/_vector.c:57: error: expected unqualified-id before '<' token ../stlport/stl/_vector.c:57: error: expected `;' before '<' token ../stlport/stl/_vector.c:85: error: expected unqualified-id before '<' token ../stlport/stl/_vector.c:85: error: expected `;' before '<' token ../stlport/stl/_vector.c:110: error: expected unqualified-id before '<' token ../stlport/stl/_vector.c:110: error: expected `;' before '<' token In file included from ../stlport/stl/_vector.h:572, from ../stlport/vector:36, from dll_main.cpp:39: ../stlport/stl/_bvector.h:298: error: expected identifier before '<' token ../stlport/stl/_bvector.h:298: error: expected unqualified-id before '<' token ../stlport/stl/_bvector.h:298: error: expected `;' before '<' token ../stlport/stl/_bvector.h:791: error: expected unqualified-id before '<' token ../stlport/stl/_bvector.h:791: error: expected `,' or `;' before '<' token In file included from ../stlport/stl/_vector.h:576, from ../stlport/vector:36, from dll_main.cpp:39: ../stlport/stl/debug/_vector.h:96: error: expected class-name before "__attribute__" ../stlport/stl/debug/_vector.h:96: error: expected `{' before "__attribute__" ../stlport/stl/debug/_vector.h:96: error: expected unqualified-id before '<' token ../stlport/stl/debug/_vector.h:96: error: expected `;' before '<' token dll_main.cpp:172: error: expected identifier before '<' token dll_main.cpp:172: error: expected unqualified-id before '<' token dll_main.cpp:174: error: explicit instantiation of `class _STLD::vector<void*, _STLD::allocator<void*> >' before definition of template make[1]: *** [../lib/obj/GCCppc/DebugSTLD/dll_main.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/openoffice-2.0.0_rc2/work/ooo-build-2.0.rc2/build/ooo680-m2/stlport/unxlngppc.pro/misc/build/STLport-4.5/src' dmake: Error code 2, while making './unxlngppc.pro/misc/build/so_built_so_stlport' '---* tg_merge.mk *---' ERROR: Error 65280 occurred while making /var/tmp/portage/openoffice-2.0.0_rc2/work/ooo-build-2.0.rc2/build/ooo680-m2/stlport make: *** [stamp/build] Error 1 !!! ERROR: app-office/openoffice-2.0.0_rc2 failed. !!! Function src_compile, Line 196, Exitcode 2 Reproducible: Always Steps to Reproduce: 1. Take a linux ppc install 2. Edit /etc/portage/package.keywords and package.unmask 3. emerge openoffice Actual Results: The ebuild failed in stlport Expected Results: Succesfull compilation would have been nice, but it is still hard masked so I wasn't entirely surprised. emerge info Portage 2.0.51.22-r3 (default-linux/ppc/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.12-gentoo-r6 ppc) ================================================================= System uname: 2.6.12-gentoo-r6 ppc 7450, altivec supported Gentoo Base System version 1.6.13 ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.90.0.3-r5 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="ppc" AUTOCLEAN="yes" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=7450 -pipe -maltivec -mabi=altivec -mpowerpc-gfxopt -fsigned-char -frename-registers -fweb -fno-strict-aliasing" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=7450 -pipe -maltivec -mabi=altivec -mpowerpc-gfxopt -fsigned-char -frename-registers -fweb -fno-strict-aliasing" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.vic.keypoint.com.au http://mirrors.tds.net/gentoo ftp://mirrors.tds.net/gentoo http://mirror.tucdemonic.org/gentoo/" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="ppc X a52 aac aalib alsa altivec arts berkdb bitmap-fonts cddb cdf cdparanoia cdr crypt cups curl dts dv dvd dvdr dvdread emboss encode esd f77 fam fbcon ffmpeg flac foomaticdb fortran gd gdbm ggi gif gpm graphviz gstreamer gtk gtk2 hal ieee1394 imagemagick imlib imlib2 ipv6 java jbig jpeg jpeg2k kde kdexdeltas lcms libwww live lzo mad mikmod mjpeg motif mp3 mpeg ncurses netcdf network nls nptl ogg oggvorbis openexr opengl oss pam pdflib perl plotutils png ppds python qt rdesktop readline samba sdl slang slp spell ssl szip tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode vorbis wmf xine xml xml2 xmms xv xvid zeroconf zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
Just a note to the firefox "problem": That's why it depends on mozilla only, so this is no bug at all.
Didn't notice we now have a firefox use flag. Some ebuild seem not to care too much wether what you have is mozilla, gecko-sdk or firefox. Or is it changing?
Ok, I see the point of confusion now, somewhere in between I seem to have "lost" the dependency on mozilla, crap. Correcting this now. The mozilla use-flag really needs mozilla, it does not work with firefox atm.
Back to the PPC-problems: This really looks like the same problem we had with 1.1.x (which is solved by STLport-vector.patch). You state that this patch has been ported to 2.0, do you have a link, where we can find this?
Yeah, this looks like the same bug I fixed before for 1.1.4. I'll take a look at it once I free up some disk space. :)
(In reply to comment #4) > Back to the PPC-problems: This really looks like the same problem we had with > 1.1.x (which is solved by STLport-vector.patch). You state that this patch has > been ported to 2.0, do you have a link, where we can find this? I don't have one per see. I have seen it being mentionned on Mac OSX here: http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=11815&highlight=stlport#11815 and there: http://porting.openoffice.org/servlets/ReadMsg?list=dev&msgId=2130631 but that's more focused on X11 on mac OSX. I guess you could "bug" :) Eric Bachard (see second link) about it since he apparently runs things both on mac OSX and linux ppc.
Actually STLport is an external component of openoffice. You should look which particular version is used, and can normally just use the patches the the stlport ebuild uses for ppc. The STLport used in openoffice, does have some patches applied to it specific to openoffice, but those are mainly (if not only) build system related. btw. The patch can be found at: /usr/portage/dev-libs/STLport/files/STLport-vector.patch Although it puzzles me why it works as it only disables some debugging definition.
the problem is due the vector keyword that is both used in the C++ code and as altivec type
Anything new to report here? Would be great if we could add this pre-2.0. ;)
(In reply to comment #9) > Anything new to report here? Would be great if we could add this pre-2.0. ;) Well it still doesn't build on ppc. I will be testing the ppc version of kubuntu soon. I know that on x86 they have a pre-release of OOo2, I wonder if they do on ppc as well. Which would mean they have a patch already.
Had a look at OOo2 on kubuntu ppc and it is there and working. I couldn't find our bug on ubuntu bugzilla so I presume it has been fixed upstream in debian.
I've added the fix for the stlport issue to the ebuild now, please test if the build succeeds after that
(In reply to comment #12) > I've added the fix for the stlport issue to the ebuild now, please test if the > build succeeds after that In the portage tree there is now the rc3 version. Does your patch apply to this ebuild too? Meanwhile I started compiling...
(In reply to comment #13) > > In the portage tree there is now the rc3 version. Does your patch apply to this > ebuild too? > Meanwhile I started compiling... The patch is in RC3 (only), so the answer is: yes
(In reply to comment #12) > I've added the fix for the stlport issue to the ebuild now, please test if the > build succeeds after that Just tried after a fresh emerge sync. I did pull rc3 sources and all that but the build failed in stlport in exactly the same place with the same error message (rc 2 and m2 being replaced by rc3 and m3 of course). I looked at your patch and what exactly the build process was doing when it broke. Your patch if I am correct just removed -D_STLP_DEBUG from some compiler options. At the stage things break a version of presumably stlport has just been built without debugging flags. Then "we" proceed to build a second version of the same thing with debugging flags (including -D_STLP_DEBUG that you removed from several places but not this one apparently) enabled and put it in a separate directory. After some compilation experiments it is really the -D_STLP_DEBUG that cause the problem. After further investigations I think you are patching the wrong file. I think we use gcc-3.0.mak and not gcc-linux.mak : mkdir: cannot create directory `./unxlngppc.pro/misc/build/STLport-4.5/src': File exists cd ./unxlngppc.pro/misc/build/STLport-4.5/src && make -f gcc-3.0.mak -j1 && touch so_built_so_stlport Which would explain why the patch didn't have any effect. I lake know how to fix it by myself.
Gah, that would explain why it compiles by hand. :p Sorry suka. I missed that.
I've updated the patch now to also remove -D_STLP_DEBUG from gcc-3.0.mak, hope this is sufficient now. Please try, the final release should be soon, so it would be nice to get that upstream before that. @JoseJX: Any other files you forgot to tell me about? ;)
Well done, folks! After 16 hours of compiling, this is the result on my 1.5GHz Mac Mini: Build succeeded ...! touch stamp/build >>> Test phase [not enabled]: app-office/openoffice-2.0.0_rc3 >>> Install openoffice-2.0.0_rc3 into /var/tmp/portage/openoffice-2.0.0_rc3/image/ category app-office [...] *** * To start OpenOffice.org, run: * * $ ooffice2 * * Also, for individual components, you can use any of: * * oobase2, oocalc2, oodraw2, oofromtemplate2, ooimpress2, oomath2, * ooweb2 or oowriter2 >>> Regenerating /etc/ld.so.cache... >>> app-office/openoffice-2.0.0_rc3 merged. >>> Recording app-office/openoffice in "world" favorites file... ------ And as far as I could check, it works! I think ~ppc flag could be added.
Great! Fix is already upstream, so we look good for the final release :)
I can confirm it's fixed now, thanks suka.
I've been pounding on 2.0.0_rc3 for a couple days now, I'll echo tmazonni's suggestion that it get a ~ppc so it will be ready for testing when globally unmasked.
OpenOffice.org 2.0.0 is already marked ~ppc and is already unmasked. :)