Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78499 - OpenOffice 1.1.4 emerge fails when linking libsal.so: libpthread problem?
Summary: OpenOffice 1.1.4 emerge fails when linking libsal.so: libpthread problem?
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High critical (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-18 04:51 UTC by Klaus Kusche
Modified: 2005-01-19 06:49 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
nptl.patch (nptl.patch,705 bytes, patch)
2005-01-18 09:19 UTC, Andreas Proschofsky (RETIRED)
Details | Diff
Part of openoffice emerge log (openoffice-1.1.4-build.log,59.56 KB, text/plain)
2005-01-18 11:50 UTC, Will Lepofsky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Klaus Kusche 2005-01-18 04:51:02 UTC
I try to emerge OpenOffice with the following flags:
[ebuild     U ] app-office/openoffice-1.1.4 [1.1.3] +curl -debug -gnome -hardened -java* +kde +nptl +zlib
(note the +nptl!)

That fails with:
...
/var/tmp/portage/openoffice-1.1.4/work/sal/util
------------------------------
Making: ../unxlngi4.pro/lib/libsal.so.3.1.0
gcc -c -fPIC -o ../unxlngi4.pro/slo/sal_version.o -DUNX  -I../unxlngi4.pro/inc /var/tmp/portage/openoffice-1.1.4/work/solenv/src/version.c
g++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-rpath,'$ORIGIN' "-Wl,-hlibsal.so.3" -sh
... (command line is about 30 lines long)
../unxlngi4.pro/slo/process.o(.text+0xe11): In function `ChildStatusProc':
: undefined reference to `pthread_kill_other_threads_np'
collect2: ld returned 1 exit status
dmake:  Error code 1, while making '../unxlngi4.pro/lib/libsal.so.3.1.0'

I tried to investigate the problem:
* `pthread_kill_other_threads_np' should be defined in /lib/libpthread.so.0, and that library is included by the linker.
* However, `pthread_kill_other_threads_np' is a *private* symbol of /lib/libpthread.so.0, not a public one, because that function is no longer needed nor supported by libpthread. 
nm output: 0000aef0 t __pthread_kill_other_threads_np (note the lower "t"!)
* There is only a public backwards-compatibility symbol in /lib/libpthread.so.0 (nm output: 0000aef0 T pthread_kill_other_threads_np@GLIBC_2.0).

My libpthread is from glibc-2.3.4.20040808-r1.
Comment 1 Toon Verstraelen 2005-01-18 05:05:56 UTC
Having exactly the same problem, also same glibc version, also using nptl. Here is my emerge info.

Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r4 i686)
=================================================================
System uname: 2.6.10-gentoo-r4 i686 Intel(R) Pentium(R) M processor 1400MHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1,sys-kernel/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi acpi4linux adns alsa atlas avi berkdb bitmap-fonts bonobo cdr crypt cups dga directfb divx4linux doc dvd encode esd f77 fam fbcon font-server foomaticdb fortran gdbm gimpprint gnome gnomedb gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile imagemagick imap imlib ipv6 java jpeg ldap libg++ libwww mad mikmod mmx mozilla moznocompose moznoirc mozplaintext mozsvg mpeg mpeg4 mysql ncurses nls nptl odbc oggvorbis opengl pam pdflib perl png pnp python readline samba sdl slang spell sse ssl tcltk tcpd tetex tiff timidity truetype truetype-fonts type1-fonts unicode usb x86 xml xml2 xmms xv zlib"
Comment 2 Andreas Proschofsky (RETIRED) gentoo-dev 2005-01-18 05:53:10 UTC
@Klaus: Could you please also post your output of "emerge info", this is crucial information in narrowing down the problem.

