Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 135249 - Openoffice.org 2.0* does not build on PPC with gcc 4.1
Summary: Openoffice.org 2.0* does not build on PPC with gcc 4.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: PPC Porters
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-02 03:38 UTC by Santiago Gala
Modified: 2006-06-09 03:22 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Santiago Gala 2006-06-02 03:38:06 UTC
cd ../../unxlngppc.pro/lib &&  regcomp -register -br uno_types.rdb -r uno_services.rdb\
        -c acceptor.uno.so \
        -c bridgefac.uno.so \
        -c connector.uno.so \
        -c remotebridge.uno.so \
        -c uuresolver.uno.so \
        -c bridgetest.uno.so \
        -c cppobj.uno.so \
        -c uriproc.uno.so
register component 'acceptor.uno.so' in registry 'uno_services.rdb' succesful!
register component 'bridgefac.uno.so' in registry 'uno_services.rdb' succesful!
register component 'connector.uno.so' in registry 'uno_services.rdb' succesful!
register component 'remotebridge.uno.so' in registry 'uno_services.rdb' succesful!
register component 'uuresolver.uno.so' in registry 'uno_services.rdb' succesful!register component 'bridgetest.uno.so' in registry 'uno_services.rdb' succesful!register component 'cppobj.uno.so' in registry 'uno_services.rdb' succesful!
register component 'uriproc.uno.so' in registry 'uno_services.rdb' succesful!
regcomp -register -br ../../unxlngppc.pro/lib/uno_types.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb \
        -c javaloader.uno.so -c javavm.uno.so
register component 'javaloader.uno.so' in registry '../../unxlngppc.pro/lib/uno_services.rdb' succesful!
register component 'javavm.uno.so' in registry '../../unxlngppc.pro/lib/uno_services.rdb' succesful!
regcomp -register  -br ../../unxlngppc.pro/misc/bridgetest/bootstrap.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb -c \
        file:///var/tmp/portage/openoffice-2.0.1-r1/work/ooo-build-2.0.1.3/build/ooa680-m1/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar \
        -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.1-r1/work/ooo-build-2.0.1.3/build/ooa680-m1/solver/680/unxlngppc.pro/bin
using loader com.sun.star.loader.Java2
[Java framework]sunjavaplugin.so could not load Java runtime library:
file:///opt/ibm-jdk-bin-1.4.2.05/jre/bin/classic/libjvm.so.register component 'file:///var/tmp/portage/openoffice-2.0.1-r1/work/ooo-build-2.0.1.3/build/ooa680-m1/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar' in registry '../../unxlngppc.pro/lib/uno_services.rdb' failed!
error (CannotRegisterImplementationException): Could not create Java implementation loader
dmake:  Error code 1, while making '../../unxlngppc.pro/lib/uno_services.rdb'
dmake:  '../../unxlngppc.pro/lib/uno_services.rdb' removed.
'---* tg_merge.mk *---'

ERROR: Error 65280 occurred while making /var/tmp/portage/openoffice-2.0.1-r1/work/ooo-build-2.0.1.3/build/ooa680-m1/testtools/source/bridgetest
make: *** [stamp/build] Error 1

!!! ERROR: app-office/openoffice-2.0.1-r1 failed.
Call stack:
  ebuild.sh, line 1531:   Called dyn_compile
  ebuild.sh, line 931:   Called src_compile
  openoffice-2.0.1-r1.ebuild, line 214:   Called die

!!! Build failed
!!! If you need support, post the topmost build error, and the call stack if relevant.


My emerge --info:
 emerge --info
