Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 350799 - www-client/chromium-9999 chromium-system-speex patch fails
Summary: www-client/chromium-9999 chromium-system-speex patch fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-06 10:25 UTC by Julien Sanchez
Modified: 2011-01-12 12:59 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Fixed speex patch (chromium-system-speex-r1.patch,458 bytes, patch)
2011-01-06 10:26 UTC, Julien Sanchez
Details | Diff
chromium-9999 diff file (chromium-9999.ebuild.diff,439 bytes, patch)
2011-01-06 10:27 UTC, Julien Sanchez
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Sanchez archtester 2011-01-06 10:25:45 UTC
chromium-system-speex-r0.patch is now failing because original include line has changed in chrome/browser/speech/speech_recognizer.cc.
Comment 1 Julien Sanchez archtester 2011-01-06 10:26:28 UTC
Created attachment 259017 [details, diff]
Fixed speex patch
Comment 2 Julien Sanchez archtester 2011-01-06 10:27:01 UTC
Created attachment 259019 [details, diff]
chromium-9999 diff file
Comment 3 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-01-06 11:47:34 UTC
I think that the patch shouldn't be needed, I've landed http://src.chromium.org/viewvc/chrome?view=rev&revision=70499 very recently.

So the correct fix seems to be to remove the patch. Could you test on your system?
Comment 4 Julien Sanchez archtester 2011-01-06 12:44:13 UTC
It is still needed since system speex lib is used, not third-party embedded one (the latter being also removed by the ebuild).
Comment 5 Mike Gilbert gentoo-dev 2011-01-07 07:34:26 UTC
(In reply to comment #4)
> It is still needed since system speex lib is used, not third-party embedded one
> (the latter being also removed by the ebuild).
> 

Yup. To rephrase that:

"remove_bundled_lib third_party/speex" removes third_party/speex/speex.h, which is used due to the change Paweł referenced (pasted below).

--- trunk/src/chrome/browser/speech/speech_recognizer.cc	2011/01/05 10:21:08	70498
+++ trunk/src/chrome/browser/speech/speech_recognizer.cc	2011/01/05 10:51:00	70499
@@ -10,7 +10,7 @@
 #include "chrome/browser/browser_thread.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/net/url_request_context_getter.h"
-#include "third_party/speex/include/speex/speex.h"
+#include "third_party/speex/speex.h"
 
 using media::AudioInputController;
 using std::list;
Comment 6 Julien Sanchez archtester 2011-01-07 08:30:02 UTC
As requested by Paweł, if the patch is removed from the ebuild, emerge fails with:

chrome/browser/speech/speech_recognizer.cc:64: error: ‘SpeexBits’ does not name a type
chrome/browser/speech/speech_recognizer.cc: In constructor ‘speech_input::SpeexEncoder::SpeexEncoder()’:
chrome/browser/speech/speech_recognizer.cc:72: error: ‘bits_’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:73: error: ‘speex_bits_init’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:74: error: ‘speex_wb_mode’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:74: error: ‘speex_encoder_init’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:76: error: ‘SPEEX_GET_FRAME_SIZE’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:76: error: ‘speex_encoder_ctl’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:79: error: ‘SPEEX_SET_QUALITY’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:81: error: ‘SPEEX_SET_VBR’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc: In destructor ‘speech_input::SpeexEncoder::~SpeexEncoder()’:
chrome/browser/speech/speech_recognizer.cc:86: error: ‘bits_’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:86: error: ‘speex_bits_destroy’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:87: error: ‘speex_encoder_destroy’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc: In member function ‘void speech_input::SpeexEncoder::Encode(const short int*, int, std::list<std::string*, std::allocator<std::string*> >*)’:
chrome/browser/speech/speech_recognizer.cc:96: error: ‘bits_’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:96: error: ‘speex_bits_reset’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:97: error: expected type-specifier before ‘spx_int16_t’
chrome/browser/speech/speech_recognizer.cc:97: error: expected ‘>’ before ‘spx_int16_t’
chrome/browser/speech/speech_recognizer.cc:97: error: expected ‘(’ before ‘spx_int16_t’
chrome/browser/speech/speech_recognizer.cc:97: error: ‘spx_int16_t’ was not declared in this scope
chrome/browser/speech/speech_recognizer.cc:97: error: expected primary-expression before ‘>’ token
chrome/browser/speech/speech_recognizer.cc:103: error: ‘speex_bits_write’ was not declared in this scope
make: *** [out/Release/obj.target/browser/chrome/browser/speech/speech_recognizer.o] Error 1
make: *** Waiting for unfinished jobs....
emake failed
 * ERROR: www-client/chromium-9999 failed:
 *   (no error message)
Comment 7 Mike Gilbert gentoo-dev 2011-01-07 17:19:51 UTC
The error I get is a bit more direct and to the point. This is because gcc-4.5 treats missing headers as fatal.

chrome/browser/speech/speech_recognizer.cc:13:37: fatal error: third_party/speex/speex.h: No such file or directory
compilation terminated.
make: *** [out/Release/obj.target/browser/chrome/browser/speech/speech_recognizer.o] Error 1
Comment 8 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-01-12 12:59:42 UTC
Should now be fixed. Please reopen if that's not the case.