"Mutex unlock failure" when compiling KDE (upgrade from 6.x)

RCL dmitry.rekman at gmail.com
Fri Mar 21 22:45:40 PDT 2008


I'm having the same troubles as Leslie Jensen when compiling KDE (or
anything that uses uic, e.g. amarok):
compile process stucks with the following message:

Mutex unlock failure: Operation not permitted

I found out that the problem was already being investigated here on
the list, but no solution has yet been proposed :(
If it helps, I performed the steps that Mel asked to perform and
here's the log file of Qt build process:


The actual command that is used to link uic is:
c++ -fno-exceptions  -Wl,-rpath,/usr/local/lib
-Wl,-rpath,/usr/local/lib -pthread -o ../../../bin/uic
o  .obj/release-shared-mt/uic.o  .obj/release-shared-mt/form.o
.obj/release-shared-mt/object.o  .obj/release-shared-mt/subclassing
.o  .obj/release-shared-mt/embed.o
.obj/release-shared-mt/domtool.o  .obj/release-shared-
mt/parser.o    -L/usr/local/lib
-L/usr/local/lib -lqt-mt -lmng -ljpeg -lp
ng -lz -lXi -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype
-lfontconfig -lXext -lX11 -lm -lSM -lICE

There's no file libpthread.* in /usr/local/lib. These are
libpthread.so/a files I have:

# ls -la `locate libpthread.{a,so}`
lrwxrwxrwx  1 root  wheel      19 Feb 29 13:57
/usr/compat/linux/lib/libpthread.so.0 -> libpthread-2.3.6.so
lrwxrwxrwx  1 root  wheel      18 Feb 29 13:57
/usr/compat/linux/lib/obsolete/linuxthreads/libpthread.so.0 ->
lrwxr-xr-x  1 root  wheel       8 Feb 29 12:21 /usr/lib/libpthread.a -> libthr.a
-r--r--r--  1 root  wheel  136020 Feb 29 16:16
-r-xr-xr-x  1 root  wheel   43284 Oct 17 00:52
lrwxr-xr-x  1 root  wheel      13 Oct 17 00:52
/usr/local/lib/valgrind/libpthread.so.2 -> libpthread.so

I upgraded the system nearly a month ago (On 29th Feb) and since then
I cannot build any KDE application (not even rebuild kde base/lib
ports themselves).
Upgrade procedure I used is described here:

I hope the information provided will help further investigate the
problem. I don't want to reinstall the system, that feels like a
solution from Windows world :-)

Best regards,
Dmitry RCL Rekman

Mel wrote:

> Nope. But I would be interested to see what the line is that compiles uic. And
> what configure produces.
> I still think there's something '6.x-ish' going on here, but without knowing
> how uic gets built, it's anyone's guess.
> Could you try the following:
> cd /usr/ports/x11/qt33
> make clean
> mkdir /var/log/portbuilds
> make build >/var/log/portbuilds/`make -V PKGNAME`.log 2>&1
> make -V CONFIGURE_ARGS >> /var/log/portbuilds/`make -V PKGNAME`.log
> cat `make -V WRKSRC`/config.log \
> 	>>/var/log/portbuilds/`make -V PKGNAME`.log
> Then put that log up somewhere if you have webspace, or try to find references
> to '-pthread', 'libpthread', 'libthr' and the final link command that makes
> uic.
> It's probably some setting you have or some stray library that causes this and
> until you get it resolved, you can't trust any threaded application you build
> from ports. Or, it's specific for qt, but I highly doubt that.

More information about the freebsd-questions mailing list