Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Jan 2008 20:03:56 -0600
From:      Stephen Montgomery-Smith <stephen@math.missouri.edu>
To:        Thomas-Martin Seck <tmseck-lists@netcologne.de>
Cc:        Garrett Cooper <youshi10@u.washington.edu>, freebsd-ports@freebsd.org
Subject:   Re: openoffice package requires libstdc++.so.6
Message-ID:  <4789718C.7060400@math.missouri.edu>
In-Reply-To: <200801130128.m0D1SlOR063239@hardy.tmseck.homedns.org>
References:  <200801130128.m0D1SlOR063239@hardy.tmseck.homedns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Thomas-Martin Seck wrote:
> * Garrett Cooper <youshi10@u.washington.edu> [gmane.os.freebsd.devel.ports]:
> 
>>> Jason C. Wells wrote:
>>>> The prebuilt package openoffice-2.3.1 requires libstdc++.so.6.   
>>>> FreeBSD 6.3 has libstdc++.so.5.
>>>> I have always rolled my own and am unfamiliar with packages.  This  
>>>> particular package would appear to have been built against a  
>>>> librart version that is not installed on FreeBSD-6.  If I have  
>>>> somehow erred, please point out my error.
>>>> Is this package buggy?
>>>> Shouldn't packages link against /usr/lib/libstdc++.so and so  
>>>> follow the softlinks that the system provides?
>>>> On my system:
>>>> $ openoffice.org-2.3.1-scalc
>>>> /libexec/ld-elf.so.1: Shared object "libstdc++.so.6" not found,  
>>>> required by "javaldx"
>>>> /libexec/ld-elf.so.1: Shared object "libstdc++.so.6" not found,  
>>>> required by "pagein"
>>>> /libexec/ld-elf.so.1: Shared object "libstdc++.so.6" not found,  
>>>> required by "soffice.bin"
>>>> $ ls -la /usr/lib/libstdc++*
>>>> -r--r--r--  1 root  wheel  1585324 Jan 11 05:55 /usr/lib/libstdc++.a
>>>> lrwxr-xr-x  1 root  wheel       14 Jan 11 05:55 /usr/lib/libstdc+ 
>>>> +.so -> libstdc++.so.5
>>>> -r--r--r--  1 root  wheel   803928 Jan 11 05:55 /usr/lib/libstdc+ 
>>>> +.so.5
>>>> -r--r--r--  1 root  wheel  1577098 Jan 11 05:55 /usr/lib/libstdc+ 
>>>> +_p.a
>>>> Thanks,
>>>> Jason
>>
>> Did you install OpenOffice from a package? libstdc++.so.6 comes with  
>> gcc-3.4+ by default, so why isn't your system finding it...?
> 
> Well, because it's not part of the base system on 6.x and the OP does
> not have the required gcc variant installed because it was not pulled in
> as a dependency of the Ooo package.
> 
> Currently USE_GCC only sets a build but not a runtime dependency. Thus
> every package of a port that requires a non-default gcc runtime
> environment (i.e. libstdc++ and/or libgfortran) lacks this dependency
> information and is thus unusable.

And as I said earlier in my (unfortunately top-posted) message, this 
could be easily fixed by something like

perl -i.bak -lne \
'print;print if \!/^\#/ && s/\bBUILD_DEPENDS/RUN_DEPENDS/g' \
/usr/ports/Mk/bsd.gcc.mk



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4789718C.7060400>