Summary: | www-client/chromium - fails to compile with =app-accessibility/speech-dispatcher-0.8 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Denis M. (Phr33d0m) <god> |
Component: | Current packages | Assignee: | Chromium Project <chromium> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ao, attila.jecs, bircoph, darkcircle.0426, denis, jlec, jwbraun, kanelxake, m.debruijne, mail, marduk, marienz, Martin.vGagern, mmk, moses.matthewl, oli.huber, tdalman, tetromino, travisghansen |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=462356 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
www-client:chromium-26.0.1410.43.tar.xz (build log)
workaround patch |
Description
Denis M. (Phr33d0m)
2013-03-27 22:26:43 UTC
Created attachment 343516 [details, diff]
workaround patch
I experience the same build error with www-client/chromium-27.0.1453.3 and speech-dispatcher 0.8. It however builds fine with speech-dispatcher-0.7.1-r2. The patch in Comment #1 worked for me (www-client/chromium-27.0.1453.3, app-accessibility/speech-dispatcher-0.8) (In reply to comment #1) > Created attachment 343516 [details, diff] [details, diff] > workaround patch Sorry, this doesn't look correct to me even if it "works". We shouldn't be using <(sysroot), and using headers that do not match the linked library is recipe for trouble. I am trying to build www-client/chromium-26.0.1410.43 too and ran into the same issue. I wonder whether first building it with app-accessibility/speech-dispatcher-0.7.1-r2 and afterwards re-upgrading to app-accessibility/speech-dispatcher-0.8-r1 works? By the way if you want to test patches <https://projects.archlinux.org/svntogit/packages.git/tree/trunk/chromium-26.0.1410.43-speechd-0.8.patch?h=packages/chromium> looks promising. (In reply to comment #6) > By the way if you want to test patches > <https://projects.archlinux.org/svntogit/packages.git/tree/trunk/chromium-26. > 0.1410.43-speechd-0.8.patch?h=packages/chromium> looks promising. It works here. Tested with 27.0.1453.3 on ~amd64. speech-dispatcher upstream moved their header around, see http://git.freebsoft.org/?p=speechd.git;a=commitdiff;h=7a217e8ef5fcae2cdf3541f326e961982742fc43 "Since we have more than one public header now, they need to be installed in /usr/include/speech-dispatcher." /usr/include/speech-dispatcher/libspeechd.h looks like it's at least mostly compatible with the former /usr/include/libspeechd.h. Unfortunately the pkg-config file doesn't specify an includedir of /usr/include/speech-dispatcher, and judging from the "#include <speech-dispatcher/speechd_types.h>" in /usr/include/speech-dispatcher/libspeechd.h the intention really might be that everyone goes and updates their includes? The patch suggested in comment #6 looks reasonable if it also introduces a dependency on speech-dispatcher >= 0.8. *** Bug 463594 has been marked as a duplicate of this bug. *** (In reply to comment #5) > I am trying to build www-client/chromium-26.0.1410.43 too and ran into the > same issue. I wonder whether first building it with > app-accessibility/speech-dispatcher-0.7.1-r2 and afterwards re-upgrading to > app-accessibility/speech-dispatcher-0.8-r1 works? It works :) (In reply to comment #7) > (In reply to comment #6) > > By the way if you want to test patches > > <https://projects.archlinux.org/svntogit/packages.git/tree/trunk/chromium-26. > > 0.1410.43-speechd-0.8.patch?h=packages/chromium> looks promising. > > It works here. Tested with 27.0.1453.3 on ~amd64. Works here too. Compiled with 26.0.1410.43 on ~amd64. I had to mask 0.8 and 0.7.1-r2 as well since it won't build in my system (that's an entirely different issue and it's ~arched anyway). Fortunately 0.7.1-r1 worked fine and I can continue using chromium. i can see perfectly, can't someone please make this speech-thing optional? Chromium does call epatch_user, so a workaround for users would be the following steps, which locally apply the patch from comment #6: # mkdir -p /etc/portage/patches/www-client/chromium-26.0.1410.43 # wget -O /etc/portage/patches/www-client/chromium-26.0.1410.43/bug463550c6.patch 'https://projects.archlinux.org/svntogit/packages.git/plain/trunk/chromium-26.0.1410.43-speechd-0.8.patch?h=packages/chromium' # emerge -1 chromium For an in-tree solution, one could either apply that patch conditionally, or apply that patch with a gyp variable instead of a fixed path so that the ebuild can provide the path using a -D argument, or modify speech-dispatcher to provide a backwards-compatible libspeechd.h which simply includes the newer header. --- /var/portage/www-client/chromium/chromium-26.0.1410.43.ebuild 2013-03-27 03:38:46.000000000 +0100 +++ /var/overlays/mine/www-client/chromium/chromium-26.0.1410.43.ebuild 2013-04-01 16:00:45.334394409 +0200 @@ -141,6 +141,11 @@ # Fix build issue with smhasher, bug #459126 . epatch "${FILESDIR}/${PN}-smhasher-r0.patch" + if has_version '>=app-accessibility/speech-dispatcher-0.8'; then + sed s:"<libspeechd.h>":"<speech-dispatcher/libspeechd.h>":g \ + -i "${S}"/build/linux/system.gyp + fi + epatch_user # Remove most bundled libraries. Some are still needed. (In reply to comment #13) > i can see perfectly, > can't someone please > make this speech-thing > optional? It might sound like a no-brainer, but removing the "speech-thing" may change *alot* of stuff in the chrome/chromium-extensions/plugins API/ABI. So it might actually be harder to accomplish (since it might break random things depeding on the API, not just things depending on the "speech-thing"). So let the devs have some time investigate this, or do it yourself and post about it in the bug report for it. Bugging us (users/devs) in random bugs is a good way of making people tired of you. 03 Apr 2013; Pawel Hajdan jr +files/chromium-speech-dispatcher-0.8-r0.patch, -chromium-27.0.1448.0.ebuild, +chromium-27.0.1453.12.ebuild, chromium-9999-r1.ebuild: Dev channel bump. Fix build with speech-dispatcher-0.8 (bug #463550 by Denis M. "Phr33d0m"). Remove old. Fix is in 27.x, soon to hit ~arch. 26 will be stabilized soon (bug #463426) so I'm not introducing a dependency on new speech-dispatcher there. For making speech-dispatcher optional, please see bug #462356 . (In reply to comment #17) > Fix is in 27.x, soon to hit ~arch. 26 will be stabilized soon (bug #463426) > so I'm not introducing a dependency on new speech-dispatcher there. > And what will you do if speech-dispatcher-0.8 goes stable before chromium-27? Why not a conditional like the one I demonstrated above (worked fine for me)? (In reply to comment #18) > And what will you do if speech-dispatcher-0.8 goes stable before chromium-27? > Why not a conditional like the one I demonstrated above (worked fine for me)? Ebuilds can be adjusted then. Conditional patching makes it more difficult to test the package, and is generally a hack. FYI chromium-27.0.1453.93 requires speech-dispatcher-0.7 again for security stabilization (bug #470920). chromium-28.x should enter ~arch soon. chromium-28.x will be easier to handle, since it doesn't require conditional patching (bad), but only conditional code in src_configure (fine). * Messages for package app-accessibility/speech-dispatcher-0.7.1-r2: * ERROR: app-accessibility/speech-dispatcher-0.7.1-r2 failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=app-accessibility/speech-dispatcher-0.7.1-r2'`, * the complete build log and the output of `emerge -pqv '=app-accessibility/speech-dispatcher-0.7.1-r2'`. * The complete build log is located at '/var/tmp/portage/app-accessibility/speech-dispatcher-0.7.1-r2/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-accessibility/speech-dispatcher-0.7.1-r2/temp/environment'. * Working directory: '/var/tmp/portage/app-accessibility/speech-dispatcher-0.7.1-r2/work/speech-dispatcher-0.7.1_build' * S: '/var/tmp/portage/app-accessibility/speech-dispatcher-0.7.1-r2/work/speech-dispatcher-0.7.1' |