xutuan Zhang wrote:
--- Stephan Bergmann <[EMAIL PROTECTED]> wrote:
xutuan Zhang wrote:
Hi, Jürgen,
Thanks for the reply. Sorry if I was not very clear in my email. My
add-in actually works under Windows. If I use OOo 1.1.4 and SDK
1.1.0
(i.e., both stable version), then my add-in (written in c++) works
fine. If I use the latest snapshot build (under Windows), Calc
crashes
the FIRST TIME after my Add-in is registered and when I try to
insert
a/any function, then when restarted, everything works, (i.e., the
crash
only happens once).
The above behevious may be implying that there is a bug or
incompitibility in the latest snapshot build regarding package
loading.
My main problem is in Linux (SuSE 9.2, x86) and Solaris 10 (x86),
i.e.,
same add-in code cannot be registered.. I use gcc 3.3.4 under Linux
and
gcc 3.4.0 under Solaris 10, Are you saying that the problem is
related
to the compiler rather than OOo/SDK themselves? What version of gcc
OOo
and its SDK are compiled?
On Linux, GCC 3.3.4 should work fine. On Solaris, you need Sun CC,
not
GCC. To find out what is wrong with your component on Linux, try the
following: Temporarily include the OOo program directory in
LD_LIBRARY_PATH and execute
ldd -r .../analysisadd.uno.so
There are so many undefined symbols (see below). Is this the problem?
Where are these symbols defined?
Is these implying that there is a missing .so in the OOo Linux release?
or should I add certain .so in my linker command?
Are you trying this with OOo/SDK 1.1.4 or with OOo/SDK 1.9.113?
IIRC, libraries built with the 1.1.x SDK failed to record their NEEDS
for the UNO base libraries (sal etc.) and the libstdc++.so. That would
explain the ldd output. However, since those libraries are already
loaded when your library is loaded in, that would not explain the
problems you experience.
With the 1.9.113 SDK, things should generally be better; a library built
with that SDK should correctly record all its NEEDS (and, due to -Zdefs
should even fail to link in case of missing dependencies), and missing
symbols in the ldd output would point to real problems. Have you
already tried to build your component with the 1.9.113 SDK and to then
deploy it into the 1.9.113 OOo?
-Stephan
*******************
echo $LD_LIBRARY_PATH
.:/opt/OpenOffice.org1.1.4/program
*******************
ldd -r MyAddin.uno.so
undefined symbol: __cxa_call_unexpected (MyAddin.uno.so)
undefined symbol: rtl_uString_new (MyAddin.uno.so)
undefined symbol: rtl_uString_acquire (MyAddin.uno.so)
undefined symbol: rtl_string2UString (MyAddin.uno.so)
undefined symbol: rtl_uString_release (MyAddin.uno.so)
undefined symbol: rtl_uString_assign (MyAddin.uno.so)
undefined symbol:
_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj
(MyAddin.uno.so)
undefined symbol: _ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj
(MyAddin.uno.so)
undefined symbol: __cxa_begin_catch (MyAddin.uno.so)
undefined symbol: __cxa_rethrow (MyAddin.uno.so)
undefined symbol: __cxa_end_catch (MyAddin.uno.so)
undefined symbol: rtl_ustr_compare_WithLength (MyAddin.uno.so)
undefined symbol: _Znwj (MyAddin.uno.so)
undefined symbol: _ZdlPv (MyAddin.uno.so)
undefined symbol:
_ZN4cppu25component_writeInfoHelperEPvS0_PKNS_19ImplementationEntryE
(MyAddin.uno.so)
undefined symbol:
_ZN4cppu26component_getFactoryHelperEPKcPvS2_PKNS_19ImplementationEntryE
(MyAddin.uno.so)
undefined symbol: osl_incrementInterlockedCount (MyAddin.uno.so)
undefined symbol: osl_decrementInterlockedCount (MyAddin.uno.so)
undefined symbol: rtl_createUuid (MyAddin.uno.so)
undefined symbol: rtl_ustr_ascii_compare_WithLength
(MyAddin.uno.so)
undefined symbol: rtl_uString_newFromAscii (MyAddin.uno.so)
undefined symbol: typelib_typedescriptionreference_equals
(MyAddin.uno.so)
undefined symbol: osl_acquireMutex (MyAddin.uno.so)
undefined symbol: osl_releaseMutex (MyAddin.uno.so)
undefined symbol: osl_getGlobalMutex (MyAddin.uno.so)
undefined symbol: typelib_typedescriptionreference_assign
(MyAddin.uno.so)
undefined symbol: typelib_static_type_getByTypeClass
(MyAddin.uno.so)
undefined symbol: uno_any_construct (MyAddin.uno.so)
undefined symbol: uno_type_any_construct (MyAddin.uno.so)
undefined symbol: typelib_static_interface_type_init
(MyAddin.uno.so)
undefined symbol: uno_type_destructData (MyAddin.uno.so)
undefined symbol: uno_type_sequence_construct (MyAddin.uno.so)
undefined symbol: typelib_static_sequence_type_init
(MyAddin.uno.so)
undefined symbol: uno_type_sequence_reference2One
(MyAddin.uno.so)
undefined symbol: __cxa_pure_virtual (MyAddin.uno.so)
undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE
(MyAddin.uno.so)
undefined symbol: _ZTVN10__cxxabiv117__class_type_infoE
(MyAddin.uno.so)
undefined symbol: _ZTVN10__cxxabiv121__vmi_class_type_infoE
(MyAddin.uno.so)
undefined symbol: __gxx_personality_v0 (MyAddin.uno.so)
undefined symbol:
_ZN4cppu28createSingleComponentFactoryEPFN3com3sun4star3uno9ReferenceINS3_10XInterfaceEEERKNS4_INS3_17XComponentContextEEEERKN3rtl8OUStringERKNS3_8SequenceISE_EEP16_rtl_ModuleCount
(MyAddin.uno.so)
linux-gate.so.1 => (0xffffe000)
libgcc_s.so.1 => /opt/OpenOffice.org1.1.4/program/libgcc_s.so.1
(0x40013000)
libc.so.6 => /lib/tls/libc.so.6 (0x4001c000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
Regards,
Xutuan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]