Bug 399541 - liferea doesn't compile against XULRunner
Summary: liferea doesn't compile against XULRunner
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: liferea
Version: 9
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Steven M. Parrish
QA Contact: Fedora Extras Quality Assurance
URL: http://fedoraproject.org/wiki/Release...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-11-26 15:24 UTC by Martin Stransky
Modified: 2008-07-09 02:52 UTC (History)
7 users (show)

Fixed In Version: 1.4.16b-5.fc9
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-07-09 02:52:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Failed builded log (205.49 KB, text/plain)
2007-11-26 19:10 UTC, Brian Pepple
no flags Details
building against xulrunner (17.33 KB, patch)
2008-04-20 17:23 UTC, Arkady L. Shane
no flags Details | Diff
a minimal F9 xulrunner patch (1.15 KB, patch)
2008-04-28 09:31 UTC, Martin Stransky
no flags Details | Diff

Description Martin Stransky 2007-11-26 15:24:31 UTC
Description of problem:

There's a new XULRunner package in rawhide and all applications what uses gecko
should use it. Firefox-devel as a gecko-libs provider will be removed in Fedora
9. see http://fedoraproject.org/wiki/Releases/FeatureXULRunner

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Brian Pepple 2007-11-26 19:10:59 UTC
Created attachment 269181 [details]
Failed builded log

Started working on this, but it's failing to build.  Later this week, I'll look
into why that is.

Comment 2 Martin Stransky 2007-11-27 11:14:48 UTC
That's a great news, Thanks.

Comment 3 Christopher Aillon 2007-12-05 13:51:04 UTC
Couple problems here on looking.

1. The problem is that nsIDOMKeyEvent is not frozen, since it's not really
defined in a DOM specification. 
https://bugzilla.mozilla.org/show_bug.cgi?id=273436 is sort of related here, but
that's not ever going to get fixed.  Probably should figure out if this is still
needed, and how important it is.

2. #includes need some updating.  Need nsCOMPtr.h nsServiceManagerUtils.h and
nsNetCID.h is not around.

3. MOZILLA_INTERNAL_API causes the stable headers to #include some unstable
headers which are then not found.  Was there a reason for MOZILLA_INTERNAL_API
being defined?



Comment 4 sangu 2007-12-21 00:27:10 UTC
in rawhide 20071221
$ rpm -q firefox xulrunner
firefox-3.0-0.beta2.2.fc9
xulrunner-1.9-0.beta2.1.fc9

liferea-1.4.10 $ make
[...]
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h:197: warning: 'class
nsDerivedSafe<nsISupports>' has virtual functions but non-virtual destructor
/usr/include/xulrunner-sdk-1.9pre/stable/nsServiceManagerUtils.h:73: warning:
'class nsGetServiceFromCategory' has virtual functions but non-virtual destructor
/usr/include/xulrunner-sdk-1.9pre/stable/nsIIOService.h:44: warning: 'class
nsIIOService' has virtual functions but non-virtual destructor
mozsupport.cpp: In function 'gint mozsupport_key_press_cb(GtkWidget*, void*)':
mozsupport.cpp:56: error: 'nsIDOMKeyEvent' was not declared in this scope
mozsupport.cpp:56: error: 'event' was not declared in this scope
mozsupport.cpp:56: error: expected primary-expression before ')' token
mozsupport.cpp:56: error: expected `;' before 'ev'
mozsupport.cpp:67: error: 'nsIDOMKeyEvent' is not a class or namespace
mozsupport.cpp: In function 'gint mozsupport_get_mouse_event_button(void*)':
mozsupport.cpp:98: warning: dereferencing type-punned pointer will break
strict-aliasing rules
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h: At global scope:
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h: In instantiation of
'nsDerivedSafe<nsIWebBrowser>':
mozsupport.cpp:120:   instantiated from here
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h:197: warning: 'class
nsDerivedSafe<nsIWebBrowser>' has virtual functions but non-virtual destructor
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h: In instantiation of
'nsDerivedSafe<nsIDOMWindow>':
mozsupport.cpp:125:   instantiated from here
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h:197: warning: 'class
nsDerivedSafe<nsIDOMWindow>' has virtual functions but non-virtual destructor
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h: In instantiation of
'nsDerivedSafe<nsIPrefService>':
mozsupport.cpp:184:   instantiated from here
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h:197: warning: 'class
nsDerivedSafe<nsIPrefService>' has virtual functions but non-virtual destructor
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h: In instantiation of
'nsDerivedSafe<nsIPrefBranch>':
mozsupport.cpp:210:   instantiated from here
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h:197: warning: 'class
nsDerivedSafe<nsIPrefBranch>' has virtual functions but non-virtual destructor
mozsupport.cpp: In function 'void mozsupport_set_offline_mode(gboolean)':
mozsupport.cpp:271: error: 'NS_IOSERVICE_CONTRACTID' was not declared in this scope
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h: At global scope:
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h: In instantiation of
'nsDerivedSafe<nsIIOService>':
mozsupport.cpp:274:   instantiated from here
/usr/include/xulrunner-sdk-1.9pre/stable/nsCOMPtr.h:197: warning: 'class
nsDerivedSafe<nsIIOService>' has virtual functions but non-virtual destructor
make[4]: *** [liblihtmlx_la-mozsupport.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory `/usr/src/redhat/BUILD/liferea-1.4.10/src/mozilla'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/liferea-1.4.10/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/redhat/BUILD/liferea-1.4.10/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/liferea-1.4.10'
make: *** [all] Error 2


