Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


On 01/02/2012 08:11 PM, August Sodora wrote:
For the past couple of weeks I've been trying to build LO with clang
on linux and have hit a couple of obstacles. I can't get the internal
nss to build and I didn't even try to enable mozilla because it fails
to build on ubuntu anyway. The -Qunused-arguments is really to silence
warnings from clang that -ggdb2 and other options are not recognized.
Ultimately, I can complete make with

Sounds great. My attempts always failed due to <http://llvm.org/bugs/show_bug.cgi?id=11250> "no code emitted for virtual inline function inherited indirectly from class template". Interesting that that does not hit you, too -- or do you somehow disable hidden visibility?

From my past attempts (unxlngx6) I still have a patch file around that is attached. Maybe it is useful (I always intended to follow up, but somehow never found the time). It does contain a fix for nss (assembler comments needing to start with "#" instead of "/").

The first patch attached fixes an error related to implicitly
converting constants to a type that should be too small to hold the
constant. I've added static_casts to make the situation a lot more
explicit which also suppresses the error, I'm just not sure that this
is a real solution.

The literal 0x80000000 that is used to initialize sal_Int32 SvxMSDffHandle.nRangeYMin at svx/source/customshapes/EnhancedCustomShapeGeometry.cxx:164 etc. is probably better replaced with SAL_MIN_INT32. Checking all the various places, what the best fix would be (change the relevant var. from sal_Int32 to sal_uInt32, etc.) would surely be tedious...

The second and third patches simply fix warnings that flood the screen
so often that it makes it difficult to diagnose other problems.

Also see my attached patch. (I prefer removing names of unused parameters, instead of adding "(void)x;" lines; also, additional patches should go to the end of PATCH_FILES, as "dmake create_patch" creates them against all previous patches already applied.)

Stephan
 basebmp/inc/basebmp/bitmapdevice.hxx       |    2 +-
 boost/boost_1_44_0-clang.patch             |   39 ++++++
 boost/makefile.mk                          |    2 +
 cppunit/cppunit-1.12.1-clang.patch         |   11 ++
 cppunit/makefile.mk                        |    2 +-
 libcmis/libcmis-0.1.0-clang.patch          |   10 ++
 libcmis/makefile.mk                        |    2 +-
 nss/makefile.mk                            |    3 +-
 nss/nss-3.12.8-with-nspr-4.8.6-clang.patch |  205 ++++++++++++++++++++++++++++
 openssl/makefile.mk                        |    2 +-
 openssl/openssl-0.9.8o-clang.patch         |   27 ++++
 python/makefile.mk                         |    4 +-
 12 files changed, 303 insertions(+), 6 deletions(-)

diff --git a/basebmp/inc/basebmp/bitmapdevice.hxx b/basebmp/inc/basebmp/bitmapdevice.hxx
index ca11292..2807b7d 100644
--- a/basebmp/inc/basebmp/bitmapdevice.hxx
+++ b/basebmp/inc/basebmp/bitmapdevice.hxx
@@ -56,7 +56,7 @@ namespace basebmp
 // Temporary. Use like the tools color object
 class Color;
 typedef boost::shared_ptr< class BitmapDevice >                BitmapDeviceSharedPtr;
-typedef boost::shared_ptr< class IBitmapDeviceDamageTracker >  IBitmapDeviceDamageTrackerSharedPtr;
+typedef boost::shared_ptr< struct IBitmapDeviceDamageTracker >  
IBitmapDeviceDamageTrackerSharedPtr;
 typedef boost::shared_array< sal_uInt8 >                       RawMemorySharedArray;
 typedef boost::shared_ptr< const std::vector<Color> >          PaletteMemorySharedVector;
 