nptl works fine for me, but I'm using ~x86, so maybe this is a problem with the current stable glibc (just a wild guess)
Comment 3 Klaus Kusche 2005-01-18 06:05:03 UTC
Portage 2.0.51-r3 (default-linux/x86/2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.10-hardened-r1 i686)
=================================================================
System uname: 2.6.10-hardened-r1 i686 Intel(R) Pentium(R) 4 Mobile CPU 1.60GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium2 -mcpu=pentium4 -O3 -fforce-addr -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium2 -mcpu=pentium4 -O3 -fforce-addr -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig buildpkg ccache collision-protect distlocks keeptemp keepwork maketest sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.inode.at/ ftp://gentoo.inode.at/source/ http://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X acpi adns apm bcmath bitmap-fonts boundschecking bzlib cdb cdr crypt cscope ctype cups curl curlwrappers dba dbm dbx dio dvd ethereal exif fftw font-server foomaticdb ftp gdbm gif gmp gnutls graphviz gtk gtk2 iconv imagemagick imap imlib java jpeg jpeg2k libg++ libwww lzw-tiff maildir makecheck mbox mhash mime mmap mmx mng mozilla ncurses nocardbus nocd nomotif nptl pam pcntl pcre pdflib perl php pie plotutils png posix ppds pthreads python quicktime readline recode scanner sdk sdl sftplogging shared sharedmem simplexml slang soap sockets spl ssl svg symlink sysvipc tcltk tetex threads tiff tokenizer truetype truetype-fonts type1-fonts usb userlocales wmf wxwindows x86 xml xml2 xmlrpc xpm xsl zlib"

And from my "package.use": app-office/openoffice kde -java
Comment 4 Will Lepofsky 2005-01-18 08:59:51 UTC
@Andreas:  Well, we meet again ;).  Anyway, I'll repost my stuff here, for the official record.

-------

emerge info:

Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-2 i686)
=================================================================
System uname: 2.6.10-2 i686 Intel(R) Pentium(R) 4 CPU 2.66GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://mirror.datapipe.net/gentoo http://gentoo.mirrors.pair.com/ http://mirrors.tds.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa apache2 avi berkdb bitmap-fonts bzlib cdr crypt cscope cups dga dvd dvdr encode f77 fam flac font-server foomaticdb fortran gdbm gif gpm gtk gtk2 imlib java joystick jpeg junit kerberos lcms ldap libg++ libwww mad mikmod mmx mmx2 mng motif mpeg ncurses nls nptl odbc offensive oggvorbis openal opengl pam pdflib perl png pnp ppds python quicktime readline real samba sasl sdl slp snmp spell sse sse2 ssl svg svga tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb wmf x86 xml2 xmms xprint xv zlib"

And the error at hand:

Making: ../unxlngi4.pro/lib/libsal.so.3.1.0
gcc -c -fPIC -o ../unxlngi4.pro/slo/sal_version.o -DUNX  -I../unxlngi4.pro/inc /
var/tmp/portage/openoffice-1.1.4/work/solenv/src/version.c
g++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-rpath,'$ORIGIN' "-Wl,-hlibsal.so.3" -share
d -Wl,-O1 -Wl,--version-script ../unxlngi4.pro/misc/sal_sal.map -L../unxlngi4.pr
o/lib -L../lib -L/var/tmp/portage/openoffice-1.1.4/work/solenv/unxlngi4/lib -L/v
ar/tmp/portage/openoffice-1.1.4/work/solver/645/unxlngi4.pro/lib -L/var/tmp/port
age/openoffice-1.1.4/work/solenv/unxlngi4/lib -L/opt/sun-jdk-1.4.2.06/lib -L/opt
/sun-jdk-1.4.2.06/jre/lib/i386 -L/opt/sun-jdk-1.4.2.06/jre/lib/i386/client -L/op
t/sun-jdk-1.4.2.06/jre/lib/i386/native_threads -L/usr/X11R6/lib ../unxlngi4.pro/
slo/sal_version.o ../unxlngi4.pro/slo/sal_description.o -o ../unxlngi4.pro/lib/l
ibsal.so.3.1.0 ../unxlngi4.pro/slo/utility.o ../unxlngi4.pro/slo/readline.o ../u
nxlngi4.pro/slo/filepath.o ../unxlngi4.pro/slo/conditn.o ../unxlngi4.pro/slo/dia
gnose.o ../unxlngi4.pro/slo/semaphor.o ../unxlngi4.pro/slo/socket.o ../unxlngi4.
pro/slo/interlck.o ../unxlngi4.pro/slo/mutex.o ../unxlngi4.pro/slo/nlsupport.o .
./unxlngi4.pro/slo/thread.o ../unxlngi4.pro/slo/module.o ../unxlngi4.pro/slo/pro
cess.o ../unxlngi4.pro/slo/security.o ../unxlngi4.pro/slo/profile.o ../unxlngi4.
pro/slo/time.o ../unxlngi4.pro/slo/file.o ../unxlngi4.pro/slo/signal.o ../unxlng
i4.pro/slo/pipe.o ../unxlngi4.pro/slo/system.o ../unxlngi4.pro/slo/util.o ../unx
lngi4.pro/slo/tempfile.o ../unxlngi4.pro/slo/file_url.o ../unxlngi4.pro/slo/file
_error_transl.o ../unxlngi4.pro/slo/file_path_helper.o ../unxlngi4.pro/slo/uunxa
pi.o ../unxlngi4.pro/slo/process_impl.o ../unxlngi4.pro/slo/file_stat.o ../unxln
gi4.pro/slo/alloc.o ../unxlngi4.pro/slo/memory.o ../unxlngi4.pro/slo/cipher.o ..
/unxlngi4.pro/slo/crc.o ../unxlngi4.pro/slo/digest.o ../unxlngi4.pro/slo/random.
o ../unxlngi4.pro/slo/locale.o ../unxlngi4.pro/slo/strimp.o ../unxlngi4.pro/slo/
string.o ../unxlngi4.pro/slo/ustring.o ../unxlngi4.pro/slo/strbuf.o ../unxlngi4.
pro/slo/ustrbuf.o ../unxlngi4.pro/slo/uuid.o ../unxlngi4.pro/slo/rtl_process.o .
./unxlngi4.pro/slo/byteseq.o ../unxlngi4.pro/slo/uri.o ../unxlngi4.pro/slo/boots
trap.o ../unxlngi4.pro/slo/cmdargs.o ../unxlngi4.pro/slo/macro.o ../unxlngi4.pro
/slo/unload.o ../unxlngi4.pro/slo/logfile.o ../unxlngi4.pro/slo/tres.o ../unxlng
i4.pro/slo/math.o ../unxlngi4.pro/slo/debugprint.o ../unxlngi4.pro/slo/context.o
 ../unxlngi4.pro/slo/convertbig5hkscs.o ../unxlngi4.pro/slo/converter.o ../unxln
