LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 07-13-2008, 03:40 AM   #31
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-15.0
Posts: 2,683

Rep: Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375

it works, thanks
 
Old 07-13-2008, 07:56 AM   #32
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
Quote:
Originally Posted by dugan View Post
You mean symlinking /usr/lib/mozilla/plugins to /usr/lib/firefox-3.0/plugins to get access to installed plugins? There's no other way to do it.
Yea.. Your right. I guess I forgot you were symlinking. Doesn't matter as long as you have a /usr/lib/firefox/plugins. I symlink myself, only to /usr/lib/xulrunner/plugins. That way it picks up on null and unixprint, neither of which are particullarly usefull. But, if I'm using the runtime libs there, might as well use the plugin directory as well.

What I don't like is when people dump to /usr/lib/mozilla/plugins assuming that they will be found by all programs; cause they're not. Azureus is the only one I know of off hand that does it, but now that 3.0 is out, it finds everything it needs by way of /etc/gre.d/ which is pretty nice.

Which reminds me, I think you'll have a ghost file "/etc/gre.d/1.9.conf" not accounted for by pkgtool. Try uninstalling xulrunner and look at pkgtools output for "new files"...
 
Old 07-13-2008, 10:01 AM   #33
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,223

Original Poster
Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
No, /etc/gre.d/1.9.conf is definitely accounted for. It appears in /var/log/packages/var/log/packages/xulrunner-1.9-native-1_dc. I also don't see any messages about "new files" when I uninstall XULRunner.

Also, I tried symlinking /usr/lib/mozilla/plugins to /usr/lib/xulrunner-1.9/plugins. It didn't work (Firefox couldn't see the plugins there).

EDIT:

Jong, have you been able to build devhelp (part of Gnome) against XULRunner 1.9? The current versions don't recognize XULRunner 1.9. I tried applying patches from Fedora, Debian and Ubuntu (although I think Debian's and Ubuntu's are the same patch) and they don't work. With Fedora's configure fails, and with Debian and Ubuntu's, make fails. I can't build it against seamonkey either (again, make fails). Any luck on your end?

EDIT: Also tried patches from Arch Linux's subversion repository. They didn't work. Tried building against Seamonkey as well. Couldn't do that either.

Last edited by dugan; 07-13-2008 at 01:24 PM.
 
Old 07-13-2008, 11:48 AM   #34
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
Interesting. 1.9.conf was "# Generated Automatically. Do not edit" and wasn't installed via make install on my end. Something that happened at run-time...

Also, I symlink plugins like so:

( cd $PKG/usr/lib/firefox
ln -sf ../xulrunner/plugins . )

I avoid /usr/lib/mozilla altogether. And I have no use for devhelp at all so I don't build it. The seahorse epiphany plugin seems to be unmaintained as well. The developer told me to install xul-1.8 after 2 weeks of posting the bug report. Whatever. Doesn't matter if epiphany has a gecko or webkit backend, seahorse just hasn't migrated to the new API aparently, altho ./m4/gecko.m4 seems to indicate otherwise. Dunno. I just scrathed it off my list.

I have enough things on my plate as it is without taking over dev on other peoples code.

Last edited by jong357; 07-13-2008 at 11:52 AM.
 
Old 07-13-2008, 01:21 PM   #35
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,223

Original Poster
Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
For quite a while, I've been working towards putting Firefox 3 on GnomeSlackBuild.

The GnomeSlackBuild devs built their own version of Firefox 2, and every package they could against it. Upgrading to Firefox 3 breaks those packages.

That means upgrading GnomeSlackBuild's Firefox to version 3.0 is more difficult on GnomeSlackBuild than on competing GNOME distributions. You have to take the packages depending on Firefox, and rebuild them against XULRunner 1.9.

Well here are SlackBuilds for them:
http://www.vcn.bc.ca/~dugan/slackbuilds/12.1/gnome/

In the end, they were not difficult to write. Only one needed to be patched to support XULRunner 1.9.

The only package I could not build against XULRunner 1.9 was devhelp. I think that's acceptable.

Anyway, here's what the GnomeSlackBuild documentation says:

Quote:
This is a shared library version of Mozilla Firefox. You must replace the Slackware Mozilla with the GSB version if you plan to use Epiphany (GNOME Browser), Yelp (GNOME Help System), GNOME Python (for the gtkmozembed widget for some Python applications), DevHelp (Developement Documentation Browser), or any Mono applications.
http://gnomeslackbuild.org/download/#upgrades

Quote:
Note: Some apps linked against mozilla-firefox (our version is shared) may have hard coded runtime paths to gtkembodmoz, and these will need to be rebuilt when mozilla-firefox versions change.

These are:
  • epiphany
  • yelp
  • devhelp
  • gnome-python-extras (for pygtkmoz)
  • gecko-sharp
REBUILD_LIST

Last edited by dugan; 07-17-2008 at 01:29 AM.
 
Old 07-13-2008, 02:34 PM   #36
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
Was kinda bored so I thought I'd tackle devhelp. Patch it and then run ./autogen.sh to update configure. You'll
need gnome-common installed first ofcourse. It will automatically use libxul-embedding so no need for a gecko
arguement. Just sysconfdir & prefix.

devhelp xulrunner 1.9 patch gecko (google)
Code:
Index: devhelp-0.19.1/m4/gecko.m4
===================================================================
--- devhelp-0.19.1.orig/m4/gecko.m4    2008-05-25 18:55:36.000000000 +0200
+++ devhelp-0.19.1/m4/gecko.m4    2008-05-27 12:20:49.989150297 +0200
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU General Public License along
 # with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 
 # GECKO_INIT(VARIABLE,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
 #
