Closed Bug 189433 Opened 22 years ago Closed 20 years ago

configure fail when both --enable-ctl & --enable-default-toolkit=gtk2

Categories

(SeaMonkey :: Build Config, defect)

x86
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Louie.Zhao, Assigned: roland.mainz)

Details

(Keywords: intl)

Attachments

(1 file, 3 obsolete files)

when ./configure --enable-ctl --enable-default-toolkit=gtk2 under Linux and
Solaris, configure will fail:
configure: error: Cannot build ctl without gmodule support in glib.

if enable-ctl, configure will execute checking code which use GLIB_CFLAGS. But
if enable gtk2, GLIB_CONFIG will never got value, thus GLIB_CFLAGS has no value.
One more related issue on Solaris (possibly linux too) with Gnome2.0 installed:

With FT2 enabled, FT2_CFLAGS(which precede GLIB_CFLAGS) cause a wrong(older)
version of glib header to be picked up from /usr/sfw/include as opposed to the
configured Gnome2.0 location of /usr/include/glib2.0. Currently, i've worked
around that as below:

Index: Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/gtk/Makefile.in,v
retrieving revision 1.97
diff -u -r1.97 Makefile.in
--- Makefile.in	28 Dec 2002 01:13:36 -0000	1.97
+++ Makefile.in	21 Jan 2003 18:36:04 -0000
@@ -166,6 +166,11 @@
 CXXFLAGS	+= $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS)
 CFLAGS		+= $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS)
 
+ifdef MOZ_ENABLE_FREETYPE2
+CXXFLAGS	+= $(FT2_CFLAGS)
+CFLAGS		+= $(FT2_CFLAGS)
+endif
+
 ifeq ($(OS_ARCH), Linux)
 DEFINES         += -D_BSD_SOURCE
 endif
@@ -205,7 +210,7 @@
 
 ifdef MOZ_ENABLE_FREETYPE2
 DEFINES         += -DMOZ_ENABLE_FREETYPE2
-INCLUDES        += $(FT2_CFLAGS)
+#INCLUDES        += $(FT2_CFLAGS)
 endif
 
 ifdef MOZ_ENABLE_XPRINT

prabhat
from bug 184599 comment #12 :
> Prabhat Hegde: You can delete the CTL checking code for glib in "configure"
> (line 14651 - line 14685) just like mozilla1.2. This checking is for some glib
> on win32, which may not support gmodule. The glib2.0 does support gmodule.


Prabhat, can you put together the above and what you wrote in comment #1?

BTW, is this change gonna make it impossible to build on Win32 with
'enable-ctl'? I want to build with CTL enabled on Win32 as well.
Keywords: intl
Over to jshin for now to get some progress with this bug... :)
Assignee: blizzard → jshin
Hey, Roland, you contributed a Solaris  1.6 binary with gtk2 + ctl. Why don't
you attach a patch here? 
 
Jungshik Shin wrote:
> Hey, Roland, you contributed a Solaris  1.6 binary with gtk2 + ctl. Why don't
> you attach a patch here? 

Uhm... my "patch" simply removes the Glib check in "configure" (e.g. not even
configure.in). It's a workaround which works for Sun's Gnome desktop but I doubt
this counts as a general solution (mhhh... what about adding a hack which
assumes that --enable-default-toolkit="gtk2" simply assumes that glib-2.x is
available, too).
Attached patch patch v1 (obsolete) — Splinter Review
This patch may be a work around. We have used it in GNOME enviornment for a
long time. I am not sure whether it'll work OK in other environment. Can
somebody review it? Thanks.
Comment on attachment 141495 [details] [diff] [review]
patch v1

Louie Zhao:
Can you attach the same patch made with "gdiff -u50", please (that we can see
the surrounding lines), please ?
Assignee: jshin → roland.mainz
Attachment #141495 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Comment on attachment 141985 [details] [diff] [review]
Original patch, moved to configure.in

Requesting r= ...
Attachment #141985 - Flags: review?(bsmedberg)
Comment on attachment 141985 [details] [diff] [review]
Original patch, moved to configure.in

I don't understand why this works...
Attachment #141985 - Flags: review?(bsmedberg) → review?(cls)
Benjamin Smedberg wrote:
> (From update of attachment 141985 [details] [diff] [review])
> I don't understand why this works...

AFAIK the libIDL version for GTK1 uses libglib.so, the GTK2 version uses
libglib2.0.so. If I understand  Louie Zhao's patch correctly the usage of the
IDL flag gurantees that there is always a libglib version which works with the
matching toolkit.
when "--enable-default-toolkit=gtk2", the $GLIB_CFLAGS has no value at lines
around "test "$SUNCTL"". Instead, $LIBIDL_CFLAGS contains the cflags of "glib".
Comment on attachment 141985 [details] [diff] [review]
Original patch, moved to configure.in

Oh bah.  The reason GLIB_CFLAGS is empty is because we're explicitly skipping
the glib check when building against gtk2.  If there are parts of the code
which use glib2, we should be explicitly checking for it rather than assuming
the libIDL2 will pull in the right stuff.
Attachment #141985 - Flags: review?(cls) → review-
Attached patch Alternate patch (obsolete) — Splinter Review
Attachment #141985 - Attachment is obsolete: true
Attachment #142171 - Flags: review?(cls)
This is more of what I had in mind.
Attachment #142171 - Attachment is obsolete: true
Attachment #142171 - Flags: review?(cls) → review-
Comment on attachment 142194 [details] [diff] [review]
explicitly check for glib2

Louie, can you tesz the patch, please ?
Attachment #142194 - Flags: review?(Louie.Zhao)
gtk2 implies glib2.  That's a pretty safe assumption to make.
Comment on attachment 142194 [details] [diff] [review]
explicitly check for glib2

I tested it on Linux (with GNOME2.4), it works well.
Attachment #142194 - Flags: review?(Louie.Zhao) → review+
Patch checked-in
(http://tinderbox.mozilla.org/bonsai/cvsquery.cgi?module=MozillaTinderboxAll&branch=HEAD&cvsroot=/cvsroot&date=explicit&mindate=1078811880&maxdate=1078811940&who=cls%25seawood.org),
marking bug as FIXED.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: