Re: Compiling LibreOffice 4.1.2.3 on Solaris

2013-11-13 Thread Eric Bautsch
No, I haven't played with this any further. I'm intending to, but I was going to 
move the compile over to Solaris 11.1, that being obviously a more stable platform.


I have no idea if the lack of brackets or UDK_3_0_0 on its own is significant, 
but doing a quick pvs on other files (/opt/openoffice.org3/program/*, /usr/bin/* 
and /usr/lib/*.so) it seems that this behaviour is OK for libraries but not 
binaries:


   rpcsec.so:
libgss.so.1 (SUNW_1.2, SUNWprivate_1.1);
libnsl.so.1 (SUNW_0.7, SUNWprivate_1.1);
libc.so.1 (SUNW_1.23);
rpcsec.so.1;
SUNW_1.2;
SUNW_1.1;
SUNWprivate_1.1;
   straddr.so:
libnsl.so.1 (SUNWprivate_1.1, SYSVABI_1.3);
libc.so.1 (SUNW_1.19);
straddr.so.2;
SUNWprivate_2.1;


I'll let you know how I get on though and thanks for your help. Any and all 
pointers always welcome...


Eric


On 13/11/2013 11:32, Jan Holesovsky wrote:

Hi Eric,

Eric Bautsch píše v Pá 01. 11. 2013 v 19:57 +:


Yes, the command is pvs:
http://docs.oracle.com/cd/E19253-01/816-5165/pvs-1/

Did you get anywhere, or still stuck, please? :-)


And the output suggests that the versions are OK:
 bautsche@cressida $ pvs solver/unxsogi.pro/bin/idlc
 libm.so.2 (SUNW_1.1);
 libgcc_s.so.1 (GCC_3.0);
 libc.so.1 (SUNWprivate_1.1, SUNW_1.1, SUNW_0.9,
 SUNW_0.7, SYSVABI_1.3);
 libuno_sal.so.3 (LIBO_UDK_4.1, UDK_3.6, LIBO_UDK_4.0,
 PRIVATE_1.1, UDK_3
 _0_0);
 bautsche@cressida $ pvs
 solver/unxsogi.pro/lib/libuno_sal.so.3
 libgcc_s.so.1 (GCC_3.0);
 libsocket.so.1 (SUNW_1.1, SUNW_0.7);
 libnsl.so.1 (SUNW_0.7);
 libm.so.2 (SUNW_1.1);
 libpthread.so.1 (SUNW_1.1, SUNW_1.2, SUNW_0.9);
 libuno_sal.so.3;
 UDK_3_0_0;

[...]

Knowing nothing about Solaris - I wonder why the other libs have eg.
(SUNW_1.1) or (GCC_3.0), but libuno_sal.so.3 has nothing like that,
instead the UDK_3_0_0 etc. are each on a separate line as if it was a
library itself, or what?  Could that be the problem?

Regards,
Kendy



--
 
  

 /  .   Eric A. Bautsch
/--   __   _____
   / //   /  /
  (_/(___(__/   email: eric.baut...@pobox.com



smime.p7s
Description: S/MIME Cryptographic Signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: Compiling LibreOffice 4.1.2.3 on Solaris

2013-11-01 Thread Eric Bautsch
/2013 07:51, Stephan Bergmann wrote:

On 10/31/2013 01:25 PM, Eric Bautsch wrote:

I'm trying to compile LibreOffice 4.1.2.3 on Solaris 12 (build 26,
currently).

Note: don't get excited, I'm doing this in my spare time and Oracle
are in no way endorsing, supporting, or anything else'ing my efforts.

I've been using this thread for assistance and it's been a great help:
http://comments.gmane.org/gmane.comp.documentfoundation.libreoffice.devel/51422


Note that traditionally OOo had been building/working very well on Solaris, 
but these days there's only very little and seemingly occasional initiative to 
keep that up. Therefore, Solaris-specific code in LO likely keeps rotting over 
time.


At runtime, the idlc executable needs the libuno_sal.so.3 dynamic library to 
resolve the rtl_string_new symbol (and others). Therefore, idlc contains an 
RPATH (see readelf -d solver/unxsogi.pro/bin/idlc) so that it finds it *in 
an installation* ($ORIGIN/../../ure-link/lib, where in an installation idlc 
is in sdk/bin/ and libuno_sal.so.3 is in ure-link/lib/).


However, idlc is also called during the build, where idlc is in 
solver/unxsogi.pro/bin/ and libuno_sal.so.3 is in solver/unxsogi.pro/lib/. To 
make that work, idlc is called with an LD_LIBRARY_PATH that contains 
solver/unxsogi.pro/lib during the build. This is taken care of towards the end 
of solenv/gbuild/platform/com_GCC_defs.mk (gb_Helper_set_ld_path) and should 
work for Solaris.


To see what's going wrong, run make VERBOSE=t to see the command line of how 
exactly idlc is called to [build IDL] udkapi/com/sun/star/idl.


Stephan


I'm currently struggling with getting a working idlc compiled. Here's
what happens:

[build IDL] udkapi/com/sun/star/idl
ld.so.1: idlc: fatal: relocation error: file
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/bin/idlc:
symbol rtl_string_new: referenced symbol not found
/bin/sh: line 1: 8411: Killed
make[1]: ***
[/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/UnoApiPartTarget/udkapi/com/sun/star/idl.done]
Killed
gmake: *** [build] Error 2
bautsche@cressida $

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice



--
 
  

 /  .   Eric A. Bautsch
/--   __   _____
   / //   /  /
  (_/(___(__/   email: eric.baut...@pobox.com



smime.p7s
Description: S/MIME Cryptographic Signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: Compiling LibreOffice 4.1.2.3 on Solaris

2013-11-01 Thread Eric Bautsch

Yes, the command is pvs:
http://docs.oracle.com/cd/E19253-01/816-5165/pvs-1/

And the output suggests that the versions are OK:

   bautsche@cressida $ pvs solver/unxsogi.pro/bin/idlc
   libm.so.2 (SUNW_1.1);
   libgcc_s.so.1 (GCC_3.0);
   libc.so.1 (SUNWprivate_1.1, SUNW_1.1, SUNW_0.9, SUNW_0.7, SYSVABI_1.3);
   libuno_sal.so.3 (LIBO_UDK_4.1, UDK_3.6, LIBO_UDK_4.0, PRIVATE_1.1, UDK_3
   _0_0);
   bautsche@cressida $ pvs solver/unxsogi.pro/lib/libuno_sal.so.3
   libgcc_s.so.1 (GCC_3.0);
   libsocket.so.1 (SUNW_1.1, SUNW_0.7);
   libnsl.so.1 (SUNW_0.7);
   libm.so.2 (SUNW_1.1);
   libpthread.so.1 (SUNW_1.1, SUNW_1.2, SUNW_0.9);
   libuno_sal.so.3;
   UDK_3_0_0;
   UDK_3.1;
   UDK_3.2;
   UDK_3.3;
   UDK_3.4;
   UDK_3.5;
   UDK_3.6;
   UDK_3.7;
   UDK_3.8;
   UDK_3.9;
   UDK_3.10;
   UDK_3.11;
   LIBO_UDK_3.5;
   LIBO_UDK_3.6;
   LIBO_UDK_4.0;
   LIBO_UDK_4.1;
   PRIVATE_1.0;
   PRIVATE_1.1;
   PRIVATE_1.2;
   PRIVATE_textenc.1;
   PRIVATE_file.1;
   GLIBCXX_3.4;
   bautsche@cressida $



On 01/11/2013 15:22, Stephan Bergmann wrote:

On 11/01/2013 03:48 PM, Eric Bautsch wrote:

Output from LD_DEBUG=all ldd -r solver/unxsogi.pro/bin/idlc log 21
attached.


Unfortunately doesn't give a clue why the loader refuses to pick the symobls 
from libuno_sal.so.3.


The last idea I have is that there's something wrong with the symbol versions.


02205: file=libuno_sal.so.3; needed by solver/unxsogi.pro/bin/idlc
02205:
02205: find object=libuno_sal.so.3; searching
02205: search 
path=$ORIGIN/../../ure-link/lib:/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib 
(RUNPATH/RPATH from file solver/unxsogi.pro/bin/idlc)
02205: trying 
path=/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/bin/../../ure-link/lib/libuno_sal.so.3
02205: trying 
path=/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib/libuno_sal.so.3
libuno_sal.so.3 = 
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib/libuno_sal.so.3
02205: 
file=/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib/libuno_sal.so.3 
[ ELF ]; generating link map

02205: addr: 0xfe4e4000 size: 0x4e38c
02205: lmid: BASE lmco: 0x10
02205:
02205: version needed processing: file=solver/unxsogi.pro/bin/idlc
02205: file version
02205: libuno_sal.so.3 LIBO_UDK_4.1
02205: libuno_sal.so.3 UDK_3.6
02205: libuno_sal.so.3 LIBO_UDK_4.0
02205: libuno_sal.so.3 PRIVATE_1.1
02205: libuno_sal.so.3 UDK_3_0_0


indicates that idlc does expect to see versioned symbols from libuno_sal.so.3, 
but I forgot what the Solaris command is to see what versions the symbols 
exported/required by an object should have (psv? pvs? something like that), 
and whether there's an LD_DEBUG argument in addition to all on Solaris to 
make it output information about symbol resolution version mismatch.


Stephan
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice



--
 
  

 /  .   Eric A. Bautsch
/--   __   _____
   / //   /  /
  (_/(___(__/   email: eric.baut...@pobox.com



smime.p7s
Description: S/MIME Cryptographic Signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Compiling LibreOffice 4.1.2.3 on Solaris

2013-10-31 Thread Eric Bautsch

Hi All.

I'm trying to compile LibreOffice 4.1.2.3 on Solaris 12 (build 26, currently).

   Note: don't get excited, I'm doing this in my spare time and Oracle are in
   no way endorsing, supporting, or anything else'ing my efforts.

I've been using this thread for assistance and it's been a great help: 
http://comments.gmane.org/gmane.comp.documentfoundation.libreoffice.devel/51422


I'm currently struggling with getting a working idlc compiled. Here's what 
happens:

   [build IDL] udkapi/com/sun/star/idl
   ld.so.1: idlc: fatal: relocation error: file
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/bin/idlc:
   symbol rtl_string_new: referenced symbol not found
   /bin/sh: line 1: 8411: Killed
   make[1]: ***
   
[/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/UnoApiPartTarget/udkapi/com/sun/star/idl.done]
   Killed
   gmake: *** [build] Error 2
   bautsche@cressida $

I think rtl_string_new is defined in include/rtl/string.h, but I can't see where 
the function is actually coming from (running a find -exec grep across the code).


Here's the compile command for idlc:

   S=/export/home/bautsche/libre-office/libreoffice-4.1.2.3 
   O=$S/solver/unxsogi.pro  W=$S/workdir/unxsogi.pro   mkdir -p
   $W/LinkTarget/Executable/  g++ '-Wl,-rpath,$ORIGIN/../../ure-link/lib'
   -Wl,-rpath,$O/lib -Wl,-rpath-link,$O/lib -Wl,-rpath-link,/lib:/usr/lib
   -Wl,-z,combreloc -L$O/lib -L/usr/lib -L/usr/local/bin -L/usr/dt/lib
   -L/usr/openwin/lib  -Wl,--hash-style=gnu -Wl,--dynamic-list-cpp-new
   -Wl,--dynamic-list-cpp-typeinfo -Wl,-Bsymbolic-functions  -Wl,-O1
   $W/CxxObject/idlc/source/idlcmain.o $W/CxxObject/idlc/source/idlc.o
   $W/CxxObject/idlc/source/idlccompile.o
   $W/CxxObject/idlc/source/idlcproduce.o
   $W/CxxObject/idlc/source/errorhandler.o $W/CxxObject/idlc/source/options.o
   $W/CxxObject/idlc/source/fehelper.o
   $W/CxxObject/idlc/source/astdeclaration.o
   $W/CxxObject/idlc/source/astscope.o $W/CxxObject/idlc/source/aststack.o
   $W/CxxObject/idlc/source/astdump.o $W/CxxObject/idlc/source/astinterface.o
   $W/CxxObject/idlc/source/aststruct.o
   $W/CxxObject/idlc/source/aststructinstance.o
   $W/CxxObject/idlc/source/astoperation.o
   $W/CxxObject/idlc/source/astconstant.o $W/CxxObject/idlc/source/astenum.o
   $W/CxxObject/idlc/source/astarray.o $W/CxxObject/idlc/source/astunion.o
   $W/CxxObject/idlc/source/astexpression.o
   $W/CxxObject/idlc/source/astservice.o
   $W/GenCxxObject/YaccTarget/idlc/source/parser.o
   $W/GenCxxObject/LexTarget/idlc/source/scanner.o -Wl,--start-group 
   -Wl,--end-group -Wl,--no-as-needed  -lm -lnsl -lsocket  -lreglo -luno_sal

   -luno_salhelpergcc3 -o $W/LinkTarget/Executable/idlc



I have attached the solenv/gbuild/platform/solaris.mk I am using.

Any help would be greatly appreciated.
Thanks a lot.
Ciao,
Eric

P.S. If this isn't known yet, boost/boost.6139.clang.patch needs a dos2unix 
running on it.


# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
#   Licensed to the Apache Software Foundation (ASF) under one or more
#   contributor license agreements. See the NOTICE file distributed
#   with this work for additional information regarding copyright
#   ownership. The ASF licenses this file to you under the Apache
#   License, Version 2.0 (the License); you may not use this file
#   except in compliance with the License. You may obtain a copy of
#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
#

gb_DEVINSTALLROOT := $(DEVINSTALLDIR)/opt

gb_PROGRAMDIRNAME := program

include $(GBUILDDIR)/platform/com_GCC_defs.mk

gb_MKTEMP := mktemp -t gbuild.XX

ifneq ($(origin AR),default)
gb_AR := $(AR)
endif

# use CC/CXX if they are nondefaults
ifneq ($(origin CC),default)
gb_CC := $(CC)
gb_GCCP := $(CC)
endif
ifneq ($(origin CXX),default)
gb_CXX := $(CXX)
endif

ifeq ($(CPUNAME),SPARC)
gb_CPUDEFS := -D__sparcv8plus
endif

gb_OSDEFS := \
-D$(OS) \
-DSYSV \
-DSUN \
-DSUN4 \
-D_REENTRANT \
-D_POSIX_PTHREAD_SEMANTICS \
-D_PTHREADS \
-DUNIX \
-DUNX \
$(PTHREAD_CFLAGS) \

gb_CFLAGS := \
$(gb_CFLAGS_COMMON) \
-fPIC \
-Wdeclaration-after-statement \
-Wshadow \

gb_CXXFLAGS := \
$(gb_CXXFLAGS_COMMON) \
-fPIC \
-Wshadow \
-Woverloaded-virtual \
-Wno-non-virtual-dtor \

# enable debug STL
ifeq ($(gb_ENABLE_DBGUTIL),$(true))
gb_COMPILERDEFS += \
-D_GLIBCXX_DEBUG \

endif

gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print 
$$1*1+$$2*100+$$3 }')
gb_GccLess460 := $(shell expr $(gb_CCVER) \