Open
Bug 875268
Opened 12 years ago
Updated 2 years ago
Compilation fails with --disable-wave --disable-ogg --disable-webm
Categories
(Firefox Build System :: General, defect)
Tracking
(firefox23 affected)
NEW
Tracking | Status | |
---|---|---|
firefox23 | --- | affected |
People
(Reporter: mozilla, Unassigned)
References
Details
Attachments
(2 files)
User Agent: Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.14
Steps to reproduce:
Tried to compile Thunderbird with the following configure parameters:
./configure --prefix=/usr --with-user-appdir=.thunderbird --enable-application=mail --disable-system-cairo --disable-crashreporter --with-system-nspr --with-system-nss --with-system-zlib --with-system-jpeg --with-system-mng --enable-xft --disable-freetype2 --with-system-sqlite --disable-gnomevfs --disable-startup-notification --disable-gconf --disable-necko-wifi --disable-wave --disable-ogg --disable-webm --disable-dbus --enable-strip --enable-official-branding
config.log has been attached
Actual results:
Build failed with the following error:
c++ -o dom_quickstubs.o -c -I../../../dist/stl_wrappers -I../../../dist/system_wrappers -include ../../../config/gcc_hidden.h -DMOZ_GLUE_IN_PROGRAM -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES -DSTATIC_EXPORTABLE_JS_API -DMOZ_THUNDERBIRD=1 -DJSFILE -DJS_THREADSAFE -DEXPORT_XPC_API -DNO_NSPR_10_SUPPORT -DMOZ_JSDEBUGGER -D_IMPL_NS_LAYOUT -I../../../js/xpconnect/src/../wrappers -I../../../js/xpconnect/src/../loader -I../../../caps/include -I../../../content/base/src -I../../../content/events/src -I../../../content/html/content/src -I../../../content/html/document/src -I../../../content/svg/content/src -I../../../layout/style -I../../../layout/base -I../../../dom/base -I../../../xpcom/ds -I../../../js/xpconnect/src -I. -I../../../dist/include -I/usr/include/nspr -I/usr/include/nss -fPIC -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wcast-align -Wno-long-long -march=core2 -fPIC -DPIC -pipe -O2 -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -fomit-frame-pointer -DMOZILLA_CLIENT -include ../../../mozilla-config.h -MD -MF .deps/dom_quickstubs.o.pp /usr/src/thunderbird-17.0.6/comm-esr17/mozilla/js/xpconnect/src/dom_quickstubs.cpp
In file included from ../../../dist/include/nsMediaDecoder.h:11:0,
from ../../../dist/include/nsHTMLMediaElement.h:11,
from ../../../dist/include/nsHTMLVideoElement.h:10,
from /usr/src/thunderbird-17.0.6/comm-esr17/mozilla/js/xpconnect/src/nsDOMQS.h:13,
from /usr/src/thunderbird-17.0.6/comm-esr17/mozilla/js/xpconnect/src/dom_quickstubs.cpp:152:
../../../dist/include/MediaStreamGraph.h:10:27: fatal error: nsAudioStream.h: No such file or directory
compilation terminated.
Before the error there are also many warnings about unused variable 'sink.'
Expected results:
Build should have succeeded.
Updated•12 years ago
|
Component: Build Config → Video/Audio
Product: Thunderbird → Core
Version: 17 → 17 Branch
Reporter | ||
Comment 1•12 years ago
|
||
Same problem in compiling Firefox 21.0
Comment 2•12 years ago
|
||
before building thunderbird,
do a "python client.py checkout"
this will update your comm-central repo and the mozilla-central repo included in it
it looks like they where not both updated as nsAudioStream is now replaced by AudioStream in the #include (file coming from moz-central)
It looks like it's fixed on moz-central, do a hg pull; hg update and rebuild it
Updated•12 years ago
|
Assignee: nobody → six.dsn
QA Contact: six.dsn
Reporter | ||
Comment 3•12 years ago
|
||
Does this actually fix the issue? Given the compiler flags used I don't think Audio should be included at all, whichever the filename.
If it does resolve the problem, (sorry unable to check on this box, can't do a pull,) will it be in the next releases of Thunderbird and Firefox?
Comment 4•12 years ago
|
||
Did you followed this doc: https://developer.mozilla.org/en-US/docs/Simple_Thunderbird_build?
You must set your ./configure parameters in /path/to/your/comm-central/repo/.mozconfig in ac_add_options
and then launch a ./mozilla/mach build
i'm building it on my testbox to see if there are some mistakes (but i'm working on the last revision so i don't think this should happen)
Reporter | ||
Comment 5•12 years ago
|
||
I did not for the Thunderbird build, ran configure and then make. For Firefox did use the .mozconfig and ran make -f client.mk build as described on https://developer.mozilla.org/en-US/docs/Configuring_Build_Options.
Same failure on both though.
Will attach the used .mozconfig for the Firefox build in a moment.
Reporter | ||
Comment 6•12 years ago
|
||
Comment 7•12 years ago
|
||
I just build Thunderbird with your config in .mozconfig, everything works fine.
I told you it comes from your repo that isn't update
http://hg.mozilla.org/mozilla-central/diff/bc91ce9bde76/content/media/MediaStreamGraph.h
Here comes the modification, it has been changed in 2012-11-14.
So there is no more bug
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
Reporter | ||
Comment 8•12 years ago
|
||
Okay, good, when will this be part of a new release? Both of Firefox and Thunderbird?
Comment 9•12 years ago
|
||
It's included since Firefox 19.
I dont know where did you get your sources but they are clearly not up to date. :)
Reporter | ||
Comment 10•12 years ago
|
||
Straight from http://releases.mozilla.org/pub/mozilla.org/firefox/releases/21.0/source/firefox-21.0.source.tar.bz2
Do you have alsa et al installed on your system? I don't that's why I pass all the --disable flags...
Comment 11•12 years ago
|
||
I just downloaded this tarball and the file "content/media/MediaStreamGraph.h" is correctly including AudioStream.h
can you look at this file and see at line 10 if it's including "AudioStream.h" or "nsAudioStream.h"
I guess you might have a conflict with an older version?
Try to remove completly the folder and unter again the tarball and look at the file "content/media/MediaStreamGraph.h", you should see #include "AudioStream.h" at line:10
Reporter | ||
Comment 12•12 years ago
|
||
Just checked in Thunderbird and it is indeed including nsAudioStream.h, I guess the latest Thunderbird release doesn't have that fix yet.
The Firefox failure is slightly different:
In file included from ../../../dist/include/nsHTMLVideoElement.h:10:0,
from /usr/src/firefox-21.0/mozilla-release/js/xpconnect/src/nsDOMQS.h:15,
from /usr/src/firefox-21.0/mozilla-release/firefox-build/js/xpconnect/src/dom_quickstubs.cpp:102:
../../../dist/include/nsHTMLMediaElement.h:19:25: fatal error: AudioStream.h: No such file or directory
compilation terminated.
Comment 13•12 years ago
|
||
Ok i guess i got an idea, the thing is that includes are moved from their original folder to $OBJDIR/dist/include, but as your configure is excluding them, they are not moved and so are not found during build.
i will give it a try asap :)
Updated•12 years ago
|
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: INVALID → ---
Comment 14•12 years ago
|
||
Ok i found something that might help you: https://bugzilla.mozilla.org/show_bug.cgi?id=852401
You just have to save the patch that is submitted in this bug
$ wget https://bug852401.bugzilla.mozilla.org/attachment.cgi?id=726997 -o ~/moz.patch
$ cd /your/mozilla/sources/
$ patch -p1 < ~/moz.patch
delete your obj-folder and run again a make -f client.mk
do you have libasound2-dev installed?
because it looks like it's mandatory.
This patch fixes the issue for AudioStream.h,
but if you don't have libasound2-dev, it will break later.
on my laptop build is going on and looks ok.
I took you're .mozconfig to be sure.
Updated•12 years ago
|
Status: REOPENED → RESOLVED
Closed: 12 years ago → 12 years ago
Resolution: --- → DUPLICATE
Comment 16•12 years ago
|
||
It looks like the patch can't be fully appplied to Firefox21-release
It is included in Firefox22 which moves to RELEASED on Week of June 24, 2013.
Please fill a new bug if the problem occurs again with Firefox22.
Reporter | ||
Comment 17•12 years ago
|
||
I don't think Firefox or Thunderbird should require libasound, the whole point of all the --disable flags is to *not* require alsa et al. I don't think this is a solution.
Also, when can the aforementioned fix be expected in a Thunderbird release?
Comment 18•12 years ago
|
||
It only require libasound-dev, thoses are only includes.
Thunderbird includes the mozilla sources, so it should be fix in it too.
Reporter | ||
Comment 19•12 years ago
|
||
I'm not on a binary distro, there is no such thing as libasound-dev.
Comment 20•12 years ago
|
||
could you try this:
https://developer.mozilla.org/en-US/docs/Simple_Firefox_build/Linux_and_MacOS_build_preparation
Assignee: six.dsn → nobody
QA Contact: six.dsn
Version: 17 Branch → 21 Branch
Comment 21•12 years ago
|
||
I reopen it but in build-config component where it belongs
i don't think i can help you more on this.
Status: RESOLVED → REOPENED
Component: Video/Audio → Build Config
Resolution: DUPLICATE → ---
Comment 22•12 years ago
|
||
This might have been fixed by bug 857022.
Reporter | ||
Comment 23•12 years ago
|
||
Ted, yes that seems to be related and might fix my problems, my only worry is that it makes alsa a required dependency of firefox/thunderbird/etc. I've voiced that concern in the issue.
Comment 24•11 years ago
|
||
Hi back,
could you try again with the version 23 please?
to see if the patch is completly fixing this behaviour.
thanks,
Reporter | ||
Comment 25•11 years ago
|
||
Just tried building Firefox 23.0.1 with flags --disable-wave --disable-ogg --disable-webm --disable-dash and alsa-lib, libogg and yasm not installed (nor headers):
Problem 1: configure: error: yasm is a required build tool for this architecture when webm is enabled. You may either install yasm or --disable-webm (which disables the WebM video format). See https://developer.mozilla.org/en/YASM for more details.
Okay, so the --disable-webm option doesn't work; installed yasm
Problem 2: /usr/src/firefox-23.0.1/mozilla-release/media/libvorbis/lib/vorbis_block.c:24:21: fatal error: ogg/ogg.h: No such file or directory
compilation terminated.
Nope, --disable-ogg doesn't work properly either; installed libogg
Problem 3: n file included from /usr/src/firefox-23.0.1/mozilla-release/media/webrtc/trunk/webrtc/modules/audio_device/linux/audio_mixer_manag
er_alsa_linux.h:19:0,
from /usr/src/firefox-23.0.1/mozilla-release/media/webrtc/trunk/webrtc/modules/audio_device/linux/audio_device_alsa
_linux.h:16,
from /usr/src/firefox-23.0.1/mozilla-release/media/webrtc/trunk/webrtc/modules/audio_device/audio_device_impl.cc:38
:
../../../../../../dist/system_wrappers/alsa/asoundlib.h:3:33: fatal error: alsa/asoundlib.h: No such file or directory
So it seems that Firefox is still using alsa headers even though --disable-wave is passed.
Looks like nothing has changed, from a user perspective that is.
Updated•11 years ago
|
status-firefox23:
--- → affected
Comment 26•11 years ago
|
||
According to: https://developer.mozilla.org/en-US/docs/Yasm
you need to add
ac_add_options --disable-libjpeg-turbo
to your mozconfig to build without yasm.
Could you uninstall yasm and try again?
this won't fix the alsa issue but it should be ok for the yasm configure error.
Status: REOPENED → NEW
Updated•11 years ago
|
Flags: needinfo?(mozilla)
Reporter | ||
Comment 27•11 years ago
|
||
When passing --disable-libjpeg-turbo I still get the same errors on yasm:
checking MOZ_GIO_LIBS... -lgio-2.0 -lgobject-2.0 -lglib-2.0
checking __attribute__ ((aligned ())) support... trying 64
64
configure: error: yasm is a required build tool for this architecture when webm is enabled. You may either install yasm or --disable-webm (which disables the WebM video format). See https://developer.mozilla.org/en/YASM for more details.
Also, is seems it has some problems with libjpeg8:
checking for jpeg_destroy_compress in -ljpeg... yes
configure: error: Insufficient JPEG library version for --with-system-jpeg
------ config.log ------
configure:14915: gcc -c -march=core2 -fPIC -DPIC -pipe -mno-avx -std=gnu99 -fgnu89-inline -fno-strict-aliasing -ffunction-sections -fdata-sections -pthread -I/usr/include/nspr conftest.c 1>&5
configure:15227: checking for nss-config
configure:15262: checking for NSS - version >= 3.15
configure:15329: checking for YASM assembler
configure:15335: checking for yasm
configure:15393: checking for jpeg_destroy_compress in -ljpeg
configure:15412: gcc -o conftest -march=core2 -fPIC -DPIC -pipe -mno-avx -std=gnu99 -fgnu89-inline -fno-strict-aliasing -ffunction-sections -fdata-sections -pthread -lpthread -Wl,--as-needed -Wl,-z,noexecstack -Wl,--build-id conftest.c -ljpeg -ldl 1>&5
configure:15452: gcc -c -march=core2 -fPIC -DPIC -pipe -mno-avx -std=gnu99 -fgnu89-inline -fno-strict-aliasing -ffunction-sections -fdata-sections -pthread conftest.c 1>&5
configure: In function 'main':
configure:15446:23: error: #error "libjpeg-turbo JCS_EXTENSIONS required"
configure: failed program was:
#line 15437 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
#include <jpeglib.h>
int main() {
#if JPEG_LIB_VERSION < 62
#error "Insufficient JPEG library version (62 required)."
#endif
#ifndef JCS_EXTENSIONS
#error "libjpeg-turbo JCS_EXTENSIONS required"
#endif
; return 0; }
The configure seems to indicate that the JPEG version is not sufficient, but JPEG_LIB_VERSION is defined as 80 in /usr/include/jpeglib.h and the config.log output seems to indicate that it is looking for libjpeg-turbo stuff even when --disable-jpeg-turbo was passed.
Flags: needinfo?(mozilla)
Updated•7 years ago
|
Product: Core → Firefox Build System
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•