Portage 2.1_rc3-r3 (default-linux/ppc/ppc32/2006.0/G4, gcc-4.1.1, glibc-2.4-r3, 2.6.16-ck11 ppc)
=================================================================
System uname: 2.6.16-ck11 ppc 7455, altivec supported
Gentoo Base System version 1.12.0
dev-lang/python:     2.2.3-r6, 2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r4
ACCEPT_KEYWORDS="ppc ~ppc"
AUTOCLEAN="yes"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=7450 -maltivec -mabi=altivec -pipe -ftree-vectorize -ftree-vectorizer-verbose=1 -fPIC -fno-strict-aliasing"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/bind"
CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -mcpu=7450 -maltivec -mabi=altivec -pipe -ftree-vectorize -ftree-vectorizer-verbose=1 -fPIC -fno-strict-aliasing"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://mirror.usu.edu/mirrors/gentoo/ http://mirror.mcs.anl.gov/pub/gentoo/ http://gentoo.inode.at/ http://trumpetti.atm.tut.fi/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.heanet.ie/pub/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://linuv.uv.es/mirror/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ http://ibiblio.org/pub/Linux/MIRRORS.html "
LANG="es_ES.UTF-8"
LC_ALL="es_ES.UTF-8"
LINGUAS="es_ES es en_US en_GB"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/xgl-coffee /usr/local/xgl-testing"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="ppc X aac accessibility alsa altivec apache2 apm arts avahi berkdb bitmap-fonts bluetooth bonobo bzip2 cairo cdr cjk cli crypt cups curl dbus dri dv dvd dvdr dvdread eds emacs emboss encode esd fbcon firefox foomaticdb fortran gdbm gif glitz gmp gnome gpm gstreamer gtk gtk2 gtkhtml hal icq imlib insecure-savers ipv6 isdnlog jabber java jpeg jython kde lcms ldap libg++ libwww mad mikmod mono motif mozcalendar mozilla mozsvg mp3 mpeg ncurses nls nptl ogg opengl pam pcmcia pcre pdflib perl pic png pnp pppd python qt quicktime readline reflection ruby sasl sdl session spell spl ssl svg tcpd theora threads truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vorbis xinerama xml xml2 xmms xorg xosd xv xvid yahoo zeroconf zlib dvb_cards_usb-wt220u dvb_cards_usb-dtt200u elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_es_ES linguas_es linguas_en_US linguas_en_GB userland_GNU video_cards_ati video_cards_radeon"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Santiago Gala 2006-06-02 03:46:30 UTC
I forgot to mention that I needed to add a 

# define _STLP_STRICT_ANSI 1

in /var/tmp/portage/openoffice-2.0.1-r1/work/ooo-build-2.0.1.3/build/OOO_2_0_1/stlport/unxlngppc.pro/misc/build/STLport-4.5/stlport/config/stl_gcc.h
or the respective file in 2.0.2* to avoid a compilation error with gcc-4.1.1 

Not sure if anybody else sees this problem, or if it depends on CFLAGS.
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-06-02 04:23:26 UTC
Reopen if you can reproduce the thing after you've removed stuff like "-ftree-vectorize -ftree-vectorizer-verbose=1 -fPIC -fno-strict-aliasing" from your C[XX]FLAGS.
Comment 3 Santiago Gala 2006-06-02 09:40:45 UTC
first, -O2 (forced by the ebuild) implies -ftree-vectorize

second, -ftree-vectorizer-verbose is just dumping where it did something, not causing any effect

-fPIC should be harmless, in fact I had to use it because buggy ebuilds would generate .so without it, which is bad and gives problems in ppc

