On Thu, 2010-12-16 at 12:57 +0100, Thomas Klausner wrote:
> The build on NetBSD currently fails with:
>
> Entering /disk/2/archive/libreoffice/sc/qa/unit
>
> ----------------------------------------------------------
> - start unit test #1 on library ../../unxbsdx3.pro/lib/libqa_unit.so
> ----------------------------------------------------------
> : &&
> LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}/disk/2/archive/libreoffice/clone/calc/sc/unxbsdx3.pro/lib:/disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/lib
> /disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/bin/cppunittester
> ../../unxbsdx3.pro/lib/libqa_unit.so -headless -invisible \
>
> -env:UNO_SERVICES=file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/services.rdb
> \
>
> -env:UNO_TYPES="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/types.rdb
>
> file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/udkapi.rdb"
> \
>
> -env:OOO_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
> \
>
> -env:BRAND_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
> \
>
> -env:UNO_USER_PACKAGES_CACHE="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
> OK (3)
> /bin/bash: line 1: 21530 Segmentation fault (core dumped)
> LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}/disk/2/archive/libreoffice/clone/calc/sc/unxbsdx3.pro/lib:/disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/lib
> /disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/bin/cppunittester
> ../../unxbsdx3.pro/lib/libqa_unit.so -headless -invisible
> -env:UNO_SERVICES=file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/services.rdb
>
> -env:UNO_TYPES="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/types.rdb
>
> file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/udkapi.rdb"
>
> -env:OOO_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
>
> -env:BRAND_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
> -env:UNO_USER_PACKAGES_CACHE="file:///disk/2/archive/libreoffice/clone/!
cal
> c/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
Is this still broken for you. Looking at this, it appears to be a crash
on exit seeing as it was able to print the "tests passed" line of OK.
One horrific temporary hack to test a theory would be to call _exit to
skip calling the massive dtor chain which OOo builds up. Though that's
not a cure, just a temp hack, but maybe it'll help isolate this.
C.
diff --git a/sal/inc/sal/main.h b/sal/inc/sal/main.h
index bf7a828..65ead5d 100644
--- a/sal/inc/sal/main.h
+++ b/sal/inc/sal/main.h
@@ -41,6 +41,19 @@ extern "C" {
void SAL_CALL sal_detail_initialize(int argc, char ** argv);
void SAL_CALL sal_detail_deinitialize();
+#if defined(AIX) || defined(NETBSD)
+//*Hurl*, *Puke*, temp fix only, will
+//cause other weirdness eventually
+# define BROKEN_SHUTDOWN
+# include <unistd.h>
+#endif
+
+#ifdef BROKEN_SHUTDOWN
+# define MAINRET(x) _exit(x)
+#else
+# define MAINRET(x) return x
+#endif
+
#define SAL_MAIN_WITH_ARGS_IMPL \
int SAL_CALL main(int argc, char ** argv) \
{ \
@@ -48,7 +61,7 @@ int SAL_CALL main(int argc, char ** argv) \
sal_detail_initialize(argc, argv); \
ret = sal_main_with_args(argc, argv); \
sal_detail_deinitialize(); \
- return ret; \
+ MAINRET(ret); \
}
#define SAL_MAIN_IMPL \
@@ -58,7 +71,7 @@ int SAL_CALL main(int argc, char ** argv) \
sal_detail_initialize(argc, argv); \
ret = sal_main(); \
sal_detail_deinitialize(); \
- return ret; \
+ MAINRET(ret); \
}
/* Definition macros for CRT entries */
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice