Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 326650 Details for
Bug 371647
dev-cpp/gtest-1.5.0 doesn't link to pthread as it should
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
configure-fix-pthread-linking.patch
0001-configure-fix-pthread-linking.patch (text/plain), 3.07 KB, created by
Justin Bronder (RETIRED)
on 2012-10-15 21:29:18 UTC
(
hide
)
Description:
configure-fix-pthread-linking.patch
Filename:
MIME Type:
Creator:
Justin Bronder (RETIRED)
Created:
2012-10-15 21:29:18 UTC
Size:
3.07 KB
patch
obsolete
>From fb71154012e634a5e780e93af5434bcdafaf2b24 Mon Sep 17 00:00:00 2001 >From: Justin Bronder <jsbronder@gmail.com> >Date: Mon, 15 Oct 2012 17:25:07 -0400 >Subject: [PATCH] configure: fix pthread linking > >- Update the pthread check to make sure that we don't need -lpthread when >compiling with -nostdlib. > >- Make sure that the necessary pthread library is passed to libtool. > >Fixes: > >$ ldd -r /usr/lib/libgtest.so > linux-vdso.so.1 (0x00007fffe7dff000) > libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libstdc++.so.6 (0x00007fbe09a9f000) > libc.so.6 => /lib64/libc.so.6 (0x00007fbe096f7000) > libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libgcc_s.so.1 (0x00007fbe094e1000) > libm.so.6 => /lib64/libm.so.6 (0x00007fbe091ee000) > /lib64/ld-linux-x86-64.so.2 (0x00007fbe0a005000) >undefined symbol: pthread_key_create (/usr/lib/libgtest.so) >undefined symbol: pthread_getspecific (/usr/lib/libgtest.so) >undefined symbol: pthread_key_delete (/usr/lib/libgtest.so) >undefined symbol: pthread_setspecific (/usr/lib/libgtest.so) >--- > Makefile.am | 1 + > m4/acx_pthread.m4 | 39 ++++++++++++++++++++++++++++++++++++++- > 2 files changed, 39 insertions(+), 1 deletions(-) > >diff --git a/Makefile.am b/Makefile.am >index cb350b7..db2606e 100644 >--- a/Makefile.am >+++ b/Makefile.am >@@ -181,6 +181,7 @@ endif > lib_LTLIBRARIES = lib/libgtest.la lib/libgtest_main.la > > lib_libgtest_la_SOURCES = src/gtest-all.cc >+lib_libgtest_la_LIBADD = $(AM_LIBS) > > pkginclude_HEADERS = \ > include/gtest/gtest-death-test.h \ >diff --git a/m4/acx_pthread.m4 b/m4/acx_pthread.m4 >index 2cf20de..7fba4d9 100644 >--- a/m4/acx_pthread.m4 >+++ b/m4/acx_pthread.m4 >@@ -339,7 +339,44 @@ if test "x$acx_pthread_ok" = xyes; then > # so it's not safe to assume that we may use pthreads > acx_pthread_ok=no > fi >- >+ >+ AC_MSG_CHECKING([whether what we have so far is sufficient with -nostdlib]) >+ CFLAGS="-nostdlib $CFLAGS" >+ # we need c with nostdlib >+ LIBS="$LIBS -lc" >+ AC_TRY_LINK([#include <pthread.h>], >+ [pthread_t th; pthread_join(th, 0); >+ pthread_attr_init(0); pthread_cleanup_push(0, 0); >+ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], >+ [done=yes],[done=no]) >+ >+ if test "x$done" = xyes; then >+ AC_MSG_RESULT([yes]) >+ else >+ AC_MSG_RESULT([no]) >+ fi >+ >+ if test x"$done" = xno; then >+ AC_MSG_CHECKING([whether -lpthread saves the day]) >+ LIBS="-lpthread $LIBS" >+ AC_TRY_LINK([#include <pthread.h>], >+ [pthread_t th; pthread_join(th, 0); >+ pthread_attr_init(0); pthread_cleanup_push(0, 0); >+ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], >+ [done=yes],[done=no]) >+ >+ if test "x$done" = xyes; then >+ AC_MSG_RESULT([yes]) >+ PTHREAD_LIBS="$PTHREAD_LIBS -lpthread" >+ else >+ AC_MSG_RESULT([no]) >+ AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries and -nostdlib]) >+ fi >+ fi >+ >+ CFLAGS="$save_CFLAGS" >+ LIBS="$save_LIBS" >+ CC="$save_CC" > CFLAGS="$save_CFLAGS" > LIBS="$save_LIBS" > CC="$save_CC" >-- >1.7.8.6 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 371647
:
288055
|
288057
| 326650