Closed Bug 114957 Opened 23 years ago Closed 23 years ago

Linux build fails in nsCSSRendering.cpp building with --disable-bidi

Categories

(SeaMonkey :: Build Config, defect)

x86
Linux
defect
Not set
blocker

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: diego, Assigned: dcone)

Details

(Keywords: regression)

Attachments

(1 file)

This bug is a spinoff from the discussion in bug 96870.  Several people have
their Linux builds mysteriously dying.  My .mozconfig is

# Options for 'configure' (same as command-line options).
# ac_add_options --enable-optimize="-O4 -finline -fno-omit-frame-pointer
-march=k6 -mcpu=k6"
ac_add_options --enable-crypto
ac_add_options --disable-debug
ac_add_options --disable-dtd-debug
ac_add_options --disable-jsd
ac_add_options --disable-ldap
ac_add_options --disable-xprint
ac_add_options --disable-logging
ac_add_options --disable-mailnews
ac_add_options --disable-tests
ac_add_options --disable-bidi
ac_add_options --disable-accessibility

I use a current Debian testing with gcc 2.95.4, kernel 2.4.16, binutils 2.11.92.0.1

The errors look like that:

silver:/usr/src/mozilla/layout/html/style/src$ make
make export
make[1]: Entering directory `/usr/src/mozilla/layout/html/style/src'
../../../../config/nsinstall -R -m 644 nsIHTMLStyleSheet.h
nsICSSFrameConstructor.h ../../../../dist/include/layout
/usr/bin/perl -I../../../../config ../../../../config/build-list.pl
../../../../dist/include/layout/.headerlist nsIHTMLStyleSheet.h
nsICSSFrameConstructor.h
make[1]: Leaving directory `/usr/src/mozilla/layout/html/style/src'
make libs
make[1]: Entering directory `/usr/src/mozilla/layout/html/style/src'
nsCSSRendering.cpp
c++ -o nsCSSRendering.o -c -DOSTYPE=\"Linux2.4\" -DOSARCH=\"Linux\" -DOJI
-D_IMPL_NS_HTML  -I../../../../dist/include/xpcom
-I../../../../dist/include/string -I../../../../dist/include/dom
-I../../../../dist/include/content -I../../../../dist/include/gfx
-I../../../../dist/include/widget -I../../../../dist/include/timer
-I../../../../dist/include/locale -I../../../../dist/include/view
-I../../../../dist/include/necko -I../../../../dist/include/webshell
-I../../../../dist/include/pref -I../../../../dist/include/docshell
-I../../../../dist/include/plugin -I../../../../dist/include/xuldoc
-I../../../../dist/include/imglib2 -I../../../../dist/include/gfx2
-I../../../../dist/include/layout -I../../../../dist/include
-I/usr/src/mozilla/dist/include/nspr      -I./../../base/src
-I./../../../base/src -I./../../table/src -I./../../forms/src
-I./../../content/src -I./../../../xul/content/src -I./.
-I./../../../xul/base/src  -I/usr/X11R6/include   -fPIC  -I/usr/X11R6/include
-fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wbad-function-cast
-Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -pedantic
-Wno-long-long -pthread -pipe  -DNDEBUG -DTRIMMED  -I/usr/X11R6/include
-DMOZILLA_CLIENT -include ../../../../config-defs.h
-Wp,-MD,.deps/nsCSSRendering.pp nsCSSRendering.cpp
nsCSSRendering.cpp: In function `static void
nsCSSRendering::PaintBorder(nsIPresContext *, nsIRenderingContext &, nsIFrame *,
const nsRect &, const nsRect &, const nsStyleBorder &, nsIStyleContext *, int,
nsRect * = 0, int = 0, int = 0)':
nsCSSRendering.cpp:1601: warning: unused variable `const struct
nsStyleBackground * ourBG'
nsCSSRendering.cpp: In function `static void
nsCSSRendering::DrawCompositeSide(nsIRenderingContext &, int, nsBorderColors *,
const nsRect &, const nsRect &, PRInt16 *, int, nsRect *)':
nsCSSRendering.cpp:1833: warning: unused variable `PRInt32 np'
nsCSSRendering.cpp: In function `static void
nsCSSRendering::PaintBackground(nsIPresContext *, nsIRenderingContext &,
nsIFrame *, const nsRect &, const nsRect &, const nsStyleBackground &, const
nsStyleBorder &, int, int)':
nsCSSRendering.cpp:2417: no matching function for call to
`nsIPresContext::GetBackgroundDraw (PRBool &)'
../../../../dist/include/string/nsBufferHandle.h: At top level:
nsCSSRendering.cpp:83: warning: `PRBool GetBGColorForHTMLElement(nsIPresContext
*, const nsStyleColor *&)' declared `static' but never defined
make[1]: *** [nsCSSRendering.o] Error 1
make[1]: Leaving directory `/usr/src/mozilla/layout/html/style/src'
make: *** [all] Error 2
My ~/.mozconfig is pasted below. I too use Debian unstable, but that is not the
cause since rkaa is on Redhat and he cannot compile either. xan is on Debian
unstable too, and he CAN compile.

ac_add_options --enable-crypto
ac_add_options --enable-extensions=default,-inspector,-venkman
ac_add_options --enable-optimize=-O2
ac_add_options --enable-strip
ac_add_options --disable-accessibility
ac_add_options --disable-bidi
ac_add_options --disable-debug
ac_add_options --disable-dtd-debug
ac_add_options --disable-jsd
ac_add_options --disable-logging
ac_add_options --disable-ldap
ac_add_options --disable-mailnews
ac_add_options --enable-strip
ac_add_options --disable-tests
ac_add_options --disable-xprint
Hi there, I'm xan :)
My .mozconfig is:
ac_add_options --disable-xprint
ac_add_options --disable-logging
ac_add_options --disable-tests
ac_add_options --enable-optimize=-O2
ac_add_options --disable-debug
ac_add_options --enable-strip
ac_add_options --enable-elf-dynstr-gc
ac_add_options --enable-toolkit-gtk
ac_add_options --with-extensions=all
ac_add_options --enable-crypto
ok, for you non-lineal bug readers:
I'm on Debian Unstable (gcc 2.95.4, kernel 2.4.16, binutils 2.11.92.0.12.3), and
my build DOES compile with the previous .mozconfig.
rkaa uses the following .mozconfig (and fails)

ac_add_options --disable-accessibility
ac_add_options --disable-ldap
ac_add_options --disable-dtd-debug
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-logging
ac_add_options --enable-crypto
ac_add_options --enable-optimize=-O2
ac_add_options --disable-bidi
ac_add_options --disable-jsd
ac_add_options --disable-venkman
MOZ_CALENDAR=1
mk_add_options MOZ_CALENDAR=1
mk_add_options --mcpu=i686
mk_add_options --march=i686
I just added --disable-bidi and tried to recompile for testing purposes (yes, I
like to have it enabled. Yes my friends think I'm crazy too) and my build failed
the same way diego says in the first comment. 
adding to summary
Summary: Linux build fails in nsCSSRendering.cpp → Linux build fails in nsCSSRendering.cpp building with --disable-bidi
Yup, verifiying that removing --disable-bidi from my .mozconfig will allow me to
compile safely.

Bumping to major.
Severity: normal → major
Keywords: regression
The additions to nsIPresContext.h in attachment 61131 [details] [diff] [review] are inside an #ifdef
IBMBIDI and should be moved below it
very small fix.. move the declaration outside the #ifdef.  This blocked some 
linux builds.  
Keywords: mozilla0.9.7
r=rods
Comment on attachment 61578 [details] [diff] [review]
patch to move two lines outside of an #ifdef

oops! sr=attinasi
Attachment #61578 - Flags: superreview+
Comment on attachment 61578 [details] [diff] [review]
patch to move two lines outside of an #ifdef

rods gave his r=, but forgot to check has-review apparently.  I hope you will
forgive me for marking the checkbox, I want this in for 0.9.7 ;-)
Attachment #61578 - Flags: review+
the last time this happened, severity was blocker.
Severity --> Blocker as suggested by rkaa

I just tested the patch and successfully built my tree again with
--disable-bidi.  Good work!
Severity: major → blocker
a=asa (on behalf of drivers) for checkin to 0.9.7
fixed.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Just pulled and built again with --disable-bidi enabled.  Everything fine --->
VERIFIED
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: