Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 122788 - OpenOffice only works when its parent compiler is there
Summary: OpenOffice only works when its parent compiler is there
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-14 05:56 UTC by Fritz Heinrichmeyer
Modified: 2008-09-16 05:14 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 Fritz Heinrichmeyer 2006-02-14 05:56:07 UTC
I compiled openoffice-2.0.1 with gcc-4.0.1 and am happy with it. Now i am recompiling some legacy software with gcc-3.4.5 in the background and would like to create a new document with openoffice in the foreground, but OO misses
libstdc++.so.6.

/usr/lib/openoffice/program/soffice.bin: /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6: version `CXXABI_1.3.1' not found (required by /usr/lib/openoffice/program/soffice.bin)

so i have to wait until gcc-3.4.5 has done its work ....
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-02-14 06:03:20 UTC
Eh? So - let me clarify this; you've unmerged gcc-4.0, emerged gcc-3.4.5 and are wondering why the stuff compiled with gcc-4 stopped working? Hmmmm...
Comment 2 Fritz Heinrichmeyer 2006-02-14 06:13:07 UTC
(In reply to comment #1)
> Eh? So - let me clarify this; you've unmerged gcc-4.0, emerged gcc-3.4.5 and
> are wondering why the stuff compiled with gcc-4 stopped working? Hmmmm...
> 

Frankly yes, i wonder,

In the real world, programs generally should even work without a compiler installed at all :-) 

No other c++-program i tried stopped working, btw. (kde, inkscape come to mind ...).

This should count as gentoo-bug
Comment 3 Fritz Heinrichmeyer 2006-02-14 06:14:14 UTC
(In reply to comment #1)
> Eh? So - let me clarify this; you've unmerged gcc-4.0, emerged gcc-3.4.5 and
> are wondering why the stuff compiled with gcc-4 stopped working? Hmmmm...
> 

no not *emerge*, i only switched compiler with gcc-config !!!!

Comment 4 Fritz Heinrichmeyer 2006-02-14 06:17:01 UTC
(In reply to comment #1)
> Eh? So - let me clarify this; you've unmerged gcc-4.0, emerged gcc-3.4.5 and
> are wondering why the stuff compiled with gcc-4 stopped working? Hmmmm...
> 

sorry i did not express myself cleary:

with compiler beeing there i meant 

compiler activated with gcc-config
Comment 5 Fritz Heinrichmeyer 2006-02-14 07:30:56 UTC
maybe one has to live with it but it is at least surprising
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-02-14 07:41:57 UTC
(In reply to comment #2)
> Frankly yes, i wonder,
> 
> In the real world, programs generally should even work without a compiler
> installed at all :-) 

Erm, gcc provides kinda more stuff than just a compiler (like libstdc++, e.g.)

(In reply to comment #5)
> maybe one has to live with

Indeed, gcc-3.4.5 doesn't have CXXABI 1.3.1; ABIs in different major gcc versions are not generally too much forwards-compatible... :)
Comment 7 Paul de Vrieze (RETIRED) gentoo-dev 2006-02-14 09:20:14 UTC
Aparently the 4.x C++ abi is supposed to be backwards compatible with the 3.4.5 one. Of course it is not forward compatible. To allow this backward compatibility the soname did not change. It is however not forward compatible :-(. There is not much you can do about it except bugger the dynamic linker to try the proper library (by using 'LD_LIBRARY_PATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/4.0.1/" ooffice')
Comment 8 Andreas Proschofsky (RETIRED) gentoo-dev 2006-02-21 03:03:44 UTC
Nothing we can do here, closing
Comment 9 DEMAINE Benoît-Pierre, aka DoubleHP 2007-01-15 15:52:36 UTC
I am having this problem likely in the same situation: just after moving from gcc3 to 4.

I did not remove any package, and I dont have OOo working "foreground". I am "only" trying to emerge ;)

I ask a REOPEN

here come new peaces of info:

** bug:
Checking DLL ../unxlngi6.pro/lib/check_libucbhelper3gcc3.so ...: ERROR: /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6: version `CXXABI_1.3.1' not found (required by ../unxlngi6.pro/lib/check_libucbhelper3gcc3.so)
dmake:  Error code 1, while making '../unxlngi6.pro/lib/libucbhelper3gcc3.so'
'---* tg_merge.mk *---'

*** emerge:
root@moon_gen:~# emerge -vp app-office/openoffice
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R   ] app-office/openoffice-2.0.4  USE="binfilter branding cups dbus eds firefox gnome gstreamer gtk java kde pam -cairo -debug -ldap -odk -sound -webdav" LINGUAS="en fr -af -ar -be_BY -bg -bn -bs -ca -cs -cy -da -de -el -en_GB -en_US -en_ZA -es -et -fa -fi -gu_IN -he -hi_IN -hr -hu -it -ja -km -ko -lt -lv -mk -nb -nl -nn -nr -ns -pa_IN -pl -pt -pt_BR -ru -rw -sh_YU -sk -sl -sr_CS -st -sv -sw_TZ -th -tn -tr -ts -vi -xh -zh_CN -zh_TW -zu" 0 kB

