Closed
Bug 372269
Opened 18 years ago
Closed 18 years ago
build fails in cairo-xlib-utils.c with --enable-system-cairo using cairo 1.3.14
Categories
(Core Graveyard :: GFX, defect)
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 368844
People
(Reporter: robert.bradbury, Unassigned)
Details
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.9) Gecko/20070201 SeaMonkey/1.0.7
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.9) Gecko/20070201 SeaMonkey/1.0.7
Firefox as extracted from CVS on 2007 02/28 cannot be built with the following configuration:
sh configure > 0configure.lst 2>&1 \
--enable-debug \
--enable-application=browser \
--enable-optimize="-O2 -g2" \
--disable-shared \
--enable-static \
--enable-old-abi-compat-wrappers \
--enable-default-toolkit=cairo-gtk2 \
--enable-image-encoder=all \
--enable-crypto \
--enable-single-profile \
--enable-mathml \
--enable-ipv6 \
--enable-xprint \
--with-system-nspr \
--with-system-nss \
--with-system-jpeg \
--with-system-png \
--with-system-zlib \
--enable-pango \
--enable-svg \
--enable-svg-renderer=cairo \
--enable-system-cairo \
--disable-freetype2 \
--disable-debug \
--disable-installer \
--disable-pedantic \
--disable-updater \
--disable-profilesharing \
--disable-profilelocking \
--disable-xinerama \
--disable-mailnews \
--disable-tests \
--disable-reorder \
--disable-strip \
--disable-strip-libs \
--disable-jsd \
--disable-xpctools \
--enable-canvas \
--enable-elf-dynstr-gc \
--enable-extensions=default,typeaheadfind \
--enable-extensions=-venkman \
--enable-official-branding \
--enable-oji \
--with-extensions=default \
--with-default-mozilla-five-home=/usr/local/lib/firefox-debug
the particular errors are:
gcc -o cairo-xlib-utils.o -c -fvisibility=hidden -DIMPL_THEBES -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=0000000000 -I../../../dist/include/cairo -I../../../dist/include/libpixman -I../../../dist/include/string -I../../../dist/include/pref -I../../../dist/include/xpcom -I../../../dist/include/unicharutil -I../../../dist/include/gfx -I../../../dist/include -I../../../dist/include/thebes -I/usr/include/nspr -I../../../dist/sdk/include -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Wno-long-long -pthread -pipe -DNDEBUG -DTRIMMED -O2 -g2 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -include ../../../mozilla-config.h -DMOZILLA_CLIENT -Wp,-MD,.deps/cairo-xlib-utils.pp cairo-xlib-utils.c
cairo-xlib-utils.c:446: error: expected ')' before '*' token
cairo-xlib-utils.c: In function 'cairo_draw_with_xlib':
cairo-xlib-utils.c:586: warning: implicit declaration of function '_compute_alpha_values'
cairo-xlib-utils.c:586: error: 'uint32_t' undeclared (first use in this function)
cairo-xlib-utils.c:586: error: (Each undeclared identifier is reported only once
cairo-xlib-utils.c:586: error: for each function it appears in.)
cairo-xlib-utils.c:586: error: expected expression before ')' token
Can you reasonably assert that you are distributing a reliable open source product if I cannot even compile it.
Reproducible: Always
Steps to Reproduce:
1.Extract CVS on common Linux systems
2.Attempt to compile Firefox from source.
3.Watch it fall all over the floor because it can't be compiled.
Expected Results:
You have a "software product" here? I don't think so. If you had a *real* product it would compile and produce an executable no matter what options I fed to the configuration script. You would test *all* of those configuration options before you released something.
The fact that your configurations fail to work on Linux demonstrates your inherent Windows bias.
Comment 1•18 years ago
|
||
Have you actually done this before? It doesn't look like you know particurlarly well what you are doing, to be blunt.
For one, there is this: http://developer.mozilla.org/en/docs/Build . Have you tried reading it? It helps. :-)
For another this:
<snip>
--disable-jsd \
<snip>
--enable-extensions=-venkman \
<snip>
Doesn't make sense at all. If it even builds, it'll fail to work. It's like asking the browser UI to build without the rendering engine. (JSD are the javascript debugging libs. Venkman desperately needs them, being a JS debugger and all)
This is either INVALID for not using a mozconfig file like the rest of the world, or a dupe to some enhancement bug that has probably been filed (and perhaps WONTFIXed) to allow a "normal" configure & make build on *nix platforms.
Comment 2•18 years ago
|
||
(In reply to comment #1)
> For another this:
> <snip>
> --disable-jsd \
> <snip>
> --enable-extensions=-venkman \
> <snip>
Obviously I managed to miss the single minus in the entire configure line. It's probably still redundant because of http://lxr.mozilla.org/seamonkey/source/configure.in#5668, though.
Comment 3•18 years ago
|
||
The fact that there are possible combinations of build flags that don't work means nothing other than the idea that there are too many build flags to maintain pure compatibility. This seems pretty random, like -venkman (we don't build venkman in default) and +typeaheadfind (this is for seamonkey, and causes issues with the typeaheadfind implementation in mozilla/toolkit). But by your argument we have to idiot-proof the build system so people can't configure a non-working build by accident.
I would suspect that your system doesn't have a new enough version of cairo to --use-system-cairo, but that build flag wasn't considered anything other than experimental last I looked.
This is INVALID, Firefox can certainly be built, using many combinations of build flags, just not the ones you're specifying.
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → INVALID
Reporter | ||
Comment 4•18 years ago
|
||
I am reopening this bug. The attempt to compile directly from CVS was driven by the fact that attempting to compile from the Firefox 3.0a2 source release would *not* compile with "--enable-system-cairo". The error was the same.
If you provide an option, the system should compile with it. Otherwise you should not provide it. The enabling of *all* --enable-system* compiliation options is a requirement for anyone seeking to build Firefox with a complete complement of fully debugable libraries under Linux. I should be able to build completely separate debug libraries for PANGO/CAIRO/GDK/GTK/GLIB/X11 and operate with those and Firefox *but* only if Firefox builds!
The file:
/gfx/thebes/src/cairo-xlib-utils.c
would not compile due to an undefined "uint32_t" type. This appears to be due to the standard configuration scripts not detecting that I *do* have a "stdint.h" which does define a uint32_t. And if you would bother to look at line 43 of cairo-xlib-utils.c you would see a line "#if HAVE_STDINT_H". I do have that file and it does define uint32_t. So I can only place fault on either (a) the author of cairo-xlib-utils.h because he or she should have written that particular file so as to compensate for system misconfigurations, or the authors of the Firefox (Mozilla) configuration system who seem to be adept at executing a duck and cover exercise related to (--enable-only-bother-to-compile-under-windows).
And for references I am running a Gentoo 2.6.18-r6 kernel with cairo 1.3.14 and pango 1.14.10. If there is someone "out-of-date" with current state of the art Linux software, I would humbly suggest that it is not I.
Status: RESOLVED → UNCONFIRMED
Resolution: INVALID → ---
Updated•18 years ago
|
Assignee: nobody → general
Severity: normal → minor
Component: General → GFX
Product: Firefox → Core
QA Contact: general → ian
Comment 5•18 years ago
|
||
So why not file a bug on the specific issue, instead of filing what seems like a generally ranty bug talking about "software products" and imagined bias against Linux? Your second comment would have been much more productive as the original description. The reason I marked your bug as INVALID was because you were not saying "building wiht system cairo fails in X with cairo version Y" you were saying "Firefox cannot be built from CVS on common Linux system" which is obviously missing certain details or patently untrue (i.e. I can get Ubuntu, install the build tools, and build a static binary from CVS). This would ideally have been marked as INCOMPLETE since there wasn't nearly enough data to do anything useful.
Resummarizing to be hopefully more useful to triagers, since it does seem like you have a real bug, even though I didn't take the time to sift through your comment in the first place.
Summary: Firefox as extracted from current CVS cannot be built. → build fails in cairo-xlib-utils.c with --enable-system-cairo using cairo 1.3.14
Vlad, configure currently requires a minimum cairo version of 0.9.1. That seems bogus. What should it really say? Should we even allow it?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Once Cairo 1.4 ships (Any Day Now), and I update a tiny bit of code for some API changes, system cairo will actually work. I'm not a huge fan of system cairo, but I don't really see any reason to disallow it now that we have all the APIs that we need, and it does make it easier for people who are working on cairo on linux to test with firefox.
So should you bump the minimum required version to 1.4?
... or, given that cairo doesn't seem to have API stability, the *required* cairo version?
Comment 10•18 years ago
|
||
Bug 368844 has patch for compile error which was caused by faulty check in configure.in
Updated•18 years ago
|
Status: NEW → RESOLVED
Closed: 18 years ago → 18 years ago
Resolution: --- → DUPLICATE
Reporter | ||
Comment 12•18 years ago
|
||
See updated comments in Bug #376505.
Updated•16 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•