gi4.pro/slo/converteuctw.o ../unxlngi4.pro/slo/convertgb18030.o ../unxlngi4.pro/
slo/convertiso2022cn.o ../unxlngi4.pro/slo/convertiso2022jp.o ../unxlngi4.pro/sl
o/convertiso2022kr.o ../unxlngi4.pro/slo/tcvtbyte.o ../unxlngi4.pro/slo/tcvtmb.o
 ../unxlngi4.pro/slo/tcvtutf7.o ../unxlngi4.pro/slo/tcvtutf8.o ../unxlngi4.pro/s
lo/tenchelp.o ../unxlngi4.pro/slo/tencinfo.o ../unxlngi4.pro/slo/textcvt.o ../un
xlngi4.pro/slo/textenc.o ../unxlngi4.pro/slo/unichars.o -ldl -lpthread -lm
../unxlngi4.pro/slo/process.o(.text+0xe2e): In function `ChildStatusProc':
: undefined reference to `pthread_kill_other_threads_np'
collect2: ld returned 1 exit status
dmake:  Error code 1, while making '../unxlngi4.pro/lib/libsal.so.3.1.0'
---* TG_SLO.MK *---

ERROR: Error 65280 occurred while making /var/tmp/portage/openoffice-1.1.4/work/
sal/util

!!! ERROR: app-office/openoffice-1.1.4 failed.
!!! Function src_compile, Line 389, Exitcode 1
!!! Build failed!
!!! If you need support, post the topmost build error, NOT this status message.

-------

And just so everyone on this bug knows, I have performed an emerge system -eD with the same problem resulting.

Anyway, if you need the complete log of the openoffice build, just let me know.
Comment 5 Andreas Proschofsky (RETIRED) gentoo-dev 2005-01-18 09:16:05 UTC
@Will: Hi again ;)

Looks like this only happens on stable systems with nptl, which makes sense as the unstable glibc also provide linuxthreads as a fallback. pthread_kill_other_threads_np is not supported anymore on nptl-only systems, so this should be the reason, solution (or at least the try to) follows.
Comment 6 Andreas Proschofsky (RETIRED) gentoo-dev 2005-01-18 09:19:03 UTC
Created attachment 48845 [details, diff]
nptl.patch

Could you please copy this patch to app-office/openoffice/files/1.1.4 and add
this part to the ebuild:

	if use nptl; then
		epatch ${FILESDIR}/${PV}/nptl.patch
	fi