diff --git a/boost/boost_1_44_0-clang.patch b/boost/boost_1_44_0-clang.patch
new file mode 100644
index 0000000..222ed86
--- /dev/null
+++ b/boost/boost_1_44_0-clang.patch
@@ -0,0 +1,39 @@
+--- misc/boost_1_44_0/boost/optional/optional.hpp      2011-12-02 21:01:18.833604597 +0100
++++ misc/build/boost_1_44_0/boost/optional/optional.hpp        2011-12-02 21:01:00.767778299 +0100
+@@ -846,12 +846,12 @@
+ 
+ template<class T>
+ inline
+-bool operator == ( none_t x, optional<T> const& y )
++bool operator == ( none_t, optional<T> const& y )
+ { return equal_pointees(optional<T>() ,y); }
+ 
+ template<class T>
+ inline
+-bool operator < ( none_t x, optional<T> const& y )
++bool operator < ( none_t, optional<T> const& y )
+ { return less_pointees(optional<T>() ,y); }
+ 
+ template<class T>
+--- misc/boost_1_44_0/boost/ptr_container/detail/default_deleter.hpp   2008-03-22 
22:45:55.000000000 +0100
++++ misc/build/boost_1_44_0/boost/ptr_container/detail/default_deleter.hpp     2011-12-02 
20:14:04.606949179 +0100
+@@ -61,7 +61,7 @@
+ { 
+     default_deleter() { }
+     template<typename TT>
+-    default_deleter(default_deleter<TT> tt) { }
++    default_deleter(default_deleter<TT>) { }
+ };
+ 
+ } } } // End namespaces ptr_container_detail, move_ptrs, boost.
+--- misc/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp     2011-12-02 
20:15:30.747191950 +0100
++++ misc/build/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp       2011-12-02 
20:14:35.148680353 +0100
+@@ -664,7 +664,7 @@
+             
+         }
+ 
+-        void range_check_impl( iterator first, iterator last, 
++        void range_check_impl( iterator, iterator,
+                                std::bidirectional_iterator_tag )
+         { /* do nothing */ }
+ 
diff --git a/boost/makefile.mk b/boost/makefile.mk
index 3ba21d8..27e4ae9 100644
--- a/boost/makefile.mk
+++ b/boost/makefile.mk
@@ -62,6 +62,8 @@ PATCH_FILES+=boost.gcc47679.patch
 
 PATCH_FILES+=boost.windows.patch
 
+PATCH_FILES+=boost_1_44_0-clang.patch
+
 ADDITIONAL_FILES= \
     libs/thread/src/win32/makefile.mk \
        libs/date_time/src/gregorian/makefile.mk
diff --git a/cppunit/cppunit-1.12.1-clang.patch b/cppunit/cppunit-1.12.1-clang.patch
new file mode 100644
index 0000000..22a097c
--- /dev/null
+++ b/cppunit/cppunit-1.12.1-clang.patch
@@ -0,0 +1,11 @@
+--- misc/cppunit-1.12.1/include/cppunit/extensions/ExceptionTestCaseDecorator.h        2003-03-15 
09:55:28.000000000 +0100
++++ misc/build/cppunit-1.12.1/include/cppunit/extensions/ExceptionTestCaseDecorator.h  2011-12-02 
20:45:18.929816024 +0100
+@@ -92,7 +92,7 @@
+    *
+    * Should be overriden to check the exception.
+    */
+-  virtual void checkException( ExpectedExceptionType &e )
++  virtual void checkException( ExpectedExceptionType & )
+   {
+   }
+ };
diff --git a/cppunit/makefile.mk b/cppunit/makefile.mk
index 551a0ea..ed4226a 100644
--- a/cppunit/makefile.mk
+++ b/cppunit/makefile.mk
@@ -34,7 +34,7 @@ TARFILE_MD5=bd30e9cf5523cdfc019b94f5e1d7fd19
     # from <https://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/
     #  cppunit-1.12.1.tar.gz/download>
 
-PATCH_FILES = solarisfinite.patch warnings.patch windows.patch ldflags.patch aix.patch 
avoid-synthetised-destructor.patch ios.patch
+PATCH_FILES = solarisfinite.patch warnings.patch windows.patch ldflags.patch aix.patch 
avoid-synthetised-destructor.patch ios.patch cppunit-1.12.1-clang.patch
     # solarisfinite.patch: see <https://sourceforge.net/tracker/?func=detail&;
     #  aid=2912590&group_id=11795&atid=311795>
     # warnings.patch: see <https://sourceforge.net/tracker/?func=detail&;
diff --git a/libcmis/libcmis-0.1.0-clang.patch b/libcmis/libcmis-0.1.0-clang.patch
new file mode 100644
index 0000000..00d8eb2
--- /dev/null
+++ b/libcmis/libcmis-0.1.0-clang.patch
@@ -0,0 +1,10 @@
+--- misc/libcmis-0.1.0/src/libcmis/session.hxx 2011-09-30 20:38:39.000000000 +0200
++++ misc/build/libcmis-0.1.0/src/libcmis/session.hxx   2011-10-18 22:17:32.152740249 +0200
+@@ -36,6 +36,7 @@
+     class Session
+     {
+         public:
++            virtual ~Session() {}
+ 
+             /** Get the Root folder of the repository
+               */
diff --git a/libcmis/makefile.mk b/libcmis/makefile.mk
index df93424..07ca14c 100644
--- a/libcmis/makefile.mk
+++ b/libcmis/makefile.mk
@@ -45,7 +45,7 @@ TARFILE_NAME=libcmis-0.1.0
 TARFILE_MD5=7c2549f6b0a8bb604e6c4c729ffdcfe6
 ADDITIONAL_FILES=src$/libcmis$/makefile.mk
 
-PATCH_FILES=$(TARFILE_NAME).patch
+PATCH_FILES=$(TARFILE_NAME).patch libcmis-0.1.0-clang.patch
 
 BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
 BUILD_DIR=src$/libcmis
diff --git a/nss/makefile.mk b/nss/makefile.mk
index bc7b827..2bc170f 100644
--- a/nss/makefile.mk
+++ b/nss/makefile.mk
@@ -48,7 +48,8 @@ VER_PATCH=8
 TARFILE_NAME=nss-$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)-with-nspr-4.8.6
 TARFILE_MD5=71474203939fafbe271e1263e61d083e
 TARFILE_ROOTDIR=nss-$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