@@ -32,6 +32,7 @@
 # VARIABLE: Which gecko was found (e.g. "xulrunnner", "seamonkey", ...)
 # VARIABLE_FLAVOUR: The flavour of the gecko that was found
 # VARIABLE_HOME:
+# VARIABLE_NSPR: set if nspr is provided by gecko flags
 # VARIABLE_PREFIX:
 # VARIABLE_INCLUDE_ROOT:
 # VARIABLE_VERSION: The version of the gecko that was found
@@ -51,7 +52,7 @@ AC_PROG_AWK
 AC_MSG_CHECKING([which gecko to use])
 
 AC_ARG_WITH([gecko],
-    AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner@:>@],
+    AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner|libxul-embedding|libxul@:>@],
                [Which gecko engine to use (autodetected by default)]))
 
 # Backward compat
@@ -60,12 +61,15 @@ AC_ARG_WITH([mozilla],[],[with_gecko=$wi
 gecko_cv_gecko=$with_gecko
 
 # Autodetect gecko
-_geckos="xulrunner firefox mozilla-firefox seamonkey mozilla"
+_geckos="xulrunner firefox mozilla-firefox seamonkey mozilla libxul-embedding libxul"
 if test -z "$gecko_cv_gecko"; then
     for lizard in $_geckos; do
         if $PKG_CONFIG --exists $lizard-xpcom; then
             gecko_cv_gecko=$lizard
             break;
+        elif $PKG_CONFIG --exists $lizard-unstable; then
+            gecko_cv_gecko=$lizard
+            break;
         fi
     done
 fi
@@ -82,6 +86,14 @@ else
     gecko_cv_have_gecko=yes
 fi
 
+AC_MSG_CHECKING([manual gecko home set])
+
+AC_ARG_WITH([gecko-home],
+    AS_HELP_STRING([--with-gecko-home@<:@=[path]@:>@],
+               [Manually set MOZILLA_FIVE_HOME]))
+
+gecko_cv_gecko_home=$with_gecko_home
+
 # ****************
 # Define variables
 # ****************
@@ -93,27 +105,38 @@ mozilla) gecko_cv_gecko_flavour=mozilla 
 seamonkey) gecko_cv_gecko_flavour=mozilla ;;
 *firefox) gecko_cv_gecko_flavour=toolkit ;;
 xulrunner) gecko_cv_gecko_flavour=toolkit ;;
+libxul*) gecko_cv_gecko_flavour=toolkit ;;
 esac
 
-_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`"
-_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
-_GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
-_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`"
-
+if $PKG_CONFIG --exists  ${gecko_cv_gecko}-xpcom; then
+    _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`"
+    _GECKO_CFLAGS="-I$_GECKO_INCLUDE_ROOT"
+    _GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
+    _GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
+    _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`"
+    _GECKO_NSPR=no # XXX asac: this is currently a blind guess and should be a AC test
+else
+    _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable"
+    _GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}-unstable`"
+    _GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin"
+    _GECKO_HOME=$with_gecko_home
+    _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`"
+    _GECKO_NSPR=no # XXX asac: this is currently a blind guess and should be a AC test
+fi
 fi # if gecko_cv_have_gecko
 
 if test "$gecko_cv_gecko_flavour" = "toolkit"; then
     AC_DEFINE([HAVE_MOZILLA_TOOLKIT],[1],[Define if mozilla is of the toolkit flavour])
 fi
 
-AM_CONDITIONAL([HAVE_MOZILLA_TOOLKIT],[test "$gecko_cv_gecko_flavour" = "toolkit"])
-
 $1[]=$gecko_cv_gecko
 $1[]_FLAVOUR=$gecko_cv_gecko_flavour
 $1[]_INCLUDE_ROOT=$_GECKO_INCLUDE_ROOT
+$1[]_CFLAGS=$_GECKO_CFLAGS
 $1[]_LIBDIR=$_GECKO_LIBDIR
 $1[]_HOME=$_GECKO_HOME
 $1[]_PREFIX=$_GECKO_PREFIX
+$1[]_NSPR=$_GECKO_NSPR
 
 # **************************************************************
 # This is really gcc-only
@@ -184,7 +207,7 @@ if test "$gecko_cv_have_gecko" = "yes"; 
 AC_LANG_PUSH([C++])
 
 _SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT"
+CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS"
 
 AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]])
 AC_RUN_IFELSE(
@@ -217,6 +240,18 @@ AC_COMPILE_IFELSE(
     [gecko_cv_have_debug=no])
 AC_MSG_RESULT([$gecko_cv_have_debug])
 
+AC_MSG_CHECKING([[whether we have a xpcom glue]])
+AC_COMPILE_IFELSE(
+    [AC_LANG_SOURCE(
+        [[
+          #ifndef XPCOM_GLUE
+          #error "no xpcom glue found"
+          #endif]]
+    )],
+    [gecko_cv_have_xpcom_glue=yes],
+    [gecko_cv_have_xpcom_glue=no])
+AC_MSG_RESULT([$gecko_cv_have_xpcom_glue])
+
 CPPFLAGS="$_SAVE_CPPFLAGS"
 
 AC_LANG_POP([C++])
@@ -228,9 +263,11 @@ if test "$gecko_cv_have_debug" = "yes"; 
     AC_DEFINE([HAVE_GECKO_DEBUG],[1],[Define if gecko is a debug build])
 fi
 
-fi # if gecko_cv_have_gecko
+if test "$gecko_cv_have_xpcom_glue" = "yes"; then
+    AC_DEFINE([HAVE_GECKO_XPCOM_GLUE],[1],[Define if xpcom glue is used])
+fi
 
-AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"])
+fi # if gecko_cv_have_gecko
 
 # ***********************
 # Check for gecko version
@@ -241,7 +278,7 @@ if test "$gecko_cv_have_gecko" = "yes"; 
 AC_LANG_PUSH([C++])
 
 _SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT"
+CPPFLAGS="$CPPFLAGS $_GECKO_CFLAGS"
 
 AC_CACHE_CHECK([for gecko version],
     [gecko_cv_gecko_version],
@@ -311,11 +348,6 @@ fi
 
 fi # if gecko_cv_have_gecko
 
-AM_CONDITIONAL([HAVE_GECKO_1_7],[test "$gecko_cv_gecko_version_int" -ge "1007000"])
-AM_CONDITIONAL([HAVE_GECKO_1_8],[test "$gecko_cv_gecko_version_int" -ge "1008000"])
-AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_gecko_version_int" -ge "1008001"])
-AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_gecko_version_int" -ge "1009000"])
-
 $1[]_VERSION=$gecko_cv_gecko_version
 $1[]_VERSION_INT=$gecko_cv_gecko_version_int
 
@@ -328,8 +360,11 @@ gecko_cv_glue_libs=
 gecko_cv_extra_pkg_dependencies=
 
 if test "$gecko_cv_gecko_version_int" -ge "1009000"; then
-    gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul"
-    gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue_s"
+    if ! test "$gecko_cv_have_xpcom_glue" = "yes"; then
+        gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul"
+    else
+        gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue"
+    fi
 else
     gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed"
 fi
@@ -340,6 +375,29 @@ $1[]_GLUE_LIBS="$gecko_cv_glue_libs"
 
 ])
 
+# GECKO_DEFINES
+#
+# Defines the AM_CONDITIONALS for GECKO_INIT. This is a separate call
+# so that you may call GECKO_INIT conditionally; but note that you must
+# call GECKO_DEFINES _unconditionally_ !
+
+AC_DEFUN([GECKO_DEFINES],
+[
+# Ensure we have an integer variable to compare with
+if test -z "$gecko_cv_gecko_version_int"; then
+    gecko_cv_gecko_version_int=0
+fi
+AM_CONDITIONAL([HAVE_MOZILLA_TOOLKIT],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_flavour" = "toolkit"])
+AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_debug" = "yes"])
+AM_CONDITIONAL([HAVE_GECKO_1_7],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1007000"])
+AM_CONDITIONAL([HAVE_GECKO_1_8],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008000"])
+AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008001"])
+AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1009000"])
+AM_CONDITIONAL([HAVE_GECKO_HOME],[test "x$_GECKO_HOME" != "x"])
+AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"])
+AM_CONDITIONAL([HAVE_GECKO_XPCOM_GLUE],[test "$gecko_cv_have_xpcom_glue" = "yes"])
+])
+
 # ***************************************************************************
 # ***************************************************************************
 # ***************************************************************************
@@ -359,10 +417,20 @@ _SAVE_CPPFLAGS="$CPPFLAGS"
 _SAVE_CXXFLAGS="$CXXFLAGS"
 _SAVE_LDFLAGS="$LDFLAGS"
 _SAVE_LIBS="$LIBS"
-CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)"
-CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)"
-LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME"
-LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)"
+if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then
+    CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-unstable)"
+    CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-unstable)"
+    LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}) -ldl"
+else
+    CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)"
+    CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)"
+    LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)"
+fi
+if test -n "$_GECKO_HOME"; then
+    LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME"
+else
+    LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS"
+fi
 
 _GECKO_DISPATCH_INCLUDEDIRS="$2"
 
@@ -371,9 +439,11 @@ _GECKO_DISPATCH_INCLUDEDIRS="$2"
 # Mind you, it's useful to be able to test against uninstalled mozilla builds...
 _GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref"
 
-# Now add them to CPPFLAGS
+# Now add them to CPPFLAGS - asac: well ... not anymore since 1.9 -> test whether they exist before adding.
 for i in $_GECKO_DISPATCH_INCLUDEDIRS; do
-    CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i"
+    if test -d "$_GECKO_INCLUDE_ROOT/$i"; then
+        CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i"
+    fi
 done
 
 m4_indir([$1],m4_shiftn(2,$@))
@@ -426,11 +496,17 @@ AC_DEFUN([GECKO_XPCOM_PROGRAM],
 #include <mozilla-config.h>
 #include <stdlib.h>
 #include <stdio.h>
+
+#ifdef XPCOM_GLUE
+#include <nsXPCOMGlue.h>
+#else
 #include <nsXPCOM.h>
+#endif // XPCOM_GLUE
+
 #include <nsCOMPtr.h>
 #include <nsILocalFile.h>
 #include <nsIServiceManager.h>
-#ifdef HAVE_GECKO_1_8
+#if defined(HAVE_GECKO_1_8) || defined(HAVE_GECKO_1_9)
 #include <nsStringAPI.h>
 #else
 #include <nsString.h>
@@ -438,16 +514,37 @@ AC_DEFUN([GECKO_XPCOM_PROGRAM],
 ]]
 [$1],
 [[
+
+nsresult rv;
+#ifdef XPCOM_GLUE
+    static const GREVersionRange greVersion = {
+    "1.8", PR_TRUE,
+    "1.9.*", PR_TRUE
+    };
+    char xpcomLocation[4096];
+    rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, 4096);
+    if (NS_FAILED(rv)) {
+        exit(123);
+    }
+
+    // Startup the XPCOM Glue that links us up with XPCOM.
+    XPCOMGlueStartup(xpcomLocation);
+    if (NS_FAILED(rv)) {
+        exit(124);
+    }
+#endif // XPCOM_GLUE
+
 // redirect unwanted mozilla debug output to the bit bucket
 freopen ("/dev/null", "w", stdout);
 
-nsresult rv;
-nsCOMPtr<nsILocalFile> directory;
+nsCOMPtr<nsILocalFile> directory = nsnull;
+#ifndef XPCOM_GLUE
 rv = NS_NewNativeLocalFile (NS_LITERAL_CSTRING("$_GECKO_HOME"), PR_FALSE,
                 getter_AddRefs (directory));
 if (NS_FAILED (rv) || !directory) {
     exit (126);
 }
+#endif
 
 rv = NS_InitXPCOM2 (nsnull, directory, nsnull);
 if (NS_FAILED (rv)) {
@@ -595,21 +692,22 @@ fi
 AC_DEFUN([GECKO_XPIDL],
 [AC_REQUIRE([GECKO_INIT])dnl
 
-_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
+if test ${gecko_cv_gecko} = "libxul-embedding" -o ${gecko_cv_gecko} = "libxul"; then
+    _GECKO_LIBDIR="`$PKG_CONFIG pkg-config --variable=sdkdir ${gecko_cv_gecko}`/bin"
+else
+    _GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
+fi
 
 AC_PATH_PROG([XPIDL],[xpidl],[no],[$_GECKO_LIBDIR:$PATH])
 
+if test ${gecko_cv_gecko} = "libxul-embedding" -o ${gecko_cv_gecko} = "libxul"; then
+XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}`"
+else
 XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}-xpcom`"
-
-# Older geckos don't have this variable, see
-# https://bugzilla.mozilla.org/show_bug.cgi?id=240473
-
 if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then
     XPIDL_IDLDIR="`echo $_GECKO_LIBDIR | sed -e s!lib!share/idl!`"
 fi
-
 # Some distributions (Gentoo) have it in unusual places
-
 if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then
     XPIDL_IDLDIR="$_GECKO_INCLUDE_ROOT/idl"
 fi
Index: devhelp-0.19.1/configure.in
===================================================================
--- devhelp-0.19.1.orig/configure.in    2008-05-25 18:56:13.000000000 +0200
+++ devhelp-0.19.1/configure.in    2008-05-27 13:19:21.246154749 +0200
@@ -19,6 +19,8 @@ AM_PROG_LIBTOOL
 
 AM_PATH_GLIB_2_0
 
+AM_PROG_CC_C_O
+
 IT_PROG_INTLTOOL([0.35.5])
 AC_PATH_PROG(GCONFTOOL, gconftool-2)
 
@@ -66,6 +68,7 @@ PKG_CHECK_MODULES(LIBDEVHELP, [
 # *****
 
 GECKO_INIT([GECKO])
+GECKO_DEFINES
 
 AC_SUBST([GECKO])
 AC_SUBST([GECKO_FLAVOUR])
@@ -73,6 +76,7 @@ AC_SUBST([GECKO_INCLUDE_ROOT])
 AC_SUBST([GECKO_HOME])
 AC_SUBST([GECKO_PREFIX])
 AC_SUBST([GECKO_EXTRA_LIBS])
+AC_SUBST([GECKO_GLUE_LIBS])
 
 case "$GECKO" in
 mozilla) gecko_min_version=1.7 ;;
@@ -80,9 +84,18 @@ seamonkey) gecko_min_version=1.0 ;;
 *firefox) gecko_min_version=1.0 ;;
 *thunderbird) gecko_min_version=1.0 ;;
 xulrunner) gecko_min_version=1.8 ;;
+libxul*) gecko_min_version=1.9 ;;
+*) AC_MSG_ERROR([$gecko_cv_gecko is not supported])
 esac
 
-PKG_CHECK_MODULES([GECKO],[$GECKO_EXTRA_PKG_DEPENDENCIES $GECKO-xpcom >= $gecko_min_version])
+if test $GECKO = libxul-embedding; then
+    GECKO_CFLAGS=`pkg-config --cflags libxul-embedding '>=' $gecko_min_version $gecko_cv_extra_pkg_dependencies`
+    GECKO_LIBS=`pkg-config --libs libxul-embedding '>=' $gecko_min_version $gecko_cv_extra_pkg_dependencies`
+else
+    GECKO_CFLAGS=`pkg-config --cflags ${GECKO}-xpcom '>=' $gecko_min_version $GECKO_EXTRA_PKG_DEPENDENCIES`
+    GECKO_LIBS=`pkg-config --libs ${GECKO}-xpcom '>=' $gecko_min_version $GECKO_EXTRA_PKG_DEPENDENCIES`
+fi
+
 AC_SUBST([GECKO_CFLAGS])
 AC_SUBST([GECKO_LIBS])
 
Index: devhelp-0.19.1/src/Makefile.am
===================================================================
--- devhelp-0.19.1.orig/src/Makefile.am    2008-05-25 18:55:37.000000000 +0200
+++ devhelp-0.19.1/src/Makefile.am    2008-05-27 12:20:50.001150076 +0200
@@ -25,17 +25,11 @@ devhelp_LDADD =                     \
         $(DEVHELP_LIBS)                    \
         libdevhelp-1.la
 
-devhelp_LDFLAGS = -R$(GECKO_HOME) $(AM_LDFLAGS)
+devhelp_LDFLAGS = $(AM_LDFLAGS)
 
-# Build the C++ code in a separate library so we can use our warning
-# flags for the C code.
-noinst_LTLIBRARIES = libcppwrapper.la
-
-libcppwrapper_la_SOURCES =                \
-    Yelper.cpp                    \
-    Yelper.h                    \
-    dh-gecko-utils.cpp                \
-    dh-gecko-utils.h
+if !HAVE_GECKO_XPCOM_GLUE
+devhelp_LDFLAGS += -R$(GECKO_HOME)
+endif
 
 gecko_include_subdirs =    \
     .            \
