LibreOffice / openIndiana ...

Jonathan Adams t12nslookup at gmail.com
Mon Mar 19 05:00:45 PDT 2012


thanks, direct pull from git behaves "correctly" to the same point.

gdb of core gives this error:
Core was generated by
`/home/sal/LibreOffice/libo/solver/unxsoli/bin/saxparser af_NA
/home/sal/LibreOf'.
Program terminated with signal 11, Segmentation fault.
[New process 83473    ]
[New process 149009    ]
#0  0xfec54eb8 in rtl_uString_release (pThis=0x29) at
/home/sal/LibreOffice/libo/sal/rtl/source/strtmpl.cxx:1043
1043        if (SAL_STRING_IS_STATIC (pThis))

so I guess there is some kind of corruption in the string "pThis" that
is being passed around.

I'll put this on hold till either OpenIndiana provide a different GCC,
or the git code changes in that area (which I'm assuming it wont since
it's stable everywhere else)

Jon

On 17 March 2012 20:55, Jonathan Adams <t12nslookup at gmail.com> wrote:
> that should have hopefully updated the wiki.
>
> cheers for that (hopefully you've done the configure.in, changing the
> grep's was my biggest bug bear :) )
>
> I will clean up and see how far a fresh compile goes.
>
> thanks.
>
> Jon
>
> On 16 March 2012 22:41, Michael Stahl <mstahl at redhat.com> wrote:
>> On 05/03/12 16:03, Jonathan Adams wrote:
>>> Still a work in progress ... and a couple of "when it stops at this
>>> point run this command" kinda hacks.
>>>
>>> diff patch is attached, you'll just have to see how far you can get with it..
>>
>> hi Jonathan,
>>
>> i've pushed a lot of this to master now, i.e. this commit and its
>> descendents:
>>
>> http://cgit.freedesktop.org/libreoffice/core/commit/?id=db96b0926794b53e547246e4c743e86f31eed461
>>
>> could you please confirm that you contribute your patch under
>> MPL/LGPLv3+ license?
>>
>> the best way is to send a blanket mail to this list with the license for
>> all your past and future contributions to LO, add yourself to this wiki
>> page and add a link to that mail in the wiki page:
>>
>> http://wiki.documentfoundation.org/Development/Developers
>>
>> some of the commits are cleaner re-implementations of what's in your
>> patch; hopefully the nss and soltools work for you.
>>
>> the remainder is this stuff which i thought was too hacky to commit
>> as-is or should be unnecessary:
>>
>>> diff --git a/libexttextcat/makefile.mk b/libexttextcat/makefile.mk
>>> index f4f5383..271e971 100644
>>> --- a/libexttextcat/makefile.mk
>>> +++ b/libexttextcat/makefile.mk
>>> @@ -88,4 +88,4 @@ $(BIN)/fingerprint.zip: $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE)
>>>       $(COMMAND_ECHO)zip -j $(ZIP_VERBOSITY) $@ $(MISC)/build$/$(TARFILE_ROOTDIR)$/langclass$/fpdb.conf
>>>       $(COMMAND_ECHO)find $(MISC)/build$/$(TARFILE_ROOTDIR)$/langclass$/LM \
>>>               -name "*.lm" -print0 | \
>>> -                xargs -0 zip -j $(ZIP_VERBOSITY) $@
>>> +                /usr/gnu/bin/xargs -0 zip -j $(ZIP_VERBOSITY) $@
>>> diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
>>> index 60ab9c9..07a7441 100644
>>> --- a/sal/Library_sal.mk
>>> +++ b/sal/Library_sal.mk
>>> @@ -62,7 +62,7 @@ $(eval $(call gb_Library_add_linked_libs,sal,\
>>>       $(if $(filter $(OS),LINUX), \
>>>               dl \
>>>       ) \
>>> -     $(if $(filter $(OS),SOLARIS), \
>>> +     $(if $(filter $(OS),NOTSOLARIS), \
>>>               nsl \
>>>               socket \
>>>       ) \
>>> diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx
>>> index b8a851f..4f1ab52 100644
>>> --- a/sal/osl/unx/file.cxx
>>> +++ b/sal/osl/unx/file.cxx
>>> @@ -1228,7 +1228,7 @@ SAL_CALL osl_mapFile (
>>>              OSL_TRACE(
>>>                  "posix_madvise(..., POSIX_MADV_WILLNEED) failed with %d", e);
>>>          }
>>> -#elif defined SOLARIS
>>> +#elif defined NOTSOLARIS
>>>          if (madvise(static_cast< caddr_t >(p), nLength, MADV_WILLNEED) != 0)
>>>          {
>>>              OSL_TRACE("madvise(..., MADV_WILLNEED) failed with %d", errno);
>>> diff --git a/sal/osl/unx/process.cxx b/sal/osl/unx/process.cxx
>>> index cfaecde..7bcf262 100644
>>> --- a/sal/osl/unx/process.cxx
>>> +++ b/sal/osl/unx/process.cxx
>>> @@ -501,15 +306,17 @@ static void ChildStatusProc(void *pData)
>>>
>>>              if (! INIT_GROUPS(data.m_name, data.m_gid) || (setuid(data.m_uid) != 0))
>>>                  OSL_TRACE("Failed to change uid and guid, errno=%d (%s)", errno, strerror(errno));
>>> -
>>> -            const rtl::OUString envVar(RTL_CONSTASCII_USTRINGPARAM("HOME"));
>>> -            osl_clearEnvironment(envVar.pData);
>>> +#if defined(LINUX) || defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(DRAGONFLY) || defined(SUN)
>>> +            unsetenv("HOME");
>>> +#else
>>> +            putenv("HOME=");
>>> +#endif
>>>          }
>>>
>>> -        if (data.m_pszDir)
>>> -            chstatus = chdir(data.m_pszDir);
>>> +          if (data.m_pszDir)
>>> +              chstatus = chdir(data.m_pszDir);
>>>
>>> -        if (chstatus == 0 && ((data.m_uid == (uid_t)-1) || ((data.m_uid == getuid()) && (data.m_gid == getgid()))))
>>> +           if (chstatus == 0 && ((data.m_uid == (uid_t)-1) || ((data.m_uid == getuid()) && (data.m_gid == getgid()))))
>>>          {
>>>              int i;
>>>              for (i = 0; data.m_pszEnv[i] != NULL; i++)
>>> diff --git a/sal/osl/unx/util.c b/sal/osl/unx/util.c
>>> index 7411e7f..886a3c7 100644
>>> --- a/sal/osl/unx/util.c
>>> +++ b/sal/osl/unx/util.c
>>> @@ -313,8 +313,8 @@ void osl_InitSparcV9(void)
>>>  }
>>>  #endif
>>>
>>> -#if    ( defined(__GNUC__) && (defined(X86) || defined(X86_64)) )\
>>> -    || ( defined(SOLARIS) && defined (__SUNPRO_C) && defined(__i386) )
>>> +/* #if    ( defined(__GNUC__) && (defined(X86) || defined(X86_64)) )\ */
>>> +/*    || ( defined(SOLARIS) && defined (__SUNPRO_C) && defined(__i386) ) */
>>>
>>>  /* Safe default */
>>>  int osl_isSingleCPU = 0;
>>> @@ -344,6 +344,6 @@ void osl_interlockedCountCheckForSingleCPU(void)
>>>      }
>>>  }
>>>  #endif /* defined(_SC_NPROCESSORS_CONF) */
>>> -#endif
>>> +/* #endif */
>>>
>>>  /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
>>> diff --git a/solenv/inc/tg_ext.mk b/solenv/inc/tg_ext.mk
>>> index 0adec0c..016e6d3 100644
>>> --- a/solenv/inc/tg_ext.mk
>>> +++ b/solenv/inc/tg_ext.mk
>>> @@ -172,7 +172,7 @@ $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) : $(PRJ)/$(ROUT)/misc/$(TARFILE_MD5)-$(TARFILE
>>>      $(COMMAND_ECHO)cd $(PACKAGE_DIR)$(fake_root_dir) && ( $(shell @$(TYPE) $(PRJ)/$(ROUT)/misc/$(TARFILE_MD5)-$(TARFILE_NAME).unpack)) && $(TOUCH) $(UNTAR_FLAG_FILE)
>>>      @echo make writeable...
>>>      @-cd $(PACKAGE_DIR) && chmod -R +rw $(TARFILE_ROOTDIR) && $(TOUCH) $(UNTAR_FLAG_FILE)
>>> -    @-cd $(PACKAGE_DIR) && find $(TARFILE_ROOTDIR) -type d -print0 | xargs -0 chmod a+x
>>> +    @-cd $(PACKAGE_DIR) && find $(TARFILE_ROOTDIR) -type d -print0 | /usr/gnu/bin/xargs -0 chmod a+x
>>>
>>>  #add new files to patch
>>>  $(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE) : $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) $(T_ADDITIONAL_FILES:+".dummy")
>>> diff --git a/solenv/inc/unxsoli4.mk b/solenv/inc/unxsoli4.mk
>>> index af85064..dbcc1f9 100644
>>> --- a/solenv/inc/unxsoli4.mk
>>> +++ b/solenv/inc/unxsoli4.mk
>>> @@ -60,10 +60,10 @@ CFLAGSENABLESYMBOLS_CC_ONLY=-g -xs # was temporarily commented out, reenabled be
>>>  CFLAGSEXCEPTIONS=
>>>  CFLAGS_NO_EXCEPTIONS=-noex
>>>
>>> -CFLAGSOBJGUIMT=-KPIC -mt
>>> -CFLAGSOBJCUIMT=-KPIC -mt
>>> -CFLAGSSLOGUIMT=-KPIC -mt
>>> -CFLAGSSLOCUIMT=-KPIC -mt
>>> +CFLAGSOBJGUIMT=-fPIC -mt
>>> +CFLAGSOBJCUIMT=-fPIC -mt
>>> +CFLAGSSLOGUIMT=-fPIC -mt
>>> +CFLAGSSLOCUIMT=-fPIC -mt
>>>  CFLAGSPROF=-xpg
>>>  CFLAGSDEBUG=-g
>>>  CFLAGSDBGUTIL=
>>> diff --git a/solenv/inc/unxsols4.mk b/solenv/inc/unxsols4.mk
>>> index e81ca0e..dfa0c52 100644
>>> --- a/solenv/inc/unxsols4.mk
>>> +++ b/solenv/inc/unxsols4.mk
>>> @@ -62,10 +62,10 @@ CFLAGSENABLESYMBOLS_CC_ONLY=-g -xs # was temporarily commented out, reenabled be
>>>  CFLAGSEXCEPTIONS=
>>>  CFLAGS_NO_EXCEPTIONS=-noex
>>>
>>> -CFLAGSOBJGUIMT=-KPIC -mt
>>> -CFLAGSOBJCUIMT=-KPIC -mt
>>> -CFLAGSSLOGUIMT=-KPIC -mt
>>> -CFLAGSSLOCUIMT=-KPIC -mt
>>> +CFLAGSOBJGUIMT=-fPIC -mt
>>> +CFLAGSOBJCUIMT=-fPIC -mt
>>> +CFLAGSSLOGUIMT=-fPIC -mt
>>> +CFLAGSSLOCUIMT=-fPIC -mt
>>>  CFLAGSPROF=-xpg
>>>  CFLAGSDEBUG=-g
>>>  CFLAGSDBGUTIL=
>>> diff --git a/solenv/inc/unxsolu4.mk b/solenv/inc/unxsolu4.mk
>>> index 0beea48..625b6fa 100644
>>> --- a/solenv/inc/unxsolu4.mk
>>> +++ b/solenv/inc/unxsolu4.mk
>>> @@ -64,10 +64,10 @@ CFLAGSENABLESYMBOLS_CC_ONLY=-g -xs # was temporarily commented out, reenabled be
>>>  CFLAGSEXCEPTIONS=
>>>  CFLAGS_NO_EXCEPTIONS=-noex
>>>
>>> -CFLAGSOBJGUIMT=-KPIC -mt
>>> -CFLAGSOBJCUIMT=-KPIC -mt
>>> -CFLAGSSLOGUIMT=-KPIC -mt
>>> -CFLAGSSLOCUIMT=-KPIC -mt
>>> +CFLAGSOBJGUIMT=-fPIC -mt
>>> +CFLAGSOBJCUIMT=-fPIC -mt
>>> +CFLAGSSLOGUIMT=-fPIC -mt
>>> +CFLAGSSLOCUIMT=-fPIC -mt
>>>  CFLAGSPROF=-xpg
>>>  CFLAGSDEBUG=-g
>>>  CFLAGSDBGUTIL=


More information about the LibreOffice mailing list