-PATCH_FILES=nss.patch nss.aix.patch nss-config.patch nss-linux3.patch
+PATCH_FILES=nss.patch nss.aix.patch nss-config.patch nss-linux3.patch \
+    nss-3.12.8-with-nspr-4.8.6-clang.patch
 
 .IF "$(OS)"=="MACOSX"
 PATCH_FILES+=nss_macosx.patch
diff --git a/nss/nss-3.12.8-with-nspr-4.8.6-clang.patch b/nss/nss-3.12.8-with-nspr-4.8.6-clang.patch
new file mode 100644
index 0000000..e3883d1
--- /dev/null
+++ b/nss/nss-3.12.8-with-nspr-4.8.6-clang.patch
@@ -0,0 +1,205 @@
+--- misc/nss-3.12.8/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s   2010-04-11 
07:47:01.000000000 +0200
++++ misc/build/nss-3.12.8/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s     2011-12-02 
21:36:26.099370244 +0100
+@@ -1,46 +1,46 @@
+-/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+-/ 
+-/ ***** BEGIN LICENSE BLOCK *****
+-/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+-/
+-/ The contents of this file are subject to the Mozilla Public License Version
+-/ 1.1 (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.mozilla.org/MPL/
+-/
+-/ Software distributed under the License is distributed on an "AS IS" basis,
+-/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+-/ for the specific language governing rights and limitations under the
+-/ License.
+-/
+-/ The Original Code is the Netscape Portable Runtime (NSPR).
+-/
+-/ The Initial Developer of the Original Code is
+-/ Netscape Communications Corporation.
+-/ Portions created by the Initial Developer are Copyright (C) 2004
+-/ the Initial Developer. All Rights Reserved.
+-/
+-/ Contributor(s):
+-/
+-/ Alternatively, the contents of this file may be used under the terms of
+-/ either the GNU General Public License Version 2 or later (the "GPL"), or
+-/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+-/ in which case the provisions of the GPL or the LGPL are applicable instead
+-/ of those above. If you wish to allow use of your version of this file only
+-/ under the terms of either the GPL or the LGPL, and not to allow others to
+-/ use your version of this file under the terms of the MPL, indicate your
+-/ decision by deleting the provisions above and replace them with the notice
+-/ and other provisions required by the GPL or the LGPL. If you do not delete
+-/ the provisions above, a recipient may use your version of this file under
+-/ the terms of any one of the MPL, the GPL or the LGPL.
+-/
+-/ ***** END LICENSE BLOCK *****
++# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
++#
++# ***** BEGIN LICENSE BLOCK *****
++# Version: MPL 1.1/GPL 2.0/LGPL 2.1
++#
++# The contents of this file are subject to the Mozilla Public License Version
++# 1.1 (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.mozilla.org/MPL/
++#
++# Software distributed under the License is distributed on an "AS IS" basis,
++# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++# for the specific language governing rights and limitations under the
++# License.
++#
++# The Original Code is the Netscape Portable Runtime (NSPR).
++#
++# The Initial Developer of the Original Code is
++# Netscape Communications Corporation.
++# Portions created by the Initial Developer are Copyright (C) 2004
++# the Initial Developer. All Rights Reserved.
++#
++# Contributor(s):
++#
++# Alternatively, the contents of this file may be used under the terms of
++# either the GNU General Public License Version 2 or later (the "GPL"), or
++# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++# in which case the provisions of the GPL or the LGPL are applicable instead
++# of those above. If you wish to allow use of your version of this file only
++# under the terms of either the GPL or the LGPL, and not to allow others to
++# use your version of this file under the terms of the MPL, indicate your
++# decision by deleting the provisions above and replace them with the notice
++# and other provisions required by the GPL or the LGPL. If you do not delete
++# the provisions above, a recipient may use your version of this file under
++# the terms of any one of the MPL, the GPL or the LGPL.
++#
++# ***** END LICENSE BLOCK *****
+ 
+-/ PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val)
+-/
+-/ Atomically increment the integer pointed to by 'val' and return
+-/ the result of the increment.
+-/
++# PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val)
++#
++# Atomically increment the integer pointed to by 'val' and return
++# the result of the increment.
++#
+     .text
+     .globl _PR_x86_64_AtomicIncrement
+     .type _PR_x86_64_AtomicIncrement, @function
+@@ -53,11 +53,11 @@
+     ret
+     .size _PR_x86_64_AtomicIncrement, .-_PR_x86_64_AtomicIncrement
+ 
+-/ PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val)
+-/
+-/ Atomically decrement the integer pointed to by 'val' and return
+-/ the result of the decrement.
+-/
++# PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val)
++#
++# Atomically decrement the integer pointed to by 'val' and return
++# the result of the decrement.
++#
+     .text
+     .globl _PR_x86_64_AtomicDecrement
+     .type _PR_x86_64_AtomicDecrement, @function
+@@ -70,11 +70,11 @@
+     ret
+     .size _PR_x86_64_AtomicDecrement, .-_PR_x86_64_AtomicDecrement
+ 
+-/ PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval)
+-/
+-/ Atomically set the integer pointed to by 'val' to the new
+-/ value 'newval' and return the old value.
+-/
++# PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval)
++#
++# Atomically set the integer pointed to by 'val' to the new
++# value 'newval' and return the old value.
++#
+     .text
+     .globl _PR_x86_64_AtomicSet
+     .type _PR_x86_64_AtomicSet, @function
+@@ -85,11 +85,11 @@
+     ret
+     .size _PR_x86_64_AtomicSet, .-_PR_x86_64_AtomicSet
+ 
+-/ PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val)
+-/
+-/ Atomically add 'val' to the integer pointed to by 'ptr'
+-/ and return the result of the addition.
+-/
++# PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val)
++#
++# Atomically add 'val' to the integer pointed to by 'ptr'
++# and return the result of the addition.
++#
+     .text
+     .globl _PR_x86_64_AtomicAdd
+     .type _PR_x86_64_AtomicAdd, @function
+@@ -102,5 +102,5 @@
+     ret
+     .size _PR_x86_64_AtomicAdd, .-_PR_x86_64_AtomicAdd
+ 
+-/ Magic indicating no need for an executable stack
++# Magic indicating no need for an executable stack
+ .section .note.GNU-stack, "", @progbits ; .previous
+--- misc/nss-3.12.8/mozilla/security/nss/lib/freebl/mpi/mp_comba.c     2008-03-09 
07:06:27.000000000 +0100
++++ misc/build/nss-3.12.8/mozilla/security/nss/lib/freebl/mpi/mp_comba.c       2011-10-18 
10:24:30.760363107 +0200
+@@ -49,7 +49,7 @@
+      "addq  %%rax,%0     \n\t"                            \
+      "adcq  %%rdx,%1     \n\t"                            \
+      "adcq  $0,%2        \n\t"                            \
+-     :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j)  
:"%rax","%rdx","%cc");
++     :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j)  
:"%rax","%rdx","cc");
+ 
+ 
+ 
+@@ -76,7 +76,7 @@
+      "addq  %%rax,%0     \n\t"                            \
+      "adcq  %%rdx,%1     \n\t"                            \
+      "adcq  $0,%2        \n\t"                            \
+-     :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i) :"%rax","%rdx","%cc");
++     :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i) :"%rax","%rdx","cc");
+ 
+ #define SQRADD2(i, j)                                     \
+ __asm__ (                                                     \
+@@ -88,7 +88,7 @@
+      "addq  %%rax,%0     \n\t"                            \
+      "adcq  %%rdx,%1     \n\t"                            \
+      "adcq  $0,%2        \n\t"                            \
+-     :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j)  
:"%rax","%rdx","%cc");
++     :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j)  
:"%rax","%rdx","cc");
+ 
+ #define SQRADDSC(i, j)                                    \
+ __asm__ (                                                     \
+@@ -97,7 +97,7 @@
+      "movq  %%rax,%0     \n\t"                            \
+      "movq  %%rdx,%1     \n\t"                            \
+      "xorq  %2,%2        \n\t"                            \
+-     :"=r"(sc0), "=r"(sc1), "=r"(sc2): "g"(i), "g"(j) :"%rax","%rdx","%cc");
++     :"=r"(sc0), "=r"(sc1), "=r"(sc2): "g"(i), "g"(j) :"%rax","%rdx","cc");
+ 
+ #define SQRADDAC(i, j)                                                         \
+ __asm__ (                                                     \
+@@ -106,7 +106,7 @@
+      "addq  %%rax,%0     \n\t"                            \
+      "adcq  %%rdx,%1     \n\t"                            \
+      "adcq  $0,%2        \n\t"                            \
+-     :"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) 
:"%rax","%rdx","%cc");
++     :"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) 
:"%rax","%rdx","cc");
+ 
+ #define SQRADDDB                                                               \
+ __asm__ (                                                     \
+@@ -116,7 +116,7 @@
+      "addq %6,%0         \n\t"                            \
+      "adcq %7,%1         \n\t"                            \
+      "adcq %8,%2         \n\t"                            \
+-     :"=&r"(c0), "=&r"(c1), "=&r"(c2) : "0"(c0), "1"(c1), "2"(c2), "r"(sc0), "r"(sc1), "r"(sc2) : 
"%cc");
++     :"=&r"(c0), "=&r"(c1), "=&r"(c2) : "0"(c0), "1"(c1), "2"(c2), "r"(sc0), "r"(sc1), "r"(sc2) : 
"cc");
+ 
+ 
+ 
diff --git a/openssl/makefile.mk b/openssl/makefile.mk
index f537838..2567f74 100644
--- a/openssl/makefile.mk
+++ b/openssl/makefile.mk
@@ -73,7 +73,7 @@ OUT2INC += include/openssl/*
 UNAME=$(shell uname)
 
 .IF "$(OS)" == "LINUX" || "$(OS)" == "FREEBSD" || "$(OS)" == "ANDROID"
-    PATCH_FILES=openssllnx.patch
+    PATCH_FILES=openssllnx.patch openssl-0.9.8o-clang.patch
     ADDITIONAL_FILES:= \
         libcrypto_OOo_0_9_8o.map \
         libssl_OOo_0_9_8o.map
diff --git a/openssl/openssl-0.9.8o-clang.patch b/openssl/openssl-0.9.8o-clang.patch
new file mode 100644
index 0000000..0dccf0f
--- /dev/null
+++ b/openssl/openssl-0.9.8o-clang.patch
@@ -0,0 +1,27 @@
+--- misc/openssl-0.9.8o/crypto/md32_common.h   2010-03-29 13:23:11.000000000 +0200
++++ misc/build/openssl-0.9.8o/crypto/md32_common.h     2011-12-02 21:42:41.665039759 +0100
+@@ -160,7 +160,7 @@
+    * what we need here...
+    *                                  <appro@fy.chalmers.se>
+    */
+-#  if defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__)
++#  if defined(__i386) || defined(__i386__)
+ #   define ROTATE(a,n)        ({ register unsigned int ret;   \
+                               asm (                   \
+                               "roll %1,%0"            \
+@@ -169,6 +169,15 @@
+                               : "cc");                \
+                          ret;                         \
+                       })
++#  elif defined(__x86_64) || defined(__x86_64__)
++#   define ROTATE(a,n)        ({ register unsigned long ret;  \
++                              asm (                   \
++                              "rolq %1,%0"            \
++                              : "=r"(ret)             \
++                              : "I"(n), "0"(a)        \
++                              : "cc");                \
++                         ret;                         \
++                      })
+ #  elif defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
+       defined(__powerpc) || defined(__ppc__) || defined(__powerpc64__)
+ #   define ROTATE(a,n)        ({ register unsigned int ret;   \
diff --git a/python/makefile.mk b/python/makefile.mk
index 4f50ed3..33bd88c 100644
--- a/python/makefile.mk
+++ b/python/makefile.mk
@@ -102,7 +102,9 @@ ALLTAR: $(MISC)/OOoPython.framework.zip
 .IF "$(OS)"=="AIX"
 CONFIGURE_ACTION += --disable-ipv6 --with-threads
 .ENDIF
-BUILD_ACTION=$(ENV_BUILD) $(GNUMAKE) -j$(EXTMAXPROCESS) && $(GNUMAKE) install DESTDIR=$(MYCWD) && 
chmod -R ug+w $(MYCWD)/python-inst && chmod g+w Include
+BUILD_ACTION=$(ENV_BUILD) $(GNUMAKE) && $(GNUMAKE) install DESTDIR=$(MYCWD) && chmod -R ug+w 
$(MYCWD)/python-inst && chmod g+w Include
+    # -j$(EXTMAXPROCESS) tends to fail at least with trunk Clang towards 3.1 on
+    # unxlngx6
 .ELSE
 # ----------------------------------
 # WINDOWS

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.