@@ -53,23 +47,6 @@ gecko_include_subdirs =    \
     string            \
     xpcom
 
-libcppwrapper_la_CPPFLAGS =                 \
-    $(DEFINES)                    \
-    -DALLOW_PRIVATE_API                \
-    -DGECKO_HOME=\""$(GECKO_HOME)\""        \
-    -include $(GECKO_INCLUDE_ROOT)/mozilla-config.h            \
-    $(addprefix -I$(GECKO_INCLUDE_ROOT)/,$(gecko_include_subdirs))    \
-    $(LIBDEVHELP_CFLAGS)                \
-    $(AM_CPPFLAGS)
-
-libcppwrapper_la_CXXFLAGS =                \
-    $(GECKO_CFLAGS)                    \
-    $(AM_CXXFLAGS)
-
-libcppwrapper_la_LIBADD =                \
-    $(GECKO_LIBS)                    \
-    $(GECKO_EXTRA_LIBS)
-
 lib_LTLIBRARIES = libdevhelp-1.la
 
 devhelpincludedir = $(includedir)/devhelp-1.0/devhelp
@@ -88,6 +65,10 @@ devhelpinclude_HEADERS =                 \
     eggfindbar.h
 
 libdevhelp_1_la_SOURCES =                \
+    Yelper.cpp                    \
+    Yelper.h                    \
+    dh-gecko-utils.cpp                \
+    dh-gecko-utils.h                \
     bacon-message-connection.c            \
     bacon-message-connection.h            \
     dh-marshal-main.c                \
@@ -106,6 +87,8 @@ libdevhelp_1_la_SOURCES =                \
 
 libdevhelp_1_la_CPPFLAGS =                \
     $(DEFINES)                    \
+    -DALLOW_PRIVATE_API                \
+    -DGECKO_HOME=\""$(GECKO_HOME)\""        \
     $(addprefix -I$(GECKO_INCLUDE_ROOT)/,$(gecko_include_subdirs))    \
     $(AM_CPPFLAGS)
 
@@ -115,13 +98,21 @@ libdevhelp_1_la_CFLAGS =                 \
     $(GECKO_CFLAGS)                    \
     $(AM_CFLAGS)
 
+libdevhelp_1_la_CXXFLAGS =                \
+    $(LIBDEVHELP_CFLAGS)                \
+    $(GECKO_CFLAGS)                    \
+    $(AM_CXXFLAGS)
+
 libdevhelp_1_la_LIBADD =                \
-    libcppwrapper.la                \
     $(LIBDEVHELP_LIBS)                \
     $(GECKO_LIBS)                    \
     $(GECKO_EXTRA_LIBS)
 
-libdevhelp_1_la_LDFLAGS = -R$(GECKO_HOME) $(AM_LDFLAGS)
+libdevhelp_1_la_LDFLAGS = $(AM_LDFLAGS)
+
+if !HAVE_GECKO_XPCOM_GLUE
+libdevhelp_1_la_LDFLAGS += -R$(GECKO_HOME)
+endif
 
 dh-marshal.h: dh-marshal.list
     (cd $(srcdir) && \
Index: devhelp-0.19.1/src/dh-gecko-utils.cpp
===================================================================
--- devhelp-0.19.1.orig/src/dh-gecko-utils.cpp    2008-05-25 18:55:37.000000000 +0200
+++ devhelp-0.19.1/src/dh-gecko-utils.cpp    2008-05-27 12:20:50.001150076 +0200
@@ -21,6 +21,9 @@
  */
 
 #include <config.h>
+#ifdef XPCOM_GLUE
+#    include <gtkmozembed_glue.cpp>
+#endif
 #include <gtkmozembed.h>
 #include <gtkmozembed_internal.h>
 
@@ -41,7 +44,7 @@
 
 #include <stdlib.h>
 
-#ifndef HAVE_GECKO_1_8
+#if !defined(HAVE_GECKO_1_8) && !defined(HAVE_GECKO_1_9)
 #if defined (HAVE_CHROME_NSICHROMEREGISTRYSEA_H)
 #include <chrome/nsIChromeRegistrySea.h>
 #elif defined(MOZ_NSIXULCHROMEREGISTRY_SELECTSKIN)
@@ -226,7 +229,7 @@ dh_gecko_utils_set_font (gint type, cons
     g_free (name);
 }           
 
-#ifndef HAVE_GECKO_1_8
+#if !defined(HAVE_GECKO_1_8) && !defined(HAVE_GECKO_1_9)
 
 static nsresult
 getUILang (nsAString& aUILang)
@@ -286,7 +289,7 @@ gecko_utils_init_chrome (void)
 #endif
 }
 
-#endif /* !HAVE_GECKO_1_8 */
+#endif /* !HAVE_GECKO_1_8  && !HAVE_GECKO_1_9 */
 
 static nsresult
 gecko_utils_init_prefs (void)
@@ -318,11 +321,57 @@ dh_gecko_utils_init (void)
     NS_LogInit ();
 #endif
 
+nsresult rv;
+#ifdef XPCOM_GLUE
+    static const GREVersionRange greVersion = {
+    "1.9a", PR_TRUE,
+    "1.9.*", PR_TRUE
+    };
+    char xpcomLocation[4096];
+    rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, 4096);
+    if (NS_FAILED (rv))
+    {
+       g_warning ("Could not determine locale!\n");
+       return;
+    }
+
+    // Startup the XPCOM Glue that links us up with XPCOM.
+    rv = XPCOMGlueStartup(xpcomLocation);
+    if (NS_FAILED (rv))
+    {
+       g_warning ("Could not determine locale!\n");
+       return;
+    }
+
+    rv = GTKEmbedGlueStartup();
+    if (NS_FAILED (rv))
+    {
+       g_warning ("Could not startup embed glue!\n");
+       return;
+    }
+
+ #ifdef GTKEmbedGlueStartupInternal
+    rv = GTKEmbedGlueStartupInternal();
+    if (NS_FAILED (rv))
+    {
+       g_warning ("Could not startup embed glue (internal)!\n");
+       return;
+    }
+ #endif
+
+    char *lastSlash = strrchr(xpcomLocation, '/');
+    if (lastSlash)
+      *lastSlash = '\0';
+
+    gtk_moz_embed_set_path(xpcomLocation);
+
+#else
 #ifdef HAVE_GECKO_1_9
     gtk_moz_embed_set_path (GECKO_HOME);
 #else
     gtk_moz_embed_set_comp_path (GECKO_HOME);
 #endif
+#endif // XPCOM_GLUE
 
     gchar *profile_dir = g_build_filename (g_get_home_dir (),
                            ".gnome2",
@@ -336,7 +385,7 @@ dh_gecko_utils_init (void)
 
     gecko_utils_init_prefs ();
 
-#ifndef HAVE_GECKO_1_8
+#if !defined(HAVE_GECKO_1_8) && !defined(HAVE_GECKO_1_9)
     gecko_utils_init_chrome ();
 #endif
 }
Index: devhelp-0.19.1/src/default-prefs-gecko-1-9.js
===================================================================
--- devhelp-0.19.1.orig/src/default-prefs-gecko-1-9.js    2008-05-25 18:55:37.000000000 +0200
+++ devhelp-0.19.1/src/default-prefs-gecko-1-9.js    2008-05-27 12:20:50.001150076 +0200
@@ -1,2 +1,2 @@
-pref("browser.display.use_document_colors", false);
+pref("browser.display.use_document_colors", true);
Don't forget the last line there with one space... Crap. It cut that off. Some code box. Put a blank line
at the end with just one space.

This gives me an idea for seahorse so thanks for bring up devhelp dugan...

Last edited by jong357; 07-13-2008 at 03:10 PM.
 
Old 07-13-2008, 02:43 PM   #37
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
BTW, I think it's pretty nice that the dev files were split from Firefox. GSB should no longer have to ship firefox and
people can go back to using the stock Slackware package. I've made it optional on my Gnome build.

And those gnome packages that used to depend on firefox will now depend on xulrunner so... Nothing has changed really.
You've always needed a gecko to build those packages that you mentioned, and you still do.

I'm curious, what other package needed patching for 1.9? Regardless of what it is, it's only a matter of time until
they migrate to gecko1.9....

EDIT - Just checked. It's gnome-python-extras. Nevermind. I dropped that package awhile back because I didn't see a
need for it and development looks to be stalled.

Last edited by jong357; 07-13-2008 at 05:04 PM.
 
Old 07-13-2008, 03:02 PM   #38
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
I got seahorse to play nice as well. Thanks again.

gnome-common, patch, autoreconf -vif and configure --blah

seahorse epiphany plugin xulrunner 1.9 patch gecko (google)
Code:
--- ./m4/gecko.m4
+++ ./m4/gecko.m4
@@ -46,31 +46,34 @@
 
 # ************************
 # Check which gecko to use
 # ************************
 
 AC_MSG_CHECKING([which gecko to use])
 
 AC_ARG_WITH([gecko],
-    AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner@:>@],
+    AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner|libxul-unstable@:>@],
                [Which gecko engine to use (autodetected by default)]))
 
 # Backward compat
 AC_ARG_WITH([mozilla],[],[with_gecko=$withval],[])
 
 gecko_cv_gecko=$with_gecko
 
 # Autodetect gecko
-_geckos="firefox mozilla-firefox seamonkey mozilla xulrunner"
+_geckos="firefox mozilla-firefox seamonkey mozilla xulrunner libxul-unstable"
 if test -z "$gecko_cv_gecko"; then
     for lizard in $_geckos; do
         if $PKG_CONFIG --exists $lizard-xpcom; then
             gecko_cv_gecko=$lizard
             break;
+        elif $PKG_CONFIG --exists $lizard; then
+            gecko_cv_gecko=$lizard
+            break;
         fi
     done
 fi
 
 AC_MSG_RESULT([$gecko_cv_gecko])
 
 if test "x$gecko_cv_gecko" = "x"; then
     ifelse([$3],,[AC_MSG_ERROR([No gecko found; you may need to adjust PKG_CONFIG_PATH or install a mozilla/firefox/xulrunner -devel package])],[$3])
@@ -88,21 +91,28 @@
 
 if test "$gecko_cv_have_gecko" = "yes"; then
 
 case "$gecko_cv_gecko" in
 mozilla) gecko_cv_gecko_flavour=mozilla ;;
 seamonkey) gecko_cv_gecko_flavour=mozilla ;;
 *firefox) gecko_cv_gecko_flavour=toolkit ;;
 xulrunner) gecko_cv_gecko_flavour=toolkit ;;
+libxul*) gecko_cv_gecko_flavour=toolkit ;;
 esac
 
