Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 503802

Summary: app-text/calibre-1.20 fails to compile - missing dependence dev-libs/boost
Product: Gentoo Linux Reporter: Vicente Olivert Riera (RETIRED) <vincent>
Component: Current packagesAssignee: Zac Medico <zmedico>
Status: RESOLVED FIXED    
Severity: normal CC: divanorama, yngwin
Priority: Normal Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://thread.gmane.org/gmane.linux.gentoo.devel/93400
See Also: https://bugs.gentoo.org/show_bug.cgi?id=392239
Whiteboard:
Package list:
Runtime testing required: ---

Description Vicente Olivert Riera (RETIRED) gentoo-dev 2014-03-08 01:30:41 UTC
In file included from /usr/include/podofo/podofo-base.h:27:0,
                 from /usr/include/podofo/podofo.h:34,
                 from /var/tmp/portage/app-text/calibre-1.20/work/calibre/src/calibre/utils/podofo/podofo.cpp:6:
/usr/include/podofo/base/PdfDefines.h:66:28: fatal error: boost/config.hpp: No such file or directory
compilation terminated.


boost/config.hpp is provided by dev-libs/boost, but calibre doesn't have that package in it's DEPEND variable.
Comment 1 Ben de Groot (RETIRED) gentoo-dev 2014-03-21 10:48:08 UTC
isn't this rather a podofo issue? or should calibre depend on podofo[boost]?
Comment 2 Vicente Olivert Riera (RETIRED) gentoo-dev 2014-03-27 09:04:32 UTC
podofo installs the package "dev-util/boost-build", but, in one of the headers files that it installs (PdfDefines.h) there is an include of "boost/config.hpp", which is provided by dev-libs/boost. And that header file (PdfDefines.h) is included in others 96 podifo headers, so yes, I think podofo should RDEPEND on dev-libs/boost.

---------------

# cd /usr/include/podofo/ && grep -R boost *
base/PdfDefines.h:#include <boost/config.hpp>

# cd /usr/include/podofo/ && grep -R "PdfDefines.h" * | wc -l
96
Comment 3 Zac Medico gentoo-dev 2014-10-12 02:02:19 UTC
How about if we add a virtual/podofo-build meta-package that pulls in podofo and boost. Then packages like calibre can put virtual/podofo-build in DEPEND and app-text/podofo in RDEPEND. This will make it possible to use a command like `emerge --depclean --with-bdeps=n` to remove the build-time only boost package (and virtual/podofo-build).
Comment 4 Zac Medico gentoo-dev 2014-10-13 19:01:42 UTC
*** Bug 484662 has been marked as a duplicate of this bug. ***
Comment 5 Zac Medico gentoo-dev 2014-10-16 20:55:24 UTC
(In reply to Zac Medico from comment #3)
> How about if we add a virtual/podofo-build meta-package that pulls in podofo
> and boost. Then packages like calibre can put virtual/podofo-build in DEPEND
> and app-text/podofo in RDEPEND. This will make it possible to use a command
> like `emerge --depclean --with-bdeps=n` to remove the build-time only boost
> package (and virtual/podofo-build).

Following discussion on the gentoo-dev mailing list, I've created virtual/podofo-build and added DEPEND of all calibre ebuilds. Conclusions from discussion:

1) We don't want calibre to DEPEND directly on boost, since it would be unfortunate to pull in boost if not needed (suppose that podofo was built with USE=boost disabled).

2) Virtuals are more flexible than the BADEPEND suggested in bug #392239. If we later find that virtual/podofo-build works for calibre but not some other reverse dependency of podofo, then we can always create a different virtual to put in DEPEND of said reverse-dependency.