You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ar...@apache.org on 2023/03/18 19:59:07 UTC

[openoffice] branch AOO42X updated: Auto-disable use of pthread_mutexattr_setkind_np due to compile errors (Revised-Revised)

This is an automated email from the ASF dual-hosted git repository.

ardovm pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git


The following commit(s) were added to refs/heads/AOO42X by this push:
     new bbe1f9bfdc Auto-disable use of pthread_mutexattr_setkind_np due to compile errors (Revised-Revised)
bbe1f9bfdc is described below

commit bbe1f9bfdcef2f95df7c929250127ea0cc7e9949
Author: 20kdc <as...@gmail.com>
AuthorDate: Tue Mar 7 12:15:56 2023 +0000

    Auto-disable use of pthread_mutexattr_setkind_np due to compile errors (Revised-Revised)
    
    The code being disabled here causes a compilation issue on Ubuntu Jammy Jellyfish. (undefined reference to `pthread_mutexattr_setkind_np`) The best I can tell, https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/2003146 explains this somewhat.
    
    This workaround likely hasn't been necessary for the past 20 years, if glibc "converted to git" repositories are any indication (see for instance https://github.com/lattera/glibc/blob/d82e4c7bb231c9e0f835bd46467563ac3b56cebe/linuxthreads/sysdeps/pthread/pthread.h ).
    
    And indeed, anyone who would be attempting to run OpenOffice on such a system would likely encounter issues with the other varied libraries in use.
    
    Unfortunately other compilation issues prevented me from performing a full test, but osl mutex tests pass at least.
    
    (cherry picked from commit 02cabb04b49373d08a7dec0ed934e6f30ac72dc8)
---
 main/sal/osl/unx/mutex.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/main/sal/osl/unx/mutex.c b/main/sal/osl/unx/mutex.c
index fcae4db485..c28c48da8d 100644
--- a/main/sal/osl/unx/mutex.c
+++ b/main/sal/osl/unx/mutex.c
@@ -30,10 +30,12 @@
 #include <stdlib.h>
 
 #if defined LINUX /* bad hack */
+#if !defined(__USE_XOPEN2K8)
 int pthread_mutexattr_setkind_np(pthread_mutexattr_t *, int);
 #define pthread_mutexattr_settype pthread_mutexattr_setkind_np
 #define PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
 #endif
+#endif
 
 /*
 	Implementation notes: