Closed Bug 201766 Opened 21 years ago Closed 21 years ago

Building mozilla stops when compiling nsObjectFrame

Categories

(SeaMonkey :: Build Config, defect)

x86
Linux
defect
Not set
blocker

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: fredbezies, Assigned: netscape)

Details

Attachments

(2 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030411
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030411

All is in the summary.

Trunk source updated with CVS until bugfix for bug 198364.

My .mozconfig :

ac_add_options --enable-calendar
ac_add_options --enable-crypto
ac_add_options --enable-extensions=default,irc
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-optimize
ac_add_options --enable-strip
ac_add_options --disable-pedantic
ac_add_options --enable-xft



Reproducible: Always

Steps to Reproduce:
1.See details

Actual Results:  
Build is crashing when compiling nsObjectFrame.ccp/.h

Expected Results:  
Build process goes its end.

Related to patches added for fixing bugs 191246 and 196280 yesterday at 9:55 pm ?
Additionnal infos : I am using GCC 3.2 (the one with Linux Mandrake 9.1)

gcc -v gave :

Reading specs from /usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.2.2/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checking --enable-long-long
--enable-__cxa_atexit --enable-languages=c,c++,ada,f77,objc,java
--host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)

I will attach build log for error.
Attached file build log error (obsolete) —
Comment on attachment 120304 [details]
build log error

no error here...
if you go to do mozilla/layout/html/base/src and do "make nsObjectFrame.o" does
it give you anything useful?

note that tinderboxen are doing fine:
http://tinderbox.mozilla.org/showbuilds.cgi?tree=SeaMonkey
Compiles fine for me on Linux with cvs 20030412 (todays cvs pull)
However i'm using gcc-2.95 (the stable compiler)
I know that tinderboxes are green. The worst part is that I grabbed a blank new
tarball source and apply CVS updates to it.

Is gcc 3.2 guilty here ?

I've done your "make", and I had another error, saying there is a type problem...

I don't understand.

Here is the "typical" error message I can see :
"
{standard input}:503: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:509: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:515: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:527: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:533: Error: symbol `t2p' is already defined
{standard input}:539: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:545: Error: symbol `GetOffsetFromView' is already defined
{standard input}:551: Error: symbol `rv' is already defined
{standard input}:575: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:581: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:587: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:599: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:605: Error: symbol `rv' is already defined
{standard input}:611: Error: symbol `NS_ENSURE_SUCCESS' is already defined
{standard input}:617: Error: symbol `child' is already defined
{standard input}:623: Error: symbol `CallQueryInterface' is already defined
{standard input}:647: Error: symbol `QueryInterface' is already defined
{standard input}:667: Error: symbol `NS_ENSURE_SUCCESS' is already defined
{standard input}:691: Error: symbol `NS_ENSURE_ARG_POINTER' is already defined
{standard input}:697: Error: symbol `NS_ENSURE_SUCCESS' is already defined
{standard input}:703: Error: symbol `result' is already defined
{standard input}:709: Error: symbol `NS_RELEASE' is already defined
{standard input}:715: Error: symbol `NS_ADDREF' is already defined
{standard input}:721: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:727: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:733: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:739: Error: symbol `rv' is already defined
{standard input}:745: Error: symbol `rv' is already defined
{standard input}:751: Error: symbol `NS_ENSURE_SUCCESS' is already defined
{standard input}:757: Error: symbol `NS_ENSURE_TRUE' is already defined
{standard input}:769: Error: symbol `NS_ASSERTION' is already defined
{standard input}:775: Error: symbol `rv' is already defined
{standard input}:781: Error: symbol `rv' is already defined
{standard input}:787: Error: symbol `rv' is already defined
{standard input}:793: Error: symbol `rv' is already defined
{standard input}:799: Error: symbol `rv' is already defined
{standard input}:805: Error: symbol `rv' is already defined
{standard input}:811: Error: symbol `rv' is already defined"

A lot of this error.

Any idea ?

Yesterday, building was working without a problem !
About comment #4 :

Smells like a gcc 3.2 problem.
modifying summary with infos on comment #4.
Summary: Building mozilla stops when compiling nsObjectFrame → Building mozilla stops when compiling nsObjectFrame when using gcc 3.2
the error messages in comment 5 are from compiling
mozilla/layout/base/src/nsObjectFrame.cpp?  The first mention of t2p is on line
1215.

