[pkg-boost-devel] Bug#550006: libboost-graph-dev: Headers uses more of other headers, including a python one

Sune Vuorela reportbug at pusling.com
Tue Oct 6 22:47:03 UTC 2009


Package: libboost-graph-dev
Severity: serious
Justification: breaks other things


Hi

We have recently gotten a series of ftbfs bugs in kde, that uses
boost-graph a bit.

It can best be described with:

n file included from /usr/include/boost/parameter/aux_/arg_list.hpp:14,
                 from /usr/include/boost/parameter/aux_/tagged_argument.hpp:10,
                 from /usr/include/boost/parameter/aux_/tag.hpp:8,
                 from /usr/include/boost/parameter/keyword.hpp:10,
                 from /usr/include/boost/parameter/name.hpp:8,
                 from /usr/include/boost/graph/named_function_params.hpp:15,
                 from /usr/include/boost/graph/depth_first_search.hpp:21,
                 from /usr/include/boost/graph/topological_sort.hpp:16,
                 from ../../kleopatra/models/keylistmodel.cpp:61:
/usr/include/boost/parameter/aux_/maybe.hpp:13:53: error: boost/python/detail/referent_storage.hpp: No such file or directory

It is new in boost 1.39 that named_function_params.hpp have stared to include 
name.hpp, but the aux_/maybe.hpp header has been using
python/detail/referent_storage.hpp as long as I can look it back in the
version I have installed on various machines.

The referent_storage.hpp file in boost::python is actually fully
self-contained and could be moved to the main boost-dev package without
any problems. 

I tried builidng a local set of packages that moved referent_storage.hpp
into the boost-dev package, and now kdepim and kdepimlibs built again
for me without any changes.

We have currently worked around it in kde by build-depending on
libboost-python-dev, but somehow it feels wrong to do that, just to use
BGL.

A quick patch:

diff -u boost1.40-1.40.0/debian/control boost1.40-1.40.0/debian/control
--- boost1.40-1.40.0/debian/control
+++ boost1.40-1.40.0/debian/control
@@ -29,7 +29,7 @@
 Depends: ${misc:Depends}, ${shlibs:Depends}, libstdc++6-4.4-dev | libstdc++-dev
 Suggests: libboost1.40-doc, libboost-date-time1.40-dev, libboost-filesystem1.40-dev, libboost-graph1.40-dev, libboost-iostreams1.40-dev, libboost-math1.40-dev, libboost-mpi1.40-dev, libboost-program-options1.40-dev, libboost-python1.40-dev, libboost-regex1.40-dev, libboost-serialization1.40-dev, libboost-signals1.40-dev, libboost-system1.40-dev, libboost-test1.40-dev, libboost-thread1.40-dev, libboost-wave1.40-dev, xsltproc, doxygen, docbook-xml (>= 4.2), docbook-xsl (>= 1.73.2), default-jdk (>= 1.4), fop (>= 0.94)
 Conflicts: libboost-dev (<< 1.35.0), bcp, libboost1.35-dev, libboost1.36-dev, libboost1.37-dev, libboost1.38-dev, libboost1.39-dev
-Replaces: bcp
+Replaces: bcp, libboost-python1.39-dev, libboost-python1.38-dev, libboost-python1.37-dev, libboost-python1.36-dev, libboost-python1.35-dev, libboost-python-dev (<< 1.35.0), libboost-python1.40-dev (<= 1.40.0-1)
 Provides: bcp
 Description: Boost C++ Libraries development files
  The Boost web site provides free, peer-reviewed, portable C++ source
diff -u boost1.40-1.40.0/debian/rules boost1.40-1.40.0/debian/rules
--- boost1.40-1.40.0/debian/rules
+++ boost1.40-1.40.0/debian/rules
@@ -330,6 +330,9 @@
        dh_installdirs -plibboost-python$(PKGVERSION)-dev usr/include/boost
        mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/python* \
           debian/libboost-python$(PKGVERSION)-dev/usr/include/boost
+       # we need to move a file back to the generic dev, as it is used quite much by other parts, and doesn't actually include any boost things.
+       mkdir -p debian/libboost$(PKGVERSION)-dev/usr/include/boost/python/detail/
+       mv debian/libboost-python$(PKGVERSION)-dev/usr/include/boost/python/detail/referent_storage.hpp debian/libboost$(PKGVERSION)-dev/usr/include/boost/python/detail/
        dh_install -plibboost-python$(PKGVERSION)-dev --autodest \
           debian/tmp/usr/share/python/runtime.d/libboost-python$(PKGVERSION)-dev.rtupdate
        dh_link -plibboost-python$(PKGVERSION)-dev
diff -u boost1.40-1.40.0/debian/changelog boost1.40-1.40.0/debian/changelog
--- boost1.40-1.40.0/debian/changelog
+++ boost1.40-1.40.0/debian/changelog
@@ -1,3 +1,12 @@
+boost1.40 (1.40.0-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Move boost/python/detail/referent_storage.hpp into the generic boost-dev
+    pacakge, as it isn't python specific at all and used unconditionally by
+    headers in boost-dev, that is now used by large parts of BGL.
+
+ -- Sune Vuorela <debian at pusling.com>  Sat, 03 Oct 2009 10:22:21 +0200
+
 boost1.40 (1.40.0-1) unstable; urgency=low

   * New upstream.  Version string updates to control & rules.  File list



/Sune


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/1 CPU core)
Locale: LANG=en_DK.ISO-8859-15, LC_CTYPE=en_DK.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/dash





More information about the pkg-boost-devel mailing list