[Libreoffice] environ not found

Thomas Klausner wiz at NetBSD.org
Sat May 21 06:17:41 PDT 2011


On Thu, May 19, 2011 at 04:29:34PM +0100, Michael Meeks wrote:
> 
> On Wed, 2011-05-18 at 17:13 +0200, Thomas Klausner wrote:
> > Does this ring a bell for anyone?
> ..
> > cp -f batch.bat ../../../unxbsdx3.pro/bin/batch.bat
> > Making:    libosl_process.so
> > ../../../unxbsdx3.pro/slo/osl_process.o: In function `read_parent_environment(std::vector<std::string, rtl::Allocator<std::string> >*)':
> > osl_process.cxx:(.text+0x416): undefined reference to `environ'
> > osl_process.cxx:(.text+0x4a0): undefined reference to `environ'
> > dmake:  Error code 1, while making '../../../unxbsdx3.pro/lib/libosl_process.so'
> > Retrying /disk/2/archive/libreoffice/sal/qa/osl/process
> 
> > And nm on /usr/lib/crt0.o reports:
> 
> 	Hmm; are we linking with crt0.o though ? :-) at least on Linux our C
> library exports that symbol:

That might be the issue...

> $ objdump -T /lib/libc.so.6 | grep environ
> 0016ad60  w   DO .bss	00000004  GLIBC_2.0   _environ
> 0016ad60  w   DO .bss	00000004  GLIBC_2.0   environ
> 0016ad60 g    DO .bss	00000004  GLIBC_2.0   __environ
> 
> 	Sounds like a normal, nasty portability problem ;-)
> 
> 	Why is it a new one though ? what changed ?

I haven't built for quite some time now, and I see that there were
quite a few changes to that file this year already...
It seems like a linkage issue.

I have been told that it's probably caused by building a shared
library with -Wl,-z,defs. On NetBSD-current one can supposedly use
-Wl,--ignore-unresolved-symbol,environ to work around this issue.
 Thomas


More information about the LibreOffice mailing list