media-libs/qt-gstreamer needs Boost to build and run. But the ebuild doesn't depend on dev-libs/boost.
I can only find references to dev-libs/boost on build time. Can you please confirm?
Try: $ grep -r "boost::" /usr/include/QtGStreamer It's not exactly runtime, but it still needs Boost so software using QtGStreamer can be built. Maybe Portage treats this case in some other way? I don't know.
confirm! qt-gstreamer uses a lot of header-only libraries from boost! makeing it depends on >dev-libs/boost-1.39 (it is exact version required according its' CMakeLists.txt) will solve just one problem... here is another bunch of troubles: * net-libs/telepathy-log-qt fails to build cuz uses qt-gstreamer which is uses boost. First of all: its' CMakeLists.txt doesn't check for boost, cuz it doesn't depend on it directly! (only via qt-gstreamer). * The second problem: recent changes in =boost-1.50.0-r2 doesn't install any eselect-boost stuff -- it is why '#include <boost/config.hpp>' line in /usr/include/QtGStreamer/QGlib/global.h leads to an error and build failure -- there is no symlink /usr/include/boost anymore! * and finally qt-gstreamer-0.10.2.ebuild rdepends on >=boost-build-1.40, I don't know why... as I mentioned above according CMakeLists.txt qt-gstreamer needs boost >= 1.39
Fixed, thanks.
*** Bug 437710 has been marked as a duplicate of this bug. ***
media-libs/qt-gstreamer is DEPEND only for 2 packages: net-im/ktp-call-ui and net-libs/telepathy-logger-qt. If any of them needs boost-build for building, please add boost-build to their DEPEND and remove from RDEPEND of media-libs/qt-gstreamer.
(In reply to comment #6) > media-libs/qt-gstreamer is DEPEND only for 2 packages: net-im/ktp-call-ui > and net-libs/telepathy-logger-qt. If any of them needs boost-build for > building, please add boost-build to their DEPEND and remove from RDEPEND of > media-libs/qt-gstreamer. This is totally incorrect solution! qt-gstreamer should export its own dependencies, so other packages will use the same version of boost as used to compile qt-gstreamer. Otherwise there is a risc to find some other version of boost (other than qt-gstreamer was compile against) which may leads to hard detectable problems...
Current "solution" has same problem, it is possible to build media-libs/qt-gstreamer with boost-1.49.0-r1 and net-libs/telepathy-logger-qt with boost-1.41.0-r3. It is even possible to build any of them with boost-1.35.0-r2, because there is only check for which version of boost is installed, but not for which is selected with eselect. It is not possible to "export its own dependencies" with current portage and EAPI5, it is known limitation. Keeping boost-build in RDEPEND does not solve any problem, but breaks 'emerge --depclean --with-bdeps=n -qa'
Created attachment 326516 [details, diff] export all dependencies required to success compilation w/ qt-gstreamer
(In reply to comment #8) > Current "solution" has same problem, it is possible to build > media-libs/qt-gstreamer with boost-1.49.0-r1 and > net-libs/telepathy-logger-qt with boost-1.41.0-r3. It is even possible to > build any of them with boost-1.35.0-r2, because there is only check for > which version of boost is installed, but not for which is selected with > eselect. btw, be ready for no more eselect boost! qt-gstreamer must take care about all packages that will use it and MUST provide everything required to compile w/ it... this is not a task (to find qt-gstreamer's dependencies) for anyone else... This is so obvious and essential part of any good library, but too much libraries do not follow this practice (that was discovered after upgrade to boost-1.50.0-r1 (yep, w/o eselect boost anymore)... > It is not possible to "export its own dependencies" with current portage and > EAPI5, it is known limitation. this is not a task for emerge anyway (w/ any EPAI) -- this is a lack of qt-gstreame ONLY. Here is a patch I used to build it (and later KDE telepathy).
I did simple test: 'emerge -1vb net-im/ktp-call-ui net-libs/telepathy-logger-qt;emerge -C boost-build;emerge -1vb net-im/ktp-call-ui net-libs/telepathy-logger-qt' Builds fine, bins did not change - same sizes and md5sums. So i suggest just moving boost-build from RDEPEND to DEPEND in qt-gstreamer ebuild.
(In reply to comment #11) > I did simple test: 'emerge -1vb net-im/ktp-call-ui > net-libs/telepathy-logger-qt;emerge -C boost-build;emerge -1vb > net-im/ktp-call-ui net-libs/telepathy-logger-qt' > Builds fine, bins did not change - same sizes and md5sums. So i suggest just > moving boost-build from RDEPEND to DEPEND in qt-gstreamer ebuild. It uses only header only boost libraries, so RDEPEND do not needed anyway. btw, what boost do you have? please note that >=boost-1.50-r1 do not have `eselect boost` anymore (so there is no 'default' symlink /usr/include/boost) -- in that case dependend packages will fail to compile (because of lack of boost dependency in exported configuration files -- it is why I've done this patch)
boost-1.50-r1 is hard masked, i use stable amd64 system, my boost version is 1.49.0-r1.
(In reply to comment #13) > boost-1.50-r1 is hard masked, i use stable amd64 system, my boost version is > 1.49.0-r1. Yeah, I know... here is a bunch of bugs still opened: #425188. This one actually must be marked as blocker too...
boost-build dep removed wrt comments #8 and #11 (and also confirmed by flameeyes and me). Closing.