Is that the *start* of the error messages?  Sometimes the first error will
confuse the compiler and it will be unable to do anything useful with the rest
of the file.
Summary: Building mozilla stops when compiling nsObjectFrame when using gcc 3.2 → Building mozilla stops when compiling nsObjectFrame
compiling nsObjectFrame.cpp (with -pedantic) with gcc 3.2 (cvs updated this
morning):

In file included from nsObjectFrame.cpp:135:
nsObjectFrame.h:184: warning: friend declaration requires class-key, i.e. 
   `friend struct nsPluginInstanceOwner'
nsObjectFrame.cpp:4074: warning: `void ConvertTwipsToPixels(nsIPresContext&, 
   nsRect&, nsRect&)' defined but not used
In answer to comment #8, yes it was compiling this file. I cannot see the first
line, because it is too far for my poor xterm.
> I cannot see the first line, because it is too far for my poor xterm.

make nsObjectFrame.o |& less -X
I am having the same error.

In file included from nsObjectFrame.cpp:135:
nsObjectFrame.h:184: friend declaration requires class-key, i.e. `friend struct
nsPluginInstanceOwner'
nsObjectFrame.cpp:4074: warning: `void ConvertTwipsToPixels(nsIPresContext&,
nsRect&, nsRect&)' defined but not used
make: *** [nsObjectFrame.o] Erreur 1

I also noticed this note from bzbarsky%mit.edu

"Fixing OS/2 bustage -- compiler is too dumb to tell that the void* version is
_not_ what we want here... ;)"

Any relation with this bug ? Or am I completely wrong here ?
> Any relation with this bug ?

Not likely.  If that were the error, gcc would tell you so.

So let me get this straight. gcc errors out without saying what the error is?
There is this warning : "warning: `void ConvertTwipsToPixels(nsIPresContext&,
nsRect&, nsRect&)' defined but not used" and after gcc kills mozilla building
process.
That's a warning, not an error.

Does the gcc process crash?  Or dose it just sorta bail out?
Yes, build process is completely ended, killed. I posted crash log as an attachment.

After trying to compile nsObjectFrame, gcc stops building mozilla.
That log says absolutely nothing useful -- it looks like a successful compile,
in fact (except for not compiling other things, of course).  My question is,
does gcc crash or just exit with an error condition?

Also, please do the following:

1)  go into mozilla/layout and 'make'
2)  go into mozilla/layout/html/base/src and 'make'

I'd like to see the last bits of output from those two, if they differ from the
already attached log.
Attached file first log wanted
Attachment #120304 - Attachment is obsolete: true
Attached file 2nd log wanted
Those logs look fine.... (apart from the fact that you never built in content/
of course...)

Do you use a parallel build (with -j) or something?

Are things fine if you build content/ then layout/ ?
Comment on attachment 120318 [details]
first log wanted

>make[2]: *** Pas de règle pour fabriquer la cible « ../../dist/lib/libgkconbase_s.a », nécessaire pour « libgklayout.so ». Arrêt.

translation:
*** No rule to make target ` ../../dist/lib/libgkconbase_s.a', needed by
`libgklayout.so'.  Stop.

it's acting like mozilla/content was not built (at least completely). 
libgkconbase_s.a should be in mozilla/content/base/src
Comment on attachment 120318 [details]
first log wanted

>make[4]: Entering directory `/mozilla/layout/html/base/src'
>nsObjectFrame.cpp
>c++ -o nsObjectFrame.o -c -DOSTYPE=\"Linux2.4.21-0\" -DOSARCH=\"Linux\" -D_IMPL_NS_LAYOUT -I./../../../xul/base/src 
[snip]
>In file included from nsObjectFrame.cpp:135:
>nsObjectFrame.h:184: warning: friend declaration requires class-key, i.e. `friend struct nsPluginInstanceOwner'
>nsObjectFrame.cpp:4074: warning: `void ConvertTwipsToPixels(nsIPresContext&, nsRect&, nsRect&)' defined but not used
>nsPageFrame.cpp
>c++ -o nsPageFrame.o -c -DOSTYPE=\"Linux2.4.21-0\" -DOSARCH=\"Linux\" -D_IMPL_NS_LAYOUT -I./../../../xul/base/src 
[snip]

it looks like nsObjectFrame is compiling successfully.
Well, it looks like this warning was the build process killer.

Weird, isn't it ?

You can close this bug as fixed, because my computer had just ended a successful
build process.
Nothing got fixed.... marking worksforme.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → WORKSFORME
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

Created:
Updated:
Size: