Closed
Bug 493726
Opened 17 years ago
Closed 17 years ago
Cairo/Qt backend fails to build -- again
Categories
(Core Graveyard :: Widget: Qt, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: tobias.hunger, Unassigned)
References
Details
Attachments
(2 files, 4 obsolete files)
|
2.99 KB,
patch
|
Details | Diff | Splinter Review | |
|
480 bytes,
patch
|
Details | Diff | Splinter Review |
Hello!
Cairo/Qt fails to build again after recent cairo updates.
The attached patch fixes the issues.
Attachment #378314 -
Flags: review?(mark.finkle)
Comment 1•17 years ago
|
||
Comment on attachment 378314 [details] [diff] [review]
Fix cairo qt build again
Just a drive by review
>diff -r 068bfbbdabea configure.in
>- if test ! -f "$LIBXUL_SDK/sdk/include/xpcom-config.h"; then
>- AC_MSG_ERROR([$LIBXUL_SDK/sdk/include/xpcom-config.h doesn't exist])
>+ if test ! -f "$LIBXUL_SDK/include/xpcom-config.h"; then
>+ AC_MSG_ERROR([$LIBXUL_SDK/include/xpcom-config.h doesn't exist])
I think a fix for this already landed
> fi
>
> MOZ_ENABLE_LIBXUL=1
>@@ -7728,7 +7739,9 @@
> dnl ========================================================
>
> QCMS_LIBS='$(DEPTH)/gfx/qcms/$(LIB_PREFIX)mozqcms.$(LIB_SUFFIX)'
>+QCMS_CFLAGS='-I$(LIBXUL_DIST)/include'
> AC_SUBST(QCMS_LIBS)
>+AC_SUBST(QCMS_CFLAGS)
>
> dnl ========================================================
> dnl disable xul
>diff -r 068bfbbdabea gfx/cairo/cairo/src/cairo-qpainter-surface.cpp
>--- a/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp Tue May 19 17:44:23 2009 +1200
>+++ b/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp Tue May 19 14:11:06 2009 +0200
>@@ -41,6 +41,7 @@
> #include "cairo-types-private.h"
>
> #include "cairo-qpainter.h"
>+
> #include <memory>
>
> #include <QtGui/QPainter>
>@@ -740,7 +741,7 @@
>
> cairo_traps_t traps;
> cairo_int_status_t status;
>- cairo_region_t region;
>+ cairo_region_t * region(0);
>
> _cairo_traps_init (&traps);
> status = (cairo_int_status_t)
>@@ -781,12 +782,12 @@
>
> QRegion qr;
>
>- n_boxes = _cairo_region_num_boxes(®ion);
>+ n_boxes = cairo_region_num_rectangles(region);
> for (int i = 0; i < n_boxes; ++i)
> {
>- cairo_box_int_t box;
>- _cairo_region_get_box(®ion, i, &box);
>- QRect r(box.p1.x, box.p1.y, box.p2.x - box.p1.x, box.p2.y - box.p2.y);
>+ cairo_rectangle_int_t box;
>+ cairo_region_get_rectangle(region, i, &box);
>+ QRect r(box.x, box.y, box.width, box.height);
>
> if (0 == i)
> clip_bounds = r;
>@@ -796,7 +797,7 @@
> qr = qr.unite(r);
> }
> #endif
>- _cairo_region_fini (®ion);
>+ _cairo_region_fini (region);
>
> qs->p->setClipRegion (qr, Qt::IntersectClip);
> } else {
>@@ -1406,7 +1407,7 @@
> qs->clip_bounds.height()
> };
>
>- _cairo_region_init_rect (®ion, &rect);
>+ _cairo_region_init_rectangle(®ion, &rect);
>
> _cairo_surface_set_clip_region (qs->xlib_equiv, ®ion, ++qs->xlib_clip_serial);
>
>diff -r 068bfbbdabea gfx/thebes/src/Makefile.in
>--- a/gfx/thebes/src/Makefile.in Tue May 19 17:44:23 2009 +1200
>+++ b/gfx/thebes/src/Makefile.in Tue May 19 14:11:06 2009 +0200
>@@ -173,8 +173,8 @@
>
> include $(topsrcdir)/config/rules.mk
>
>-CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
>-CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
>+CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) $(QCMS_CFLAGS)
>+CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) $(QCMS_CFLAGS)
>
> ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
> ifdef WINCE
>diff -r 068bfbbdabea gfx/thebes/src/gfxPlatform.cpp
>
> #include "cairo.h"
>-#include "qcms.h"
This will affect non Qt backends, right? Will this break anyone?
>diff -r 068bfbbdabea widget/src/qt/Makefile.in
> LOCAL_INCLUDES += \
> -I$(topsrcdir)/widget/src/xpwidgets \
> -I$(srcdir) \
>+ -I$(topsrcdir)/gfx/qcms \
> $(NULL)
indenting looks off
Comment 2•17 years ago
|
||
Comment on attachment 378314 [details] [diff] [review]
Fix cairo qt build again
Ugh, sorry for not snipping the patch chunks.
r- so you can remove the configure.in changes.
Attachment #378314 -
Flags: review?(mark.finkle) → review-
| Reporter | ||
Comment 3•17 years ago
|
||
(In reply to comment #1)
> (From update of attachment 378314 [details] [diff] [review])
> Just a drive by review
>
> >diff -r 068bfbbdabea configure.in
> >- if test ! -f "$LIBXUL_SDK/sdk/include/xpcom-config.h"; then
> >- AC_MSG_ERROR([$LIBXUL_SDK/sdk/include/xpcom-config.h doesn't exist])
> >+ if test ! -f "$LIBXUL_SDK/include/xpcom-config.h"; then
> >+ AC_MSG_ERROR([$LIBXUL_SDK/include/xpcom-config.h doesn't exist])
>
> I think a fix for this already landed
Removed.
> > #include "cairo.h"
> >-#include "qcms.h"
>
> This will affect non Qt backends, right? Will this break anyone?
Yes, but the gfxPlatform header already includes this file.
I removed this include so that I do not needlessly have to fix up the include in two files.
> >diff -r 068bfbbdabea widget/src/qt/Makefile.in
>
> > LOCAL_INCLUDES += \
> > -I$(topsrcdir)/widget/src/xpwidgets \
> > -I$(srcdir) \
> >+ -I$(topsrcdir)/gfx/qcms \
> > $(NULL)
>
> indenting looks off
... due to tabbing. Fixed.
Attachment #378314 -
Attachment is obsolete: true
Attachment #379086 -
Flags: review?
| Reporter | ||
Updated•17 years ago
|
Attachment #379086 -
Flags: review? → review?(mark.finkle)
Updated•17 years ago
|
Attachment #379086 -
Flags: review?(mark.finkle) → review?(vladimir)
Comment 4•17 years ago
|
||
Comment on attachment 379086 [details] [diff] [review]
Fix cairo qt build again (updated)
Passing over to Vlad for the real review
| Reporter | ||
Comment 5•17 years ago
|
||
Ping? It's been way over a week now without anything happening.
Comment 6•17 years ago
|
||
A small modification to Tobias' patch. Some things have changed related to config/autoconf.mk.in, so I think this patch being added here is closer to what we need.
| Reporter | ||
Updated•17 years ago
|
Attachment #380122 -
Flags: approval1.9.1?
| Reporter | ||
Comment 7•17 years ago
|
||
Comment on attachment 380122 [details] [diff] [review]
A revised patch for the Cairo Qt build
This fixes a build failure of one of the gecko 1.9.1 backends, so it should be applied.
| Reporter | ||
Updated•17 years ago
|
Flags: blocking1.9.1?
| Reporter | ||
Comment 8•17 years ago
|
||
Ping? Could this patch please get commited? Thanks!
Comment 9•17 years ago
|
||
Not without a review on it, no. Ted, can you please take a look?
Is Qt a supported backend?
Comment 10•17 years ago
|
||
It's not even listed on our supported build configurations page:
https://developer.mozilla.org/En/Supported_build_configurations
Without an active maintainer listed to help with issues, it's tough to keep it working, certainly. We sure don't need to block the release on this, we could take it in a dot release. (Most of it is NPOTB for our default builds.)
Flags: blocking1.9.1? → blocking1.9.1-
| Reporter | ||
Comment 11•17 years ago
|
||
That page does not list GTK or any of the other toolkits either, so why should it list Qt?
Anyway:
The effected code is to be released.
It does contain a crasher bug.
At least four people agree on it (Me, James, Anton) and are effected by this bug.
Mark (one of your mozilla devs!) had reviewed the bug.
The fix is self contained (it is not seen by the compiler whenever a toolkit different from Qt is used at all!).
So what is keeping you from applying it?
| Reporter | ||
Comment 12•17 years ago
|
||
PS:
We are running on linux/x86 (gcc) which is listed as a tier-1 platform in
https://developer.mozilla.org/En/Supported_build_configurations
| Reporter | ||
Comment 13•17 years ago
|
||
OK, Mark gave a review-, but his issues were fixed in the later updates to the patch.
| Reporter | ||
Updated•17 years ago
|
Attachment #379086 -
Attachment is obsolete: true
Attachment #379086 -
Flags: review?(vladimir)
| Reporter | ||
Updated•17 years ago
|
Attachment #380122 -
Flags: review?(vladimir)
Comment 14•17 years ago
|
||
But it's not the default configuration for Linux/x86, and it's not built on our primary Tinderboxes, so it's not Tier 1.
We could get this landed on trunk after review, sure. However, we're trying to ship Firefox 3.5 off of the 1.9.1 branch, and as such we're minimizing the amount of patches that land there at the moment. I'm sorry if this timing sucks for you, but after we ship 3.5 it should be easier to get this on branch.
That being said, you don't have a patch here that's been granted review+ yet, and that's the first step to getting anything landed. I'm sorry if you feel that your patch has been languishing, but sometimes reviewers are busy and don't get to patches.
Attachment #380122 -
Flags: review?(vladimir) → review?(jmuizelaar)
Comment 15•17 years ago
|
||
Comment on attachment 380122 [details] [diff] [review]
A revised patch for the Cairo Qt build
>diff --git a/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp b/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp
>--- a/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp
>+++ b/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp
>@@ -36,16 +36,17 @@
>
> /* Get INT16_MIN etc. as per C99 */
> #define __STDC_LIMIT_MACROS
>
> #include "cairoint.h"
> #include "cairo-types-private.h"
>
> #include "cairo-qpainter.h"
>+
> #include <memory>
>
> #include <QtGui/QPainter>
> #include <QtGui/QPaintEngine>
> #include <QtGui/QPaintDevice>
> #include <QtGui/QImage>
> #include <QtGui/QPixmap>
> #include <QtGui/QBrush>
>@@ -735,17 +736,17 @@ _cairo_qpainter_surface_intersect_clip_p
> qs->p->setClipRect (r, Qt::IntersectClip);
> } else {
> // Then if it's not an integer-aligned rectangle, check
> // if we can extract a region (a set of rectangles) out.
> // We use cairo to convert the path to traps.
>
> cairo_traps_t traps;
> cairo_int_status_t status;
>- cairo_region_t region;
>+ cairo_region_t * region(0);
I'd prefer this be initialized with '= NULL' instead of '(0)' as that fits with the cairo conventions
better even though this is c++.
>
> _cairo_traps_init (&traps);
> status = (cairo_int_status_t)
> _cairo_path_fixed_fill_to_traps (path, fill_rule, tolerance, &traps);
> if (status) {
> _cairo_traps_fini (&traps);
> return status;
> }
>@@ -776,32 +777,32 @@ _cairo_qpainter_surface_intersect_clip_p
> qr = qr.unite(r);
> }
> _cairo_region_boxes_fini (®ion, boxes);
> #else
> int n_boxes;
>
> QRegion qr;
>
>- n_boxes = _cairo_region_num_boxes(®ion);
>+ n_boxes = cairo_region_num_rectangles(region);
> for (int i = 0; i < n_boxes; ++i)
> {
>- cairo_box_int_t box;
>- _cairo_region_get_box(®ion, i, &box);
>- QRect r(box.p1.x, box.p1.y, box.p2.x - box.p1.x, box.p2.y - box.p2.y);
>+ cairo_rectangle_int_t box;
>+ cairo_region_get_rectangle(region, i, &box);
>+ QRect r(box.x, box.y, box.width, box.height);
>
> if (0 == i)
> clip_bounds = r;
> else
> clip_bounds = clip_bounds.united(r);
>
> qr = qr.unite(r);
> }
> #endif
>- _cairo_region_fini (®ion);
>+ _cairo_region_fini (region);
>
> qs->p->setClipRegion (qr, Qt::IntersectClip);
> } else {
> // We weren't able to extract a region from the traps.
> // Just hand the path down to QPainter.
> QPainterPath qpath;
>
> if (_cairo_quartz_cairo_path_to_qpainterpath (path, &qpath, fill_rule) != CAIRO_STATUS_SUCCESS)
>@@ -1401,17 +1402,17 @@ _cairo_qpainter_surface_show_glyphs (voi
> cairo_region_t region;
> cairo_rectangle_int_t rect = {
> qs->clip_bounds.x() - qs->redir_offset.x(),
> qs->clip_bounds.y() - qs->redir_offset.y(),
> qs->clip_bounds.width(),
> qs->clip_bounds.height()
> };
>
>- _cairo_region_init_rect (®ion, &rect);
>+ _cairo_region_init_rectangle(®ion, &rect);
>
> _cairo_surface_set_clip_region (qs->xlib_equiv, ®ion, ++qs->xlib_clip_serial);
>
> _cairo_region_fini (®ion);
> }
>
> qs->xlib_has_clipping = qs->has_clipping;
> qs->xlib_clip_bounds = qs->clip_bounds;
These changes seem ok.
>+CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) $(QCMS_CFLAGS)
>+CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) $(QCMS_CFLAGS)
What are the qcms changes for? They seem like they should be a separate patch.
Attachment #380122 -
Flags: review?(jmuizelaar) → review-
Comment 16•17 years ago
|
||
It seems that there is no need to play with any of the qcms things, so they have been removed. The use of zero as an initialiser has been replaced with NULL.
Attachment #380122 -
Attachment is obsolete: true
Attachment #381514 -
Flags: review?(jmuizelaar)
Attachment #380122 -
Flags: approval1.9.1?
| Reporter | ||
Comment 17•17 years ago
|
||
Ping? Any progress with the review/application of this patch?
| Reporter | ||
Comment 18•17 years ago
|
||
Ping?
Comment 19•17 years ago
|
||
Look, sometimes people are busy. You pinged on the 5th, which was a friday, and in the early morning of the 8th (in Jeff and my timezone), a monday. You can't expect lightning-fast turnaround on patch reviews, ok? Jeff reviewed your previous patch, and I'm sure he'll get to your revised version soon. Please be patient.
| Reporter | ||
Comment 20•17 years ago
|
||
I just want to make sure that this patch is not forgotten. It is pretty critical to me: I can not even build xulrunner without some heavy patching first! And this has been going on for weeks. I am under the impression that not even the upcoming release 1.9.1 will work! So I am getting desperate:-)
Funny thing is that a crash I reported in the Qt code was fixed (even for Gecko 1.9.1!), while this patch that makes the code actually build in the first place is still sitting here in the bugtracker.
Comment 21•17 years ago
|
||
Comment on attachment 381514 [details] [diff] [review]
A replacement patch for the Cairo Qt build
> #include "cairo.h"
>-#include "qcms.h"
>
There's still a qcms hunk here, with no reason for it given. r+ if this hunk is removed.
Note: I wasn't cc'ed on the bug so I wasn't getting any of the pings regarding reviews.
Attachment #381514 -
Flags: review?(jmuizelaar) → review+
Comment 22•17 years ago
|
||
There's absolutely no need for the inclusion of qcms.h in /gfx/thebes/src/gfxPlatform.cpp since /gfx/thebes/src/gfxPlatform.h already has it. This patch simply cleans that up.
| Reporter | ||
Comment 23•17 years ago
|
||
Remove the one hunk Jeff did not like in the patch, leave the patch unchanged otherwise.
Attachment #381514 -
Attachment is obsolete: true
| Reporter | ||
Comment 24•17 years ago
|
||
This is the one hunk Jeff did not like in the build fix patch.
It is a unnecessary include that gets removed, so it should get applied IMHO, but of course not as part of the build fix patch. So I am putting this as a separate patch here... don't want to open a new bugreport about it;-)
Comment 25•17 years ago
|
||
The mozilla-central tree is still closed at the moment, but we should be able to get this landed shortly after it opens. You can probably find someone to land it along with some other patches they have queued up.
Keywords: checkin-needed
| Reporter | ||
Comment 26•17 years ago
|
||
Ted: Thanks for the feedback.
#485579 was about the same piece of code as this one and did get applied. I really do not see why a crash fix can get applied and a build fix (which is required for the crash fix to even get build!) not.
I think the magic phrase why this is applicable for commit even now is "NPOTB".
Comment 27•17 years ago
|
||
Yes, I would normally agree with you, but at the moment the tree is closed for release engineering maintenance before being reopened for checkins.
| Reporter | ||
Comment 28•17 years ago
|
||
So when will this patch finally land?
The Qt backend is broken for weeks now!
No longer blocks: 497858
Comment 29•17 years ago
|
||
Landed now. I changed the patch to use '= NULL' instead of '(NULL)' as that's what I originally meant and missed it in the second review.
http://hg.mozilla.org/mozilla-central/rev/baaf18eb76da
Sorry it was broken for so long.
Comment 31•17 years ago
|
||
with the fixed code, build error on Ubuntu8.04 with Qt4.5.0 , mostly likely to be a Qt path configuration problem, but get confused because --with-qtdir is set clearly in .mozconfig
=================================
//.mozconfig file:
mk_add_options MOZ_CO_PROJECT=browser,xulrunner
mk_add_options AUTOCONF=autoconf2.13
mk_add_options MOZ_OBJDIR=/home/myname/fun/gecko/qtxul
mk_add_options MOZ_MAKE_FLAGS=-j4
ac_add_options --enable-application=browser
ac_add_options --enable-default-toolkit=cairo-qt
ac_add_options --with-qtdir="/usr/local/Trolltech/Qt-4.5.0"
ac_add_options --enable-debug="-g3"
ac_add_options --disable-optimize
ac_add_options --enable-tests
ac_add_options --disable-installer
ac_add_options --disable-crashreporter
ac_add_options --disable-javaxpcom
ac_add_options --disable-printing
#ac_add_options --disable-embedding-tests
ac_add_options --disable-elf-dynstr-gc
=================================
//error part of making:
c++ -o moc_mozqwidget.o -c -I../../../dist/include/system_wrappers -include /home/myname/fun/gecko/mozilla-central/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -D_IMPL_NS_WIDGET -D_BSD_SOURCE -I/home/myname/fun/gecko/mozilla-central/widget/src/xpwidgets -I/home/myname/fun/gecko/mozilla-central/widget/src/qt -I/home/myname/fun/gecko/mozilla-central/widget/src/qt -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/home/myname/fun/gecko/qtxul/dist/include/nspr -I/home/myname/fun/gecko/qtxul/dist/include/nss -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_myname -DTRACING -g3 -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtCore -I/usr/include/glib-1.2 -I/usr/lib/glib/include -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/moc_mozqwidget.pp moc_mozqwidget.cpp
moc_mozqwidget.cpp:14:2: error: #error "This file was generated using the moc from 4.5.0. It"
moc_mozqwidget.cpp:15:2: error: #error "cannot be used with the include files from this version of Qt."
moc_mozqwidget.cpp:16:2: error: #error "(The moc has changed too much.)"
moc_nsAppShell.cpp
c++ -o moc_nsAppShell.o -c -I../../../dist/include/system_wrappers -include /home/myname/fun/gecko/mozilla-central/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -D_IMPL_NS_WIDGET -D_BSD_SOURCE -I/home/myname/fun/gecko/mozilla-central/widget/src/xpwidgets -I/home/myname/fun/gecko/mozilla-central/widget/src/qt -I/home/myname/fun/gecko/mozilla-central/widget/src/qt -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/home/myname/fun/gecko/qtxul/dist/include/nspr -I/home/myname/fun/gecko/qtxul/dist/include/nss -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_myname -DTRACING -g3 -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtCore -I/usr/include/glib-1.2 -I/usr/lib/glib/include -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/moc_nsAppShell.pp moc_nsAppShell.cpp
moc_nsAppShell.cpp:14:2: error: #error "This file was generated using the moc from 4.5.0. It"
moc_nsAppShell.cpp:15:2: error: #error "cannot be used with the include files from this version of Qt."
moc_nsAppShell.cpp:16:2: error: #error "(The moc has changed too much.)"
make[6]: *** [moc_mozqwidget.o] Error 1
make[6]: *** Waiting for unfinished jobs....
/home/myname/fun/gecko/mozilla-central/widget/src/qt/nsFilePicker.cpp: In member function \u2018virtual nsresult nsFilePicker::Show(PRInt16*)\u2019:
/home/myname/fun/gecko/mozilla-central/widget/src/qt/nsFilePicker.cpp:244: warning: format \u2018%s\u2019 expects type \u2018char*\u2019, but argument 2 has type \u2018QChar*\u2019
make[6]: *** [moc_nsAppShell.o] Error 1
make[6]: Leaving directory `/home/myname/fun/gecko/qtxul/widget/src/qt'
make[5]: *** [libs] Error 2
make[5]: Leaving directory `/home/myname/fun/gecko/qtxul/widget/src'
make[4]: *** [libs] Error 2
make[4]: Leaving directory `/home/myname/fun/gecko/qtxul/widget'
make[3]: *** [libs_tier_gecko] Error 2
make[3]: Leaving directory `/home/myname/fun/gecko/qtxul'
make[2]: *** [tier_gecko] Error 2
make[2]: Leaving directory `/home/myname/fun/gecko/qtxul'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/myname/fun/gecko/qtxul'
make: *** [build] Error 2
Comment 32•17 years ago
|
||
This is an Ubuntu problem, not a problem of this patch or anything to do with Mozilla's build system.
I have seen on Ubuntu 8.04 that the output of pkg-config is incorrect, even if you specify PKG_CONFIG_PATH to pick up .pc files from elsewhere.
Comment 33•17 years ago
|
||
Following up on this: (a bit off topic, discussing Mozembed-QT build, seg fault)
QT build of mozilla-central pass on Ubuntu 8.04 with QT4.5.0
Mozembed-QT build pass, too.
BUT ./testqmozembed has a seg fault. Any suggestions/hints will be of
great appreciation.
=================================
//GDB outputs showing the seg fault:
Breakpoint 3, InitEmbedding (aProfilePath=0x0, aComps=0x0,
aNumComps=0) at ../common/EmbeddingSetup.cpp:273
273 if (sProfileDir && !sProfileLock) {
(gdb) l
268 if (!dirExists) {
269 sProfileDir->Create(nsIFile::DIRECTORY_TYPE, 0700);
270 }
271
272 // Lock profile directory
273 if (sProfileDir && !sProfileLock) {
274 rv = XRE_LockProfileDirectory(sProfileDir,
&sProfileLock);
275 NS_ENSURE_SUCCESS(rv, rv);
276 }
277
(gdb) bt
#0 InitEmbedding (aProfilePath=0x0, aComps=0x0, aNumComps=0) at ../
common/EmbeddingSetup.cpp:273
#1 0x08050fce in MozView (this=0x80c00d8) at ../common/embed.cpp:264
#2 0x0804ec22 in Private (this=0x80c00d8, aQMozView=0x80c3b50) at
QMozView.cpp:68
#3 0x0804e696 in QMozView (this=0x80c3b50, parent=0xbfce2f70,
flags=0) at QMozView.cpp:128
#4 0x0804cb49 in MyQMozView (this=0x80c3b50, parent=0xbfce2f70,
flags=0) at test.cpp:50
#5 0x0804cc99 in MyBrowser (this=0xbfce2f70, parent=0x0, flags=0) at
test.cpp:70
#6 0x0804d026 in main (argc=1, argv=0xbfce3044) at test.cpp:131
(gdb) n
274 rv = XRE_LockProfileDirectory(sProfileDir,
&sProfileLock);
(gdb) s
nsCOMPtr<nsILocalFile>::operator nsILocalFile* (this=0x8069e04)
at /home/myname/fun/gecko/qtxul/dist/bin//../include/nsCOMPtr.h:
790
790 return get();
(gdb) bt
#0 nsCOMPtr<nsILocalFile>::operator nsILocalFile* (this=0x8069e04)
at /home/myname/fun/gecko/qtxul/dist/bin//../include/nsCOMPtr.h:
790
#1 0x080546a8 in InitEmbedding (aProfilePath=0x0, aComps=0x0,
aNumComps=0) at ../common/EmbeddingSetup.cpp:274
#2 0x08050fce in MozView (this=0x80c00d8) at ../common/embed.cpp:264
#3 0x0804ec22 in Private (this=0x80c00d8, aQMozView=0x80c3b50) at
QMozView.cpp:68
#4 0x0804e696 in QMozView (this=0x80c3b50, parent=0xbfce2f70,
flags=0) at QMozView.cpp:128
#5 0x0804cb49 in MyQMozView (this=0x80c3b50, parent=0xbfce2f70,
flags=0) at test.cpp:50
#6 0x0804cc99 in MyBrowser (this=0xbfce2f70, parent=0x0, flags=0) at
test.cpp:70
#7 0x0804d026 in main (argc=1, argv=0xbfce3044) at test.cpp:131
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
0x090ea4a6 in ?? ()
======================================
Comment 34•17 years ago
|
||
Just in case FYI, Mozembed-QT is here: https://wiki.mozilla.org/Embedding/NewApi/QtLinux
| Reporter | ||
Comment 35•17 years ago
|
||
hui xue: I think it would make sense to report this as a separate bug.
The xulrunner code obviously builds for you, so it is not related to this bug. It further is closed, so people will tend to ignore your problem while it is reported here only.
Best Regards,
Tobias
Comment 36•17 years ago
|
||
Can this bug be fixed also in branch mozilla-1.9.1 ?
cairo-qpainter-surface.cpp: In function 'cairo_int_status_t _cairo_qpainter_surface_show_glyphs(void*, cairo_operator_t, cairo_pattern_t*, cairo_glyph_t*, int, cairo_scaled_font_t*, int*)':
cairo-qpainter-surface.cpp:1391: error: invalid conversion from 'int' to 'cairo_text_cluster_flags_t'
cairo-qpainter-surface.cpp: In function 'void _cairo_image_surface_write_to_ppm(cairo_image_surface_t*, const char*)':
cairo-qpainter-surface.cpp:1798: warning: deprecated conversion from string constant to 'char*'
cairo-qpainter-surface.cpp:1800: warning: deprecated conversion from string constant to 'char*'
cairo-qpainter-surface.cpp: At global scope:
cairo-qpainter-surface.cpp:129: warning: 'g_dump_path' defined but not used
cairo-qpainter-surface.cpp:130: warning: 'timer_start_val' defined but not used
cairo-qpainter-surface.cpp:155: warning: 'const char* _opstr(cairo_operator_t)' defined but not used
| Assignee | ||
Updated•10 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•