graphics/graphviz fails to install

Da Rock freebsd-questions at
Thu Dec 30 14:34:56 UTC 2010

I'm following pr 147290, and I'm trying to fix it. I'm not sure how 
OpenEXR got involved but it is, and I need some help figuring out posix 
threads. I know I've bitten off way more than I can probably chew, but I 
will anyway :) I swallowed whole a medium mandarin when I was ten, so 
I'm used to it.

The output where it failed:

if test "x" = "x"; then if test -x /usr/local/bin/dot; then if test -x 
/sbin/ldconfig; then /sbin/ldconfig 2>/dev/null; fi; /usr/local/bin/dot 
-c; else /usr/local/bin/dot_static -c; fi; fi
terminate called after throwing an instance of 'Iex::EinvalExc'
   what():  Cannot lock mutex (Invalid argument).
gmake[4]: *** [install-exec-hook] Abort trap: 6 (core dumped)

Based on the info in the pr and looking at IlmThreadPool.cpp, it seems 
that thread is locked in preparation for its destruction. It can't lock 
and so it has a bitch about it and throws something.

Why I think along these lines is as I've read in the pr (someone more 
experienced than me debugged this far) the program fails at the 
lock(threadMutex) function and doesn't even run the finish() which shuts 
them down nicely (as I see it). According to IlmThreadPool.cpp finish() 
signals the threads to stop and waits for them. But if it can't lock and 
finish() doesn't run then SHTF and it complains.

Am I way off track? Or am I clear as mud? I think I'm struggling to find 
why it won't lock... One thought that crossed my mind is that the thread 
and/or mutex doesn't exist at this point- hence the invalid argument.

I read wikipedia on posix threads, and I know that doesn't even come 
close to what I facing here; I need to learn somehow though :)

More information about the freebsd-questions mailing list