> > Hi Robert,
> >
> > The "_np" suffix means a GNU Non-Portable extension.
> >
> > So pthread_setaffinity_np() isn't present on BSD UNIX.
> >
> > CHECK_FUNCTION_EXISTS(pthread_setaffinity_np HAVE_PTHREAD_SETAFFINITY_NP)
>
>What I don't understand is why CHECK_FUNCTION_EXISTS isn't doing the
>right thing, as this is specifically what this line the CMakeLists.txt
>is supposed to be doing.
>
>Is there any chance you have multiple pthread headers on your system?


Hi Robert,

Yes, that's the problem.


>Something else that is confusing CMake?  Perhaps a Cmake bug?  Which
>version of CMake are you using?


What is happening is that BSD splits POSIX pthreads into
standard and non-standard headers:

-r--r--r--  1 root  wheel  10775 Nov 21 08:55 /usr/include/pthread.h
-r--r--r--  1 root  wheel   3258 Nov 21 08:55 /usr/include/pthread_np.h

cmake finds that function but the _np header isn't included by C++.

Waitaminute...*_np() functions are in the BSD thread library
but are missing in the BSD man pages (undocumented).
Nevertheless, I'd only consider them as available if Linux.

--
Jim Brooks
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to