*** gcc
root@moon_gen:~# gcc-config -l
 [1] i686-pc-linux-gnu-3.3.6
 [2] i686-pc-linux-gnu-3.3.6-hardened
 [3] i686-pc-linux-gnu-3.3.6-hardenednopie
 [4] i686-pc-linux-gnu-3.3.6-hardenednopiessp
 [5] i686-pc-linux-gnu-3.3.6-hardenednossp
 [6] i686-pc-linux-gnu-3.4.6
 [7] i686-pc-linux-gnu-3.4.6-hardened
 [8] i686-pc-linux-gnu-3.4.6-hardenednopie
 [9] i686-pc-linux-gnu-3.4.6-hardenednopiessp
 [10] i686-pc-linux-gnu-3.4.6-hardenednossp
 [11] i686-pc-linux-gnu-4.1.1 *

*** equery
root@moon_gen:~# equery b /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6
[ Searching for file(s) /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6 in *... ]
sys-devel/gcc-3.4.6-r2 (/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6 -> libstdc++.so.6.0.3)

*** *** ***

I also notice in the logs:
        gcc to use:         from system
        force gcc33:        no
 Path:       '/mnt/big/portage/app-office/openoffice-2.0.4/work/ooo/build/bin:/opt/blackdown-jdk-1.4.2.03/bin:/us
r/qt/3/bin:/usr/local/sbin:/sbin:/usr/sbin:/usr/lib/portage/bin:/usr/local/bin:/bin:/usr/bin:/opt/bin:/usr/i686-p
c-linux-gnu/gcc-bin/4.1.1:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/sbin:/
usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/sbin:/usr/kde/3.4/bin:/mnt/big/portage/app-office/openoffice-2.0.4/wor
k/ooo/bin'
buildfix-gcc-4.1.2-NULL.diff: testing...( patch -l -p0  -d /mnt/big/portage/app-office/openoffice-2.0.4/work/ooo/
build/OOO_2_0_4 --dry-run ) < /mnt/big/portage/app-office/openoffice-2.0.4/work/ooo/patches/src680/./buildfix-gcc
-4.1.2-NULL.diff
copy gcc4-visibility-sc.diff -> /mnt/big/portage/app-office/openoffice-2.0.4/work/ooo/build/OOO_2_0_4/applied_pat
ches/112-gcc4-visibility-sc.diff

So it uses gcc-4.1.1, and applies some patches for 4.1.2 (should be harmless), and it does specifically 4.x detection !

so, to me, the question is: why does it tends to use bits of gcc3 ?

a bit further in the logs:
Making: ../../unxlngi6.pro/slo/locale.obj
gcc -fmessage-length=0 -c -Os -fno-strict-aliasing [...] -DUNIX -DCPPU_ENV=gcc3 -DGXX_INCLUDE_PATH=/usr/lib/gcc/i686-pc-lin
ux-gnu/4.1.1/include/g++-v4

Thats strange to me.

Seems like there are several components, and they use different ./configure. But why would it force some bits to gcc3 ? I think there may be broken scripts around. Maybe removing gcc3 will help/fix ? feedback within days.


Comment 10 DEMAINE Benoît-Pierre, aka DoubleHP 2007-01-15 15:56:08 UTC
Let's come back to the bug logs:

Checking DLL ../unxlngi6.pro/lib/check_libucbhelper3gcc3.so ...: ERROR: /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libs
tdc++.so.6: version `CXXABI_1.3.1' not found (required by ../unxlngi6.pro/lib/check_libucbhelper3gcc3.so)
dmake:  Error code 1, while making '../unxlngi6.pro/lib/libucbhelper3gcc3.so'

How can it dare use /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/ when the selected profile is i686-pc-linux-gnu-4.1.1 ???

This bug could be renamed: OOo compile using two compilers, both the selected profile, and a randomly choosen one.

Next test: uninstall 3.4.* and see whats up ...
Comment 11 DEMAINE Benoît-Pierre, aka DoubleHP 2007-01-16 11:31:19 UTC
Solution for me:
emerge -C =sys-devel/gcc-3.4.6-r2 =sys-devel/gcc-3.3.6-r1

then:
1168929408:  === (1 of 1) Post-Build Cleaning (app-office/openoffice-2.0.4::/usr/portage/app-office/openoffice/openoffice-2.0.4.ebuild)
1168929408:  ::: completed emerge (1 of 1) app-office/openoffice-2.0.4 to /
1168929408:  *** Finished. Cleaning up...
1168929412:  *** exiting successfully.

hehe :)

Removing all gcc3 allows successfull emerge OOo, but, as you imagine, have LOADS of side effects (see GCC upgrade tutos)

So, this is not a fix, but still, it's a tip that can help people to compile OOo on their box. It is the proof that after switching GCC, there is something wrong, either about OOo scripts, or gcc-config/revdep-rebuild not doing everything. It should be a strat point for further searches.
Comment 12 DEMAINE Benoît-Pierre, aka DoubleHP 2007-01-19 19:52:30 UTC
Note that after removing compleetely GCC3, I could compile both 2.0.4 and 2.1.0

Please remember that removing GCC3 has loads of side effect, and you should not run emerge -C before reading forums and tutos on the topic. A simple revdep-rebuild is not enought at all.
Comment 13 John (EBo) David 2008-09-16 05:14:15 UTC
Here are the steps I just used to fix the problem, and I hope side-skipping the issues of removing old versions of GCC:

1) update the compiler (and glibc, glib just in case *anything* builds static)

2) use gcc-config to select your new version as default

3) emerge -e world
     ... wait ... for ... days... 

while the complete rebuild of my system is not yet complete, somewhere in the dependacies stuff was rebuilt and fixed the problem.

I would be curious if thanyone sees a problem with this solution.  I actually do an "emerge -e world" about once a year to get anything sorted out that revdep-rebuild might have missed (which has happened in the past).

  EBo --