right in front of the freetype patch. Hope this fixes the problem.
Comment 7 Andreas Proschofsky (RETIRED) gentoo-dev 2005-01-18 09:30:01 UTC
I've now also commited this change to portage, so if you don't want to add the patch manually resync (give the mirrors a little bit to catch up) and try again
Comment 8 Will Lepofsky 2005-01-18 11:50:59 UTC
Created attachment 48864 [details]
Part of openoffice emerge log

Last part of penoffice-1.1.4 emerge log file with patch added.
Comment 9 Will Lepofsky 2005-01-18 11:54:57 UTC
@Andreas:  Well, now I have a new problem.  I downloaded the file and edited the ebuild as requested.  But now I get this:

-------

Making: ../../unxlngi4.pro/lib/libpyuno.so
gcc -c -fPIC -o ../../unxlngi4.pro/slo/pyuno_version.o -DUNX  -I../../unxlngi4.pro/inc /var/tmp/portage/openoffice-1.1.4/work/solenv/src/version.c
g++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-rpath,'$ORIGIN' -shared -L../../unxlngi4.pro/lib -L../lib -L/var/tmp/portage/openoffice-1.1.4/work/solenv/unxlngi4/lib -L/var/tmp/portage/openoffice-1.1.4/work/solver/645/unxlngi4.pro/lib -L/var/tmp/portage/openoffice-1.1.4/work/solenv/unxlngi4/lib -L/opt/sun-jdk-1.4.2.06/lib -L/opt/sun-jdk-1.4.2.06/jre/lib/i386 -L/opt/sun-jdk-1.4.2.06/jre/lib/i386/client -L/opt/sun-jdk-1.4.2.06/jre/lib/i386/native_threads -L/usr/X11R6/lib ../../unxlngi4.pro/slo/pyuno_version.o ../../unxlngi4.pro/slo/pyuno_description.o -o ../../unxlngi4.pro/lib/libpyuno.so ../../unxlngi4.pro/slo/pyuno_runtime.o ../../unxlngi4.pro/slo/pyuno.o ../../unxlngi4.pro/slo/pyuno_callable.o ../../unxlngi4.pro/slo/pyuno_module.o ../../unxlngi4.pro/slo/pyuno_type.o ../../unxlngi4.pro/slo/pyuno_util.o ../../unxlngi4.pro/slo/pyuno_except.o ../../unxlngi4.pro/slo/pyuno_adapter.o ../../unxlngi4.pro/slo/pyuno_gc.o -lcppu -lcppuhelpergcc3 -lsal -ldl -lpthread -lm -Wl,-Bdynamic -lstlport_gcc -lpthread -lstdc++
../../unxlngi4.pro/slo/pyuno_runtime.o(.text+0x1b): In function `pyuno::getRuntimeImpl(pyuno::PyRef&, pyuno::PyRef&)':
: undefined reference to `PyThreadState_Get'
../../unxlngi4.pro/slo/pyuno_runtime.o(.text+0x31): In function `pyuno::getRuntimeImpl(pyuno::PyRef&, pyuno::PyRef&)':
: undefined reference to `PyImport_AddModule'
../../unxlngi4.pro/slo/pyuno_runtime.o(.text+0x39): In function `pyuno::getRuntimeImpl(pyuno::PyRef&, pyuno::PyRef&)':
: undefined reference to `PyModule_GetDict'
../../unxlngi4.pro/slo/pyuno_runtime.o(.text+0x95): In function `pyuno::getRuntimeImpl(pyuno::PyRef&, pyuno::PyRef&)':
: undefined reference to `PyDict_GetItemString'
../../unxlngi4.pro/slo/pyuno_runtime.o(.text+0x28b): In function `pyuno::importUnoModule()':

-------

And that is just part of the list.  The undefined reference to Py* goes on for some time.  Due to size of 8.3M, I couldn't attach the complete log.  So, I have attached the last part of the logfile.  I'm going to try to re-emerge python just incase.
Comment 10 Andreas Proschofsky (RETIRED) gentoo-dev 2005-01-18 12:00:15 UTC
@Will: I'm afraid I will have to send you to another bug, again ;) Your new breakage is this one:

http://bugs.gentoo.org/show_bug.cgi?id=78419

As you can see by my last comments this should have been fixed too now, so an emerge sync might make you happy ;)

Anyway: Looks like we have nailed this bug down, so: Closing. Please reopen if the bug persist for any of you
Comment 11 Will Lepofsky 2005-01-18 12:06:34 UTC
@Andreas:  I can just feel the love again... ;)  If I have any more problems, I'll try my luck on the next bug.  Thanks for all of the help.