boost-python-libs and associated compile errors

Mel Flynn mel.flynn+fbsd.ports at mailing.thruhere.net
Thu Sep 3 20:00:50 UTC 2009


On Thursday 03 September 2009 17:48:36 David Southwell wrote:
> > On Wednesday 26 August 2009 16:07:56 David Southwell wrote:
> > > I have just completed
> > > # portupgrade -fRra
> > > following a system upgrade from freebsd 7.2 p2 to p3
> > >
> > > after a few minor hiccuups and recompiling ssome of the ports I am left
> > > with four failing ports. As at least three of them seem to share some
> > > common features. If anyone would be willing to help me out here it
> > > would be most appreciated.
> > > The failure list is:
> > >
> > > ! science/openbabel (openbabel-2.2.1)   (unknown build error)
> > > * misc/kdeedu4 (kdeedu-4.2.4)
> > > ! graphics/blender (blender-2.49a_1)    (unknown build error)
> > > ! deskutils/kdeplasma-addons (kdeplasma-addons-4.2.4_1) (missing
> > > header)
> > >
> > > The errors reports are shown below in the same order.
> > > The common features are:
> > > problems with compiling boost-python-libs
> > > threading issues
> > >
> > > ######
> > >  ! science/openbabel (openbabel-2.2.1)   (unknown build error)
> > > ######
> > >
> > > In file included from /usr/include/c++/4.2/bits/gthr.h:114,
> > >                  from /usr/include/c++/4.2/bits/c++io.h:43,
> > >                  from /usr/include/c++/4.2/iosfwd:46,
> > >                  from /usr/include/c++/4.2/ios:43,
> > >                  from /usr/include/c++/4.2/ostream:45,
> > >                  from /usr/include/c++/4.2/iterator:70,
> > >                  from ./boost/iterator.hpp:17,
> > >                  from ./boost/operators.hpp:81,
> > >                  from ./boost/python/type_id.hpp:11,
> > >                  from ./boost/python/converter/registrations.hpp:10,
> > >                  from
> > > libs/python/src/object/function_doc_signature.cpp:6:
> > > /usr/include/c++/4.2/bits/gthr-default.h: In function 'int
> > > __gthread_active_p()':
> > > /usr/include/c++/4.2/bits/gthr-default.h:174: error: conversion from
> > > 'int' to non-scalar type 'pthread_once' requested
> > > ...failed gcc.compile.c++
> > > bin.v2/libs/python/build/gcc-4.2.1/release/link-
> > > static/threading-multi/object/function_doc_signature.o...
> > > ...skipped
> > > <pbin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-
> > > multi>libboost_python.a(clean) for lack of
> > > <pbin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-
> > > multi>numeric.o...
> > > ...skipped
> > > <pbin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-
> > > multi>libboost_python.a for lack of
> > > <pbin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-
> > > multi>numeric.o...
> > > ...skipped <pstage/lib>libboost_python.a for lack of
> > > <pbin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-
> > > multi>libboost_python.a...
> > > ...failed updating 54 targets...
> > > ...skipped 5 targets...
> > > ...updated 17 targets...
> > > *** Error code 1
> > >
> > > Stop in /usr/ports/devel/boost-python-libs.
> > > *** Error code 1
> > >
> > > Stop in /usr/ports/devel/boost-python-libs.
> > > *** Error code 1
> > >
> > > Stop in /usr/ports/science/openbabel.
> > > ** Command failed [exit code 1]: /usr/bin/script -qa
> > > /tmp/portupgrade20090826-26960-1q590yk-0 env UPGRADE_TOOL=portupgrade
> > > UPGRADE_PORT=openbabel-2.2.1 UPGRADE_PORT_VER=2.2.1 make
> > > ** Fix the problem and try again.
> > > ######
> > > * misc/kdeedu4 (kdeedu-4.2.4)
> > > ######
> > >
> > > In file included from /usr/include/c++/4.2/bits/gthr-default.h:43,
> > >                  from /usr/include/c++/4.2/bits/gthr.h:114,
> > >                  from /usr/include/c++/4.2/bits/c++io.h:43,
> > >                  from /usr/include/c++/4.2/iosfwd:46,
> > >                  from /usr/include/c++/4.2/ios:43,
> > >                  from /usr/include/c++/4.2/ostream:45,
> > >                  from /usr/include/c++/4.2/iterator:70,
> > >                  from ./boost/iterator.hpp:17,
> > >                  from ./boost/operators.hpp:81,
> > >                  from ./boost/python/type_id.hpp:11,
> > >                  from ./boost/python/converter/registrations.hpp:10,
> > >                  from
> > > libs/python/src/object/function_doc_signature.cpp:6:
> > > /usr/local/include/python2.6/pthread.h:285: error: conflicting
> > > declaration 'typedef struct pthread_st* pthread_t'
> >
> >                           ^^
> >
> > David, I really think that your previous escapade with pth+python has
> > screwed up boost-python. Did you recompile boost after removing pth from
> > python? Because, pth/pthread.h:
> >    282   /*
> >    283    * Primitive system data type definitions required by P1003.1c
> >    284    */
> >    285   typedef struct  pthread_st              *pthread_t;
> >                                  ^^
>
> After the last escapade I did a complete system rebuild and a total rebuild
> of all ports including python.
>
> But let us assume the worst. How would you suggest I do a complete rebuild
> of the relevant dependencies? I have already tried portupgrade -rRfa but
> still have the problem.

I would pkg_delete pth-\*, then portmaster -rf /usr/ports/lang/python26, just 
in case pth is picked up automagically. Because this python2.6/pthread.h 
really shows pth constructs, rather then FreeBSD native threads. I would not 
use portupgrade, because I'm biased, because it may use locally present 
packages which it built with the wrong options and because the configuration 
file can introduce behaviors not seen or thought of on lists. If you script(1) 
the portmaster output, all relevant info should be present.
-- 
Mel


More information about the freebsd-ports mailing list