ditto for -fno-strict-aliasing, in fact it is in make.conf.example in portage, and was mandatory for ppc for a long time.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-06-02 09:49:21 UTC
(In reply to comment #3)
> first, -O2 (forced by the ebuild) implies -ftree-vectorize

No, it doesn't, check man gcc. In fact, it's pretty broken still, search bugzilla for related bugs.

> -fPIC should be harmless, in fact I had to use it because buggy ebuilds would
> generate .so without it, which is bad and gives problems in ppc

No, that's definitely not harmless and you shouldn't stick such stuff into make.conf at all. It's just hiding bugs and breaking things that expects -dPIC as well.

Look, reproduce the problem w/ sane C[XX]FLAGS and reopen then. 
Comment 5 Santiago Gala 2006-06-02 11:07:18 UTC
you're right WRT -ftree-vectorize, I was misled by the way -ftree-vect-loop-version and -ftree-vrp is written in the gcc-4.1.1 manual. I did some experiments, and empirical evidence is on your side :)

The compile is proceeding further, I sidestepped both errors, I'll test with the CFLAGS you mean if it does not build with the current ones.

WRT the "STRICT_ANSI" stuff, it should be independent of CXXFLAGS, it is a language syntax stuff, that gets triggered in stlport by gcc-4.1.1
Comment 6 Santiago Gala 2006-06-04 04:39:43 UTC
I hope this time you accept it:

cd ./unxlngppc.pro/misc/build/STLport-4.5/src && make -f gcc-3.0.mak -j1 && touch so_built_so_stlport
make[1]: Entering directory `/var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/stlport/unxlngppc.pro/misc/build/STLport-4.5/src'
mkdir -p ../lib/obj/GCCppc/ReleaseD
g++ -Wl,-Bdirect -D_REENTRANT -DGXX_INCLUDE_PATH=/usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/include/g++-v4 -fexceptions -I../stlport -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 -O2 -O2 -fPIC dll_main.cpp -c -o ../lib/obj/GCCppc/ReleaseD/dll_main.o
../stlport/cstdio:111: error: '__std_alias::vsnprintf' has not been declared
make[1]: *** [../lib/obj/GCCppc/ReleaseD/dll_main.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/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.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/stlport
make: *** [stamp/build] Error 1

!!! ERROR: app-office/openoffice-2.0.2-r2 failed.
Call stack:
  ebuild.sh, line 1539:   Called dyn_compile
  ebuild.sh, line 939:   Called src_compile
  openoffice-2.0.2-r2.ebuild, line 235:   Called die

!!! Build failed
!!! If you need support, post the topmost build error, and the call stack if relevant.

with emerge --info:

sgala@marlow ~ $ emerge --info
Portage 2.1_rc4-r1 (default-linux/ppc/ppc32/2006.0/G4, gcc-4.1.1, glibc-2.4-r3, 2.6.16-ck11 ppc)
=================================================================
System uname: 2.6.16-ck11 ppc 7455, altivec supported
Gentoo Base System version 1.12.0
dev-lang/python:     2.2.3-r6, 2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r4
ACCEPT_KEYWORDS="ppc ~ppc"
AUTOCLEAN="yes"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/bind"
CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://mirror.usu.edu/mirrors/gentoo/ http://mirror.mcs.anl.gov/pub/gentoo/ http://gentoo.inode.at/ http://trumpetti.atm.tut.fi/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.heanet.ie/pub/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://linuv.uv.es/mirror/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ http://ibiblio.org/pub/Linux/MIRRORS.html "
LANG="es_ES.UTF-8"
LC_ALL="es_ES.UTF-8"
LINGUAS="es_ES es en_US en_GB"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/xgl-coffee /usr/local/xgl-testing"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="ppc X aac accessibility alsa altivec apache2 apm arts avahi berkdb bitmap-fonts bluetooth bonobo browserplugin bzip2 cairo cdr cjk cli crypt cups curl dbus dri dv dvd dvdr dvdread eds emacs emboss encode esd fbcon firefox foomaticdb fortran gdbm gif glitz gmp gnome gpm gstreamer gtk gtk2 gtkhtml hal icq imlib insecure-savers ipv6 isdnlog jabber java jpeg jython kde lcms ldap libg++ libwww mad mikmod mono motif mozcalendar mozilla mozsvg mp3 mpeg ncurses nls nptl ogg opengl pam pcmcia pcre pdflib perl pic png pnp pppd python qt quicktime readline reflection ruby sasl sdl session spell spl ssl svg tcpd theora threads truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vorbis xinerama xml xml2 xmms xorg xosd xv xvid yahoo zeroconf zlib dvb_cards_usb-wt220u dvb_cards_usb-dtt200u elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_es_ES linguas_es linguas_en_US linguas_en_GB userland_GNU video_cards_ati video_cards_radeon"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS


The workaround is easy for this one:
--- /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/stlport/unxlngppc.pro/misc/build/STLport-4.5/stlport/config/stl_gcc.h  2006-06-04 13:38:00.000000000 +0200
+++ /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/stlport/unxlngppc.pro/misc/build/STLport-4.5/stlport/config/stl_gcc.h.mio     2006-06-04 13:37:19.000000000 +0200
@@ -226,7 +226,7 @@
 #    endif
 #   endif /* _STLP_WEAK_ATTRIBUTE */

-# define _STLP_STRICT_ANSI 1
+
 /* strict ANSI prohibits "long long" ( gcc) */
 #  if defined ( __STRICT_ANSI__ )
 #    undef _STLP_LONG_LONG


which should be probably conditionalized on >=gcc-4 (0 or 1, not sure).

done, restarted ebuild, waiting for the next failure
Comment 7 Santiago Gala 2006-06-04 04:43:45 UTC
re: comment #2

probably removing the line:
        append-flags "-fno-strict-aliasing"

from openoffice-2.0.1-r1 (current stable ebuild) would make sense, as you are ignoring bug requests including it.
Comment 8 Andreas Proschofsky (RETIRED) gentoo-dev 2006-06-04 05:04:25 UTC
(In reply to comment #7)
> re: comment #2
> 
> probably removing the line:
>         append-flags "-fno-strict-aliasing"
> 
> from openoffice-2.0.1-r1 (current stable ebuild) would make sense, as you are
> ignoring bug requests including it.
> 

Nobody is ignoring anything, what are you talking about?

Anyway, that's a case for the ppc-herd, as it works fine on x86 and can't reproduce this as I don't have the necessary hardware.

Still in advance, the first of your bugs seems like a regcomp-problem, which is indeed normally caused by CFLAGS-overoptimization.
Comment 9 Santiago Gala 2006-06-04 08:04:01 UTC
The regcomp thing, now without *any* CFLAGS except -O2 (as seen in my emerge --info:

cd ../../unxlngppc.pro/lib &&  regcomp -register -br uno_types.rdb -r uno_services.rdb\
        -c acceptor.uno.so \
        -c bridgefac.uno.so \
        -c connector.uno.so \
        -c remotebridge.uno.so \
        -c uuresolver.uno.so \
        -c bridgetest.uno.so \
        -c cppobj.uno.so \
        -c uriproc.uno.so \
        -c constructors.uno.so
register component 'acceptor.uno.so' in registry 'uno_services.rdb' succesful!
register component 'bridgefac.uno.so' in registry 'uno_services.rdb' succesful!
register component 'connector.uno.so' in registry 'uno_services.rdb' succesful!
register component 'remotebridge.uno.so' in registry 'uno_services.rdb' succesful!
register component 'uuresolver.uno.so' in registry 'uno_services.rdb' succesful!register component 'bridgetest.uno.so' in registry 'uno_services.rdb' succesful!register component 'cppobj.uno.so' in registry 'uno_services.rdb' succesful!
register component 'uriproc.uno.so' in registry 'uno_services.rdb' succesful!
register component 'constructors.uno.so' in registry 'uno_services.rdb' succesful!
regcomp -register -br ../../unxlngppc.pro/lib/uno_types.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb \
        -c javaloader.uno.so -c javavm.uno.so
register component 'javaloader.uno.so' in registry '../../unxlngppc.pro/lib/uno_services.rdb' succesful!
register component 'javavm.uno.so' in registry '../../unxlngppc.pro/lib/uno_services.rdb' succesful!
regcomp -register  -br ../../unxlngppc.pro/misc/bridgetest/bootstrap.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb -c \
        file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar \
        -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin
using loader com.sun.star.loader.Java2
register component 'file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar' in registry '../../unxlngppc.pro/lib/uno_services.rdb' failed!
error (RuntimeException): JNI exception occurred
dmake:  Error code 1, while making '../../unxlngppc.pro/lib/uno_services.rdb'
dmake:  '../../unxlngppc.pro/lib/uno_services.rdb' removed.
'---* tg_merge.mk *---'

ERROR: Error 65280 occurred while making /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest
make: *** [stamp/build] Error 1

!!! ERROR: app-office/openoffice-2.0.2-r2 failed.
Call stack:
  ebuild.sh, line 1539:   Called dyn_compile
  ebuild.sh, line 939:   Called src_compile
  openoffice-2.0.2-r2.ebuild, line 235:   Called die

!!! Build failed
!!! If you need support, post the topmost build error, and the call stack if relevant.

it took some time arriving here from the 4.1.1 error.
Comment 10 Santiago Gala 2006-06-05 00:56:08 UTC
I tried using different java VMs in the step that fails, and Sun's evaluation JRE was a bit more helpful than the other:

regcomp -register  -br ../../unxlngppc.pro/misc/bridgetest/bootstrap.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb -c \
        file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar \
        -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin
using loader com.sun.star.loader.Java2

Unexpected Signal sig 11, dumping state ...
Registers:
         0 [0x0ffbe30c] [0x7f9e2668] [0x3024df10] [0x0eb82a18]
         4 [0x3884ffd5] [0x00000000] [0x0fd6df10] [0x00000018]
         8 [0x00000000] [0x0eb99134] [0x00000030] [0x3001f0a0]
        12 [0x48044482] [0x37a04108] [0x7f9e2750] [0x1002c600]
        16 [0x7f9e2734] [0x7f9e2738] [0x7f9e2964] [0x10131fa0]
        20 [0x00000001] [0x00000000] [0x7f9e2773] [0x0000000c]
        24 [0x7f9e2730] [0x300039f0] [0x0eb9a320] [0x7f9e2694]
        28 [0x7f9e2698] [0x0eb82a18] [0x0ffc5c60] [0x30003a1c]

Frame: sp 0x7f9e2668 fp 0x7f9e2678 pc 0xfe0aaf4
        0x7f9e2668 [0x7f9e2678] [0x300039f0] [0x0eb9a320] [0x7f9e2694]

Instructions:
0x0fe0aad4 [0x4bffffc0]
0x0fe0aad8 [0x7fe3fb78]
0x0fe0aadc [0x3be00000]
0x0fe0aae0 [0x4bffd90d]
0x0fe0aae4 [0x4bffffbc]
0x0fe0aae8 [0x9421fff0]
0x0fe0aaec [0x7c801828]
0x0fe0aaf0 [0x38840001]
0x0fe0aaf4 [0x7c80192d]
0x0fe0aaf8 [0x40a2fff4]
0x0fe0aafc [0x4c00012c]
0x0fe0ab00 [0x7c832378]
0x0fe0ab04 [0x38210010]
0x0fe0ab08 [0x4e800020]
0x0fe0ab0c [0x9421fff0]
0x0fe0ab10 [0x7c801828]
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0x0fe0aaf4, pid=11824, tid=807692976
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_11-eval-b12 mixed mode)
# Problematic frame:
# C  [libuno_sal.so.3+0x1baf4]  osl_incrementInterlockedCount+0xc
#
# An error report file with more information is saved as hs_err_pid11824.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Abort


question is: this functions is written in assembly in

/var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/sal/osl/unx/interlck.c

can anyone with experience in C/assembly take a look in case there is something obvious there?
Comment 11 Hanno Zysik (geki) 2006-06-05 04:19:03 UTC
To get a more verbose JNI exception (with Java trace) for ibm-jdk use you could apply:
http://go-oo.org/patches/src680/jni-throw-exception.diff

---
The SIGSEGV happens if libgcc3_uno.so is built with '-fomit-frame-pointer'. At least for x86. This is also not reproducible. On some machines it happens on others not. That with identical arch/cpu! Well, just to note.
I know '-fomit-frame-pointer' flag is filtered. May be gcc-4.1.1 enables it with -'O2' now (for ppc)?!

To verify that it does or not you could apply:
http://go-oo.org/patches/src680/omit-fp-workaround.diff

It adds '-mno-omit-leaf-frame-pointer -fno-omit-frame-pointer' to build libgcc3_uno.so. So if '-O2' implies it these cut it off for sure.
Comment 12 Santiago Gala 2006-06-05 23:46:33 UTC
I tried with your patches, and I'm getting something interesting:

exactly the same result with ibm-jdk-bin-1.4.2.05:

regcomp -register  -br ../../unxlngppc.pro/misc/bridgetest/bootstrap.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb -c \
        file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar \
        -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin
using loader com.sun.star.loader.Java2
[Java framework]sunjavaplugin.so could not load Java runtime library:
file:///opt/ibm-jdk-bin-1.4.2.05/jre/bin/classic/libjvm.so.register component 'file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar' in registry '../../unxlngppc.pro/lib/uno_services.rdb' failed!
error (CannotRegisterImplementationException): Could not create Java implementation loader
dmake:  Error code 1, while making '../../unxlngppc.pro/lib/uno_services.rdb'
dmake:  '../../unxlngppc.pro/lib/uno_services.rdb' removed.
'---* tg_merge.mk *---'

No backtrace, same failure.
Now, when (after this failure), I do:

sgala@marlow /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest $ echo $JAVA_HOME
/opt/ibm-jdk-bin-1.4.2.05
sgala@marlow /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest $ export JAVA_HOME=/home/sgala/j2re1.4.2_11-eval
sgala@marlow /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest $ regcomp -register  -br ../../unxlngppc.pro/misc/bridgetest/bootstrap.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb -c         file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar         -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin
using loader com.sun.star.loader.Java2
register component 'file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar' in registry '../../unxlngppc.pro/lib/uno_services.rdb' succesful!
sgala@marlow /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest $ dmake
dmake: Executing shell macro: -+ls -1 $(JARDIR) | $(GREP) "^$i"
dmake: Executing shell macro: -+ls -1 $(JARDIR) | $(GREP) "^$i"
dmake: Executing shell macro: -+ls -1 $(JARDIR) | $(GREP) "^$i"
dmake: Executing shell macro: $(FIND) . -name "{$(subst,$($(WINVERSIONNAMES)_MAJOR),* $(subst,$(UPD)$(DLLPOSTFIX), $(SHL1TARGET)))}.xml"
dmake: Executing shell macro: $(FIND) . -name "{$(subst,$($(WINVERSIONNAMES)_MAJOR),* $(subst,$(UPD)$(DLLPOSTFIX), $(SHL2TARGET)))}.xml"
dmake: Executing shell macro: $(FIND) . -name "{$(subst,$($(WINVERSIONNAMES)_MAJOR),* $(subst,$(UPD)$(DLLPOSTFIX), $(SHL3TARGET)))}.xml"
-------------
cp -p bridgetest_inprocess ../../unxlngppc.pro/lib/bridgetest_inprocess
chmod +x ../../unxlngppc.pro/lib/bridgetest_inprocess
cp -p bridgetest_server ../../unxlngppc.pro/lib/bridgetest_server
chmod +x ../../unxlngppc.pro/lib/bridgetest_server
cp -p bridgetest_client ../../unxlngppc.pro/lib/bridgetest_client
chmod +x ../../unxlngppc.pro/lib/bridgetest_client
rm -f ../../unxlngppc.pro/lib/bridgetest_javaserver
echo java -classpath /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin/java_uno.jar:/var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin/ridl.jar:/var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin/jurt.jar:/var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin/juh.jar:/opt/ibm-jdk-bin-1.4.2.05/jre/lib/rt.jar:.:../class:../class/testComponent.jar \
                com.sun.star.comp.bridge.TestComponentMain \
                \""uno:socket,host=127.0.0.1,port=2002;urp;test"\" \
                > ../../unxlngppc.pro/lib/bridgetest_javaserver
chmod +x ../../unxlngppc.pro/lib/bridgetest_javaserver
rm -f ../../unxlngppc.pro/lib/bridgetest_inprocess_java
echo uno -ro uno_services.rdb -ro uno_types.rdb \
        -s com.sun.star.test.bridge.BridgeTest \
        -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin \
        -- com.sun.star.test.bridge.JavaTestObject > ../../unxlngppc.pro/lib/bridgetest_inprocess_java
chmod +x ../../unxlngppc.pro/lib/bridgetest_inprocess_java

i.e. switching to the Sun "evaluation" embedded JDK succeeds. Before, it gave the error about Hotspot that I posted. All is very strange.
Comment 13 Santiago Gala 2006-06-06 00:33:32 UTC
And this is with ibm-jdk-bin-1.5.0 (SR2). It uses the j9VM:

export JAVA_HOME=/opt/ibm-jdk-bin-1.5.0 sgala@marlow /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest $ regcomp -register  -br ../../unxlngppc.pro/misc/bridgetest/bootstrap.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb -c file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin
using loader com.sun.star.loader.Java2
Exception in thread "main" java.lang.ClassNotFoundException: com.sun.star.lib.unoloader.UnoClassLoader
        at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:963)
        at java.security.AccessController.doPrivileged(AccessController.java:274)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:487)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:604)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:561)
Caused by: java.util.zip.ZipException: invalid code lengths set
        at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:165)
        at sun.misc.Resource.getBytes(Resource.java:115)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:552)
        at java.net.URLClassLoader.access$400(URLClassLoader.java:119)
        at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:961)
        ... 4 more
register component 'file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar' in registry '../../unxlngppc.pro/lib/uno_services.rdb' failed!
error (RuntimeException): JNI exception occurred
sgala@marlow /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest $ export JAVA_HOME=/home/sgala/j2re1.4.2_11-eval
sgala@marlow /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest $ regcomp -register  -br ../../unxlngppc.pro/misc/bridgetest/bootstrap.rdb -r ../../unxlngppc.pro/lib/uno_services.rdb -c file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar -env:URE_INTERNAL_JAVA_DIR=file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/solver/680/unxlngppc.pro/bin
using loader com.sun.star.loader.Java2
register component 'file:///var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/testtools/source/bridgetest/../../unxlngppc.pro/class/testComponent.jar' in registry '../../unxlngppc.pro/lib/uno_services.rdb' succesful!

huh? (I can't understand it, really)
Comment 14 Andreas Proschofsky (RETIRED) gentoo-dev 2006-06-06 02:23:18 UTC
(In reply to comment #13)
> And this is with ibm-jdk-bin-1.5.0 (SR2). It uses the j9VM:
> 

ibm-jdk-bin-1.5.0 is known to break:

http://bugs.gentoo.org/show_bug.cgi?id=126105
Comment 15 Hanno Zysik (geki) 2006-06-06 02:26:27 UTC
@Andreas
That is fixed in SR1 of ibm-jdk-1.5.x

@Santiago
To summarise:

1. ibm-jdk-1.4.x error
This is due to bad CFLAGS?! You talked with Jakub.
Another thing you could check if 'strace solver/680/unx....pro/bin/javaldx' succeeds or fails.
And if not why.

2. sun-jdk success
gcc-4.1.1 enables -fomit-frame-pointer which the second patch workaround.

3. ibm-jdk-1.5.x error
Caused by: java.util.zip.ZipException: invalid code lengths set
Now how to find out what the CLASSPATH looks like.

ibm-jdk-1.5.x could just skip broken items in CLASSPATH.
Well, I just guess that this is a CLASSPATH issue.
But I saw such issues with sun-jdk fixed a long time ago.
Comment 16 Hanno Zysik (geki) 2006-06-06 02:32:45 UTC
@Andreas
See this bugreport at eclipse.org:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=115269
Comment 17 Andreas Proschofsky (RETIRED) gentoo-dev 2006-06-06 05:03:16 UTC
(In reply to comment #15)
> @Andreas
> That is fixed in SR1 of ibm-jdk-1.5.x
> 
Which unfortunately is not in the tree...
Comment 18 Pieter Van den Abeele (RETIRED) gentoo-dev 2006-06-06 05:16:36 UTC
I can reproduce comment #6 on PPC. Adding a -D_STLP_STRICT_ANSI in the CFLAGS does seem to fix it and gets me through the openoffice-2.0.2-r2 compile on PowerPC (With GCC4.1)  
Comment 19 Santiago Gala 2006-06-06 07:29:24 UTC
I am using ibm-jdk-bin 1.5.0 SR2 (local ebuild) and 1.4.5.05 (again local)

I noticed that the patch got overwritten, the one you gave me for -fno-omit-frame-pointer. (BTW, -fno-omit-leaf-frame-pointer is not legal in powerpc)

I applied the patch again, rebuilt libgcc3_uno.so, copied it to solver..., and the results are the same.

I'm still building after regcomp succeeded with the Sun jdk for embedded whatever. I'll report when it finishes (I need to CTRL-Z it from time to time, it is hot currently in Spain)
Comment 20 Santiago Gala 2006-06-08 04:23:36 UTC
I'm trying to summarize after a private exchange of emails with Hanno Meyer-Thurow and getting a mostly working OO.o with java:

- -D_STLP_STRICT_ANSI (either in CXXFLAGS or patching somewhere) enables stl, and thus full compilation using gcc-4.1.1

(this covers the title of this bug report, the rest seems to be about UNO/java related problems). I guess the maintainer should either rename this bug after patching the issue, or close this bug and let me open another one)

- gcc-4.1.1 enables -fomit-frame-pointer with -O2, at least. SIGSEGV and other UNO problems happen if libgcc3_uno.so is built with '-fomit-frame-pointer'. http://go-oo.org/patches/src680/omit-fp-workaround.diff tries to avoid it, and seems needed

- still, I had problems with IBM jdk-1.4.2, which I circumvented using
source /var/tmp/portage/openoffice-2.0.2-r2/work/ooo-build-2.0.2.11/build/OOO_2_0_2/LinuxPPCEnv.Set*
(or modifying parts of it to use the Sun jre for embedded to run regcomp)
bot in testtools and during the final install.

My working copy is so dirty that I'd say:
- consolidate the _STL_STRICT_ANSI stuff either in CXXFLAGS or patched
- consolidate the -fno-omit-frame-pointer either in CXXFLAGS or patched

Try again the new build, and check further problems with ibm-jdk-1.4.2.* 
Comment 21 Andreas Proschofsky (RETIRED) gentoo-dev 2006-06-08 14:57:24 UTC
(In reply to comment #20)
> - -D_STLP_STRICT_ANSI (either in CXXFLAGS or patching somewhere) enables stl,
> and thus full compilation using gcc-4.1.1

So i guess something like 

use ppc && append-flags "-D_STLP_STRICT_ANSI"

should be sufficient, right?

> - gcc-4.1.1 enables -fomit-frame-pointer with -O2, at least. SIGSEGV and other
> UNO problems happen if libgcc3_uno.so is built with '-fomit-frame-pointer'.
> http://go-oo.org/patches/src680/omit-fp-workaround.diff tries to avoid it, and
> seems needed

Actually we filter -fomit-frame-pointer in the 2.0.2-ebuilds, so I'm not sure why this happens with -r2.
Comment 22 Hanno Zysik (geki) 2006-06-08 15:22:57 UTC
(In reply to comment #21)
> Actually we filter -fomit-frame-pointer in the 2.0.2-ebuilds, so I'm not sure
> why this happens with -r2.

Again, the optimization level '-O2' implies it.
There is no need to add '-fomit-frame-pointer' to CFLAGS then. ;)
Comment 23 Andreas Proschofsky (RETIRED) gentoo-dev 2006-06-08 23:40:15 UTC
(In reply to comment #22)
> (In reply to comment #21)
> > Actually we filter -fomit-frame-pointer in the 2.0.2-ebuilds, so I'm not sure
> > why this happens with -r2.
> 
> Again, the optimization level '-O2' implies it.
> There is no need to add '-fomit-frame-pointer' to CFLAGS then. ;)
> 

Thanks, I can read ;) but that's not what I said... We FILTER not ADD it in the ebuild atm. It's just quite odd, that it's obviously not filtered just because it's implied on a plattform.

Anyway: I've added both fixes to the -r2 ebuild now, first through adding to the CFLAGS and second by using Hannos patch.
Comment 24 Santiago Gala 2006-06-09 03:22:25 UTC
Comment #21
>So i guess something like 
>
>use ppc && append-flags "-D_STLP_STRICT_ANSI"
>
>should be sufficient, right?

I guess it is a gcc-4.1 issue, but works for me. Cool, thanks.

I hope they will advance stlport version upstream, or patch it.

It would be really great if we could reuse icu, stlport, jpeg, db, ... from the distribution ebuilds, but I guess it is really a problem with a distribution oriented to source builds.

I think I'll reopen the java related problems when I have a clearer picture of it. The title (building with 4.1) is reported to work for a couple users.