+if test $gecko_cv_gecko = libxul-unstable; then
+_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable"
+_GECKO_HOME=""
+_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`"
+else
 _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`"
 _GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
 _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`"
+fi
 
 fi # if gecko_cv_have_gecko
 
 if test "$gecko_cv_gecko_flavour" = "toolkit"; then
     AC_DEFINE([HAVE_MOZILLA_TOOLKIT],[1],[Define if mozilla is of the toolkit flavour])
 fi
 
 AM_CONDITIONAL([HAVE_MOZILLA_TOOLKIT],[test "$gecko_cv_gecko_flavour" = "toolkit"])
@@ -349,27 +359,34 @@
 fi
 
 AC_LANG_PUSH([C++])
 
 _SAVE_CPPFLAGS="$CPPFLAGS"
 _SAVE_CXXFLAGS="$CXXFLAGS"
 _SAVE_LDFLAGS="$LDFLAGS"
 _SAVE_LIBS="$LIBS"
+if test $gecko_cv_gecko = libxul-unstable; then
+CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko})"
+CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko})"
+LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS"
+LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko})"
+else
 CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)"
 CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)"
 LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME"
 LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)"
+fi
 
 _GECKO_DISPATCH_INCLUDEDIRS="$2"
 
 # Sigh Gentoo has a rubbish header layout
 # http://bugs.gentoo.org/show_bug.cgi?id=100804
 # Mind you, it's useful to be able to test against uninstalled mozilla builds...
-_GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref"
+_GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref unstable"
 
 # Now add them to CPPFLAGS
 for i in $_GECKO_DISPATCH_INCLUDEDIRS; do
     CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i"
 done
 
 m4_indir([$1],m4_shiftn(2,$@))
 
@@ -585,21 +602,29 @@
 #
 # Variables set:
 # XPIDL:        the xpidl program
 # XPIDL_IDLDIR: the xpidl include directory
 
 AC_DEFUN([GECKO_XPIDL],
 [AC_REQUIRE([GECKO_INIT])dnl
 
+if test $gecko_cv_gecko = libxul-unstable; then
+_GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin"
+else
 _GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
+fi
 
 AC_PATH_PROG([XPIDL],[xpidl],[no],[$_GECKO_LIBDIR:$PATH])
 
+if test $gecko_cv_gecko = libxul-unstable; then
+XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}`/unstable"
+else
 XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}-xpcom`"
+fi
 
 # Older geckos don't have this variable, see
 # https://bugzilla.mozilla.org/show_bug.cgi?id=240473
 
 if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then
     XPIDL_IDLDIR="`echo $_GECKO_LIBDIR | sed -e s!lib!share/idl!`"
 fi
 
--- ./configure.in
+++ ./configure.in
@@ -503,16 +503,17 @@
         if test "$with_epiphany_plugin" = "yes"; then
             AC_SUBST([MOZILLA])
             AC_SUBST([MOZILLA_FLAVOUR])
             AC_SUBST([MOZILLA_HOME])
             AC_SUBST([MOZILLA_PREFIX])
             AC_SUBST([MOZILLA_INCLUDE_ROOT])
 
             case "$MOZILLA" in
+            libxul-unstable) min_version=1.9 ;;
             xulrunner) min_version=1.8 ;;
             *firefox) min_version=1.5 ;;
             *) AC_MSG_ERROR([Unsupported gecko "$gecko_cv_gecko"]) ;;
             esac
              
             PKG_CHECK_MODULES([EPIPHANY_DEPENDENCY], [\
                               libxml-2.0 >= $EPIPHANY_LIBXML_REQUIRED \
                               libglade-2.0 \
@@ -585,19 +585,25 @@
                                                               gtk+-2.0 >= $EPIPHANY_LIBGTK_REQUIRED \
                                                               epiphany-2.14 >= $EPIPHANY_REQUIRED], 
                                                               [with_epiphany_plugin=yes E_API_VERSION=2.14 e_api_minor=14],[with_epiphany_plugin=no; echo "no"; echo "disabling epiphany plugin"])])])])])])])])])
         else
             echo "disabling epiphany plugin"
         fi
         
         if test "$with_epiphany_plugin" = "yes"; then
+        if test $gecko_cv_gecko = libxul-unstable; then
+            PKG_CHECK_MODULES([MOZILLA_COMPONENT],
+                              [${gecko_cv_gecko} >= $min_version $gecko_cv_extra_pkg_dependencies],
+                              [with_epiphany_plugin=yes],[with_epiphany_plugin=no echo "disabling epiphany plugin"])
+        else
             PKG_CHECK_MODULES([MOZILLA_COMPONENT],
                               [${gecko_cv_gecko}-xpcom >= $min_version $gecko_cv_extra_pkg_dependencies],
                               [with_epiphany_plugin=yes],[with_epiphany_plugin=no echo "disabling epiphany plugin"])
+        fi
         fi
                           
         if test "$with_epiphany_plugin" = "yes"; then
             echo "enabling epiphany plugin"
             
             if test "$e_api_minor" -ge 21; then
                 AC_DEFINE([EPHY_NOTAB], 1, [Defines whether EphyTab exists in the API])
             else
FYI, the new $lizard is called libxul-unstable for pkgconfig querying purposes. I saw on gentoo bugzilla that people said the debian
patches don't work. I think they just forgot to update configure after patching... Any patching of .in or .am files will require
an autoreconf or autogen.sh to rebuild configure.

Last edited by jong357; 07-13-2008 at 03:07 PM.
 
Old 07-13-2008, 04:30 PM   #39
corbis_demon
Member
 
Registered: Jun 2004
Distribution: CLFS
Posts: 523

Rep: Reputation: 38
Hi, it's great to finally get an updated xulrunner build. But unfortunately, it doesn't seem to work on my system. I'm on 12.0, and I followed each step as mentioned, but I hit this error each time I run the build:
Code:
creating cache ./config.cache
configure: error: installation or configuration problem: C compiler cannot create executables
This is the config.log:

Code:
configure:1000: checking host system type
configure:1021: checking target system type
configure:1039: checking build system type
configure:1119: checking for gawk
configure:2184: checking for gcc
configure:2297: checking whether the C compiler (gcc -O3 -march=native ) works
configure:2313: gcc -o conftest -O3 -march=native   conftest.c  1>&5
conftest.c:1: error: bad value (native) for -march= switch
conftest.c:1: error: bad value (native) for -mtune= switch
configure: failed program was:

#line 2308 "configure"
#include "confdefs.h"

main(){return(0);}
Is this build optimized for the newer Glibc in 12.1? Please advise.
 
Old 07-13-2008, 04:43 PM   #40
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
Change your -march to i686 or whatever your box is. Slack 12 uses gcc-4.1 and I'm guessing native and
generic are 4.2 and onwards. Don't know tho. Usually don't keep track of such things.

EDIT - http://gcc.gnu.org/gcc-4.2/changes.html

Yes, 4.1.2 does not handle native or generic flags.

Last edited by jong357; 07-13-2008 at 05:00 PM.
 
Old 07-13-2008, 05:13 PM   #41
corbis_demon
Member
 
Registered: Jun 2004
Distribution: CLFS
Posts: 523

Rep: Reputation: 38
Thanks jong357, it worked perfectly.

Last edited by corbis_demon; 07-13-2008 at 05:14 PM.
 
Old 07-13-2008, 05:19 PM   #42
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,223

Original Poster
Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Here's what's going on. Whenever I build devhelp with a patch such as (this one) and set it to use libxul-embedding, make fails with:
Code:
./.libs/libdevhelp-1.so: undefined reference to `MOZ_Z_gzclose'
./.libs/libdevhelp-1.so: undefined reference to `MOZ_Z_gzread'
./.libs/libdevhelp-1.so: undefined reference to `MOZ_Z_gzopen'
./.libs/libdevhelp-1.so: undefined reference to `MOZ_Z_gzerror'
collect2: ld returned 1 exit status
make[3]: *** [devhelp] Error 1
make[3]: Leaving directory `/home/dugan/devhelp-0.19.1/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/dugan/devhelp-0.19.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dugan/devhelp-0.19.1'
make: *** [all] Error 2
I get the same results with the Debian/Ubuntu patches too.

