infinity0 / mozilla-gnome-keyring-legacy

A firefox extension that enables Gnome Keyring integration (legacy version)
https://bugzilla.mozilla.org/show_bug.cgi?id=309807
Other
55 stars 8 forks source link

Broken on Ubuntu 12.04 Firefox 12 #10

Closed mb5 closed 12 years ago

mb5 commented 12 years ago

When trying to build the gnome-keyring for Firefox 12 on Ubuntu 12.04, I get this error:

LANG=en_US make

g++ xpcom_abi.cpp -o xpcom_abi pkg-config --cflags pkg-config --libs -Wlpkg-config --libs-only-L | sed -e 's/-L\(\S*\).*/,-rpath=\1/' -Wall -fno-rtti -fno-exceptions -fPIC -std=gnu++0x Must specify package names on the command line Must specify package names on the command line Must specify package names on the command line cc1plus: error: unrecognized command line option '-Wl' make: *\ [xpcom_abi] Error 1

adunuale commented 12 years ago

XULRunner (and its dev package) is no longer in the Ubuntu repositories. Hence pkg-config --libs-only-L $(XUL_PKG_NAME) | sed -e 's/-L\(\S*\).*/,-rpath=\1/' returning nothing useful.

pehlm commented 12 years ago

I'm encountering the same when i trying to compile on 12.04. Is there something i could do to force the compile? There was no "XULRunner" package in Lucid either but it was no problem there.

adunuale commented 12 years ago

XULRunner was in Lucid: http://packages.ubuntu.com/lucid/xulrunner-1.9.2

Both 1.9 and 2.0 packages are removed as per ongoing effort during Oneiric: http://ubuntu.5.n6.nabble.com/Removing-XULRunner-from-oneiric-call-for-help-td708630.html

To build this extension now on Ubuntu, I suppose, one would have to obtain XULRunner from Mozilla: https://developer.mozilla.org/en/Getting_started_with_XULRunner

pehlm commented 12 years ago

Ok, but on Oneiric it's no xulrunner package and mozilla-gnome-keyring is built by the PPA https://launchpad.net/~fat-lobyte9/+archive/ppa-public, for Oneiric! So, can some of the developers, ie "infinity0" or "fat-lobyte", give me some hints about how to build this package on Precise? Please.

infinity0 commented 12 years ago

try installing firefox-dev.

When building on debian/ubuntu please make sure you do have all build-dependencies installed before filing a bug report. Or, use "debuild" which checks this automatically. I will assume this is the problem and close this bug report if I don't get a reply within a week.

adunuale commented 12 years ago

debian/control looks for xulrunner-dev (>= 10.0), which is no longer in official repos.

pehlm commented 12 years ago

I have firefox-dev installed. I using the files provided by https://launchpad.net/~fat-lobyte9/+archive/ppa-public for building the debpackage and instead of Oneiric build it on Precise using 'debuild'. So all build dependencies is installed. Running debuild command gives the output of mb5:s message, the first of this thread. Something like:

g++ xpcom_abi.cpp -o xpcomabi pkg-config --cflags pkg-config --libs -Wlpkg-config --libs-only-L | sed -e 's/-L(\S)._/,-rpath=\1/' -Wall -fno-rtti -fno-exceptions -fPIC -std=gnu++0x Must specify package names on the command line Must specify package names on the command line Must specify package names on the command line cc1plus: error: unrecognized command line option '-Wl' make: *\ [xpcom_abi] Error 1

So i build the package just as you suggest. But it failes. Why? Maybe "fat-lobyte" can answer about this, it's his PPA.

helkaluin: No, above PPA debian control has 'firefox-dev (>= 10.0)' instead of xulrunner-dev.

infinity0 commented 12 years ago

You can try to override XUL_CFLAGS, XUL_LDFLAGS and XPCOM_ABI_FLAGS with the correct values for firefox-dev. It should be possible to do this in debian/rules. They should look something like the following:

$ pkg-config --cflags libxul -I/usr/include/nspr -I/usr/include/xulrunner-10.0
$ pkg-config --libs libxul -L/usr/lib/xulrunner-devel-10.0/lib -lxpcomglue_s -lxul -lxpcom -lmozalloc -lplds4 -lplc4 -lnspr4 -lpthread -ldl
$ pkg-config --libs-only-L libxul -L/usr/lib/xulrunner-devel-10.0/lib

but with the corresponding correct paths for firefox-dev as opposed to xulrunner-dev

and yes, you do want to file the bug report over at fat-lobyte's repo since he is the one that does the ubuntu packaging, not me.

edit: as fat-lobyte points out, debian/rules is the file to edit, not debian/control. sorry about the confusion.

pehlm commented 12 years ago

Thank you for your help, i will try that! I have emailed fat-lobyte too.

Regards

fat-lobyte commented 12 years ago

Hello!

In Precise, one file was removed from the package, namely /usr/lib/pkgconfig/libxul.pc which is used to get the XUL libraries and flags. As mentioned by infinity0, you can work around the problem by setting the following variables (e.g. within the environment): XUL_CFLAGS = -I/usr/include/firefox -I/usr/include/firefox/nspr XUL_LDFLAGS = -L/usr/lib/firefox-devel/lib -lxpcomglue_s -lxul -lxpcom -lmozalloc -lplds4 -lplc4 -lnspr4 -lpthread -ldl XPCOM_ABI_FLAGS = -Wl,-rpath=/usr/lib/firefox-devel/lib

These flags are from an Oneiric system, but I hope they work for precise too.

This missing libxul.pc is a real bummer. I will report a bug against firefox-dev and hopefully, it will reappear in future versions. In the meantime, I think we should set the FLAGS manually in the debian/rules file. I know it's ugly, but I can't think of any better way to configure the package without pkg-config. If anyone has a better idea, please post it!

I will upload an updated package soon.

fat-lobyte commented 12 years ago

Ok, this is actually a bug in the Makefile. It should be fixed in commit e7b5716aa8d85738081ac6a3b69c8f4e1a8bd913.

I will upload a fixed version to my PPA, but please do check if the package actually works with Precise/Firefox 12: e4336de6fe1ea30aee3734485b0b82d834e4a13f

If it works, please close the issue.

pehlm commented 12 years ago

Yes it works on Precise/Firefox 12 (not tested with Thunderbird 12 not updated in Precise as now), thanks for all your help!

fat-lobyte commented 12 years ago

Here's the bug report to ubuntu asking to reintroduce the libxul.pc file: https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1030504