Comment 5 Brian Pepple 2008-01-03 22:14:42 UTC
Haven't had any time to really dig into this, but here's Lars reply to your
questions.
http://sourceforge.net/tracker/index.php?func=detail&aid=1855762&group_id=87005&atid=581684

(In reply to comment #3)
> Couple problems here on looking.
> 
> 1. The problem is that nsIDOMKeyEvent is not frozen, since it's not really
> defined in a DOM specification. 
> https://bugzilla.mozilla.org/show_bug.cgi?id=273436 is sort of related here, but
> that's not ever going to get fixed.  Probably should figure out if this is still
> needed, and how important it is.

I'd like to use official DOM APIs. So if someone could provide a better
solution... I for myself are not familiar enough with the Mozilla APIs.
Most of the code comes from Galeon and Epiphany.
 
> 2. #includes need some updating.  Need nsCOMPtr.h nsServiceManagerUtils.h and
> nsNetCID.h is not around.

While adding nsCOMPtr.h and nsServiceManagerUtils.h does not hurt,
removing nsNetCID.h fails to compile with my XulRunner 1.8 
installation (Debian Unstable here). Could you provide an #ifdef patch
with gecko version checks that makes it compile for you? I cannot test it
until XulRunner gets upgraded in Debian Unstable.

> 3. MOZILLA_INTERNAL_API causes the stable headers to #include some unstable
> headers which are then not found.  Was there a reason for MOZILLA_INTERNAL_API
> being defined?

MOZILLA_INTERNAL_API was added due to
https://sourceforge.net/tracker/?func=detail&atid=581685&aid=1377087&group_id=87005

Comment 6 Marc Wiriadisastra 2008-02-21 10:18:01 UTC
I just rebuilt this can someone try this in F-9 since I don't have it installed.

http://koji.fedoraproject.org/koji/taskinfo?taskID=454406


Comment 7 Marc Wiriadisastra 2008-02-25 21:33:25 UTC
It seems to work it should be in F-9 now so I'm closing this bug. I've also
added it to F-8 testing.

Comment 8 Alex Lancaster 2008-02-26 06:24:26 UTC
(In reply to comment #7)
> It seems to work it should be in F-9 now so I'm closing this bug. I've also
> added it to F-8 testing.

Hi there, I'm wondering whether the package has been tested on rawhide and that
it works at runtime?  I noticed that some xulrunner-related packages compiled
and built OK, but either crashed or failed to work (e.g. no browser components
worked in Miro) at runtime.

I'd test it out myself, but don't have access to my rawhide box at the moment.

Comment 9 Marc Wiriadisastra 2008-02-26 09:04:51 UTC
Personally I can't test it since I'm not running rawhide. If someone wants to
test it and post back if it fails I'm more than happy to take a look at it.

Comment 10 Martin Stransky 2008-02-26 09:09:36 UTC
I'll check the package when xulrunner/firefox is stabilized and released.

Comment 11 Alex Lancaster 2008-02-27 08:37:08 UTC
(In reply to comment #9)
> Personally I can't test it since I'm not running rawhide. If someone wants to
> test it and post back if it fails I'm more than happy to take a look at it.

Just installed it on rawhide and the browser component (rendering the posts)
seems to work.  It renders a few things a little oddly when you set liferea to
render inline, but otherwise seems fine.  So that's good news.

Comment 12 Alex Lancaster 2008-04-08 13:46:22 UTC
Re-opening bug as there isn't real xulrunner support yet.

Comment 13 Arkady L. Shane 2008-04-20 17:23:57 UTC
Created attachment 303060 [details]
building against xulrunner

Comment 14 Arkady L. Shane 2008-04-20 17:28:36 UTC
Comment on attachment 303060 [details]
building against xulrunner

Ubuntu 8.04 has two patches. I have modified them in one. Also I have to add in
liferea.spec after %configure this command:

find . -name "Makefile" | xargs sed -i
's!-I/usr/include/xulrunner-sdk-1.9pre/stable!-I/usr/include/xulrunner-sdk-1.9p
re/stable -I/usr/include/xulrunner-sdk-1.9pre/
-I/usr/include/xulrunner-sdk-1.9pre/gtkembedmoz/
-I/usr/include/xulrunner-sdk-1.9pre/xpcom -I
/usr/include/xulrunner-sdk-1.9pre/necko/
-I/usr/include/xulrunner-sdk-1.9pre/dom/ -I/usr/include/nspr4/!g'

to allow liferea to find all headers. Now it compiles against xulrunner.

Comment 15 Marc Wiriadisastra 2008-04-22 10:49:38 UTC
I still can't get it to work properly.

Comment 17 Marc Wiriadisastra 2008-04-22 11:28:36 UTC
Why did you disable --disable-gtkhtml2?

The spec won't work for F-8.

Comment 18 Marc Wiriadisastra 2008-04-22 11:47:07 UTC
Can you submit the patches upstream please since you have created them.

Comment 19 Martin Stransky 2008-04-28 09:21:40 UTC
1.4.15-3.fc9 seems to target all issues (broken configure and wrong xulrunner
initialization)

Comment 20 Martin Stransky 2008-04-28 09:31:07 UTC
Created attachment 303952 [details]
a minimal F9 xulrunner patch

There's a minimal patch what allows liferea to run correctly in F9.

Comment 21 Marc Wiriadisastra 2008-05-02 23:20:41 UTC
Patch has been submitted upstream 1.4.16 should be released soon which has the
patch in it or a modified version of it.

I'll package that straight away and have it as part of F-9 if there are
objections speak up otherwise I'll leave it.

Comment 22 Bug Zapper 2008-05-14 04:00:18 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 23 Fedora Update System 2008-05-15 14:25:21 UTC
liferea-1.4.15-5.fc9 has been submitted as an update for Fedora 9

Comment 24 Fedora Update System 2008-05-17 22:21:49 UTC
liferea-1.4.15-5.fc9 has been pushed to the Fedora 9 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update liferea'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-4047

Comment 25 Fedora Update System 2008-05-21 10:53:53 UTC
liferea-1.4.15-5.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 26 Steven M. Parrish 2008-07-01 18:42:34 UTC
Reopening as new upstream release 1.4.16b compiles against xulrunner-1.9 but
segfaults during the initial call to xulrunner code.  Lars is checking but since
he does not have 1.9 final on debian cannot test and debug.

Comment 27 Fedora Update System 2008-07-02 16:52:27 UTC
liferea-1.4.16b-5.fc9 has been submitted as an update for Fedora 9

Comment 28 Fedora Update System 2008-07-03 03:14:10 UTC
liferea-1.4.16b-5.fc9 has been pushed to the Fedora 9 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update liferea'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-6021

Comment 29 Fedora Update System 2008-07-09 02:52:16 UTC
liferea-1.4.16b-5.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.