The patch you posted I can't get to apply properly. I saved it as "a.patch" and get many failed chunks when I apply it.

Code:
patching file m4/gecko.m4
Hunk #3 FAILED at 52.
Hunk #4 FAILED at 61.
Hunk #5 succeeded at 86 with fuzz 1.
Hunk #6 FAILED at 105.
Hunk #8 succeeded at 240 with fuzz 1.
Hunk #9 succeeded at 263 with fuzz 1.
Hunk #10 succeeded at 278 with fuzz 1.
Hunk #12 FAILED at 360.
Hunk #15 FAILED at 439.
Hunk #17 FAILED at 514.
Hunk #18 FAILED at 692.
7 out of 18 hunks FAILED -- saving rejects to file m4/gecko.m4.rej
patching file configure.in
patching file src/Makefile.am
Hunk #1 FAILED at 25.
Hunk #2 FAILED at 47.
Hunk #3 FAILED at 65.
Hunk #4 FAILED at 87.
Hunk #5 FAILED at 98.
5 out of 5 hunks FAILED -- saving rejects to file src/Makefile.am.rej
patching file src/dh-gecko-utils.cpp
Hunk #3 succeeded at 229 with fuzz 2.
Hunk #5 FAILED at 321.
Hunk #6 FAILED at 385.
2 out of 6 hunks FAILED -- saving rejects to file src/dh-gecko-utils.cpp.rej
patching file src/default-prefs-gecko
And afterwards, configure doesn't recognize xulrunner 1.9.

Code:
-=>>./configure --help | grep "with-gecko"
  --with-gecko[=mozilla|firefox|seamonkey|xulrunner]
  --with-gecko-home[=path]
What are you (and everyone else) doing that I'm not?

Last edited by dugan; 07-13-2008 at 05:23 PM.
 
Old 07-13-2008, 06:10 PM   #43
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
That code box seriously mangled the patch. Sorry. It did it with seahorse as well.

http://patches.ubuntu.com/d/devhelp/...ecko_1.9.patch

As for the undefined (what I make to be zlib) references, I don't know. Try recompiling xulrunner and use the same exact switches that I do:

http://jaguarlinux.com/pub/slackware...ner.SlackBuild

Doesn't make a lot of sense because you build with system-zlib as well, but I'd try it anyway. If it works, then you have an annoyingly tedious process of elimination ahead of you...

EDIT - Have you tried leaving gecko out of your configure arguments? It sorts it out just fine over here.

Last edited by jong357; 07-13-2008 at 06:44 PM.
 
Old 07-13-2008, 06:46 PM   #44
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,223

Original Poster
Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
The contents of your XULRunner directory just disappeared.
 
Old 07-13-2008, 06:51 PM   #45
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
Was uploading a new tarball. Bad timing. Sorry.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Slackbuilds from 12.0 for 12.1 arubin Slackware 7 05-07-2008 03:51 AM
Slackbuilds are great arubin Slackware 1 12-17-2007 07:42 PM
slackbuilds.org harkonen Slackware 16 08-22-2007 02:01 PM
Use SlackBuilds.org or my own hosting to offer up SlackBuilds? hollywoodb Slackware 6 11-30-2006 08:56 PM
Are there any SlackBuilds for Firefox 1.5 (build from source) spinner_0 Slackware 7 01-18-2006 04:48 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:07 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration