Closed Bug 263493 Opened 20 years ago Closed 17 years ago

Xft build fails on Linux i686

Categories

(Core Graveyard :: GFX: Gtk, defect)

x86
Linux
defect
Not set
blocker

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: psychonaut, Assigned: blizzard)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040906
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a5) Gecko/20041001

I'm trying to do an XFT build from source, but it's not working.  Let me know if
I'm doing something wrong.  Running ./configure with --disable-debug
--prefix=/opt/mozilla-1.8a --enable-xft, I get the following error:

configure: error: Cannot enable XFT support for non-GTK2 toolkits.

If I then add --enable-default-toolkit=gtk2 I get the following error:

configure: error: Cannot enable XFT and FREETYPE2 at the same time.

If I then add --disable-freetype2, configure works, but I get the following
error upon make:

In file included from /usr/X11R6/include/X11/Xft/Xft.h:35,
                 from nsDeviceContextGTK.cpp:77:
/usr/include/freetype2/freetype/freetype.h:20:2: #error "`ft2build.h' hasn't
been included yet!"
/usr/include/freetype2/freetype/freetype.h:21:2: #error "Please always use
macros to include FreeType header files."
/usr/include/freetype2/freetype/freetype.h:22:2: #error "Example:"
/usr/include/freetype2/freetype/freetype.h:23:2: #error "  #include <ft2build.h>"
/usr/include/freetype2/freetype/freetype.h:24:2: #error "  #include FT_FREETYPE_H"
nsDeviceContextGTK.cpp: In function `void
   xlfd_from_pango_font_description(GtkWidget*, const PangoFontDescription*,
   nsString&)':
nsDeviceContextGTK.cpp:1120: warning: unused variable `char*tmp'

Reproducible: Always
Steps to Reproduce:
Running ./configure with --disable-debug --prefix=/opt/mozilla-1.8a
--enable-xft, I get the following error:

configure: error: Cannot enable XFT support for non-GTK2 toolkits.

If I then add --enable-default-toolkit=gtk2 I get the following error:

configure: error: Cannot enable XFT and FREETYPE2 at the same time.

If I then add --disable-freetype2, configure works, but I get the following
error upon make.
Actual Results:  
In file included from /usr/X11R6/include/X11/Xft/Xft.h:35,
                 from nsDeviceContextGTK.cpp:77:
/usr/include/freetype2/freetype/freetype.h:20:2: #error "`ft2build.h' hasn't
been included yet!"
/usr/include/freetype2/freetype/freetype.h:21:2: #error "Please always use
macros to include FreeType header files."
/usr/include/freetype2/freetype/freetype.h:22:2: #error "Example:"
/usr/include/freetype2/freetype/freetype.h:23:2: #error "  #include <ft2build.h>"
/usr/include/freetype2/freetype/freetype.h:24:2: #error "  #include FT_FREETYPE_H"
nsDeviceContextGTK.cpp: In function `void
   xlfd_from_pango_font_description(GtkWidget*, const PangoFontDescription*,
   nsString&)':
nsDeviceContextGTK.cpp:1120: warning: unused variable `char*tmp'
Blocks: 261905
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking1.8b?
Hmm. it's odd. What's your freetype version? Actually, it's your Xft that is to
blame. Edit '/usr/X11R6/include/X11/Xft/Xft.h' and make it have the following lines:

#include <ft2build.h>
#include FT_FREETYPE_H
#include <fontconfig/fontconfig.h>

Or, you may just update your Xft which seems to be pretty old. 

No longer blocks: 261905
(In reply to comment #1)
> Hmm. it's odd. What's your freetype version? Actually, it's your Xft that is to
> blame. Edit '/usr/X11R6/include/X11/Xft/Xft.h' and make it have the following
lines:

I'm running a SuSE 9.0 system, so freetype is installed via the vendor RPMs. 
Both freetype-1.3.1-1000 and freetype2-2.1.7-11 are installed.  However,
/usr/X11R6/include/X11/Xft/Xft.h doesn't include the lines you mention, so
perhaps it's from the former.
Flags: blocking1.8b? → blocking1.8b-
I have the same problem when trying to compile mozilla-1.7.12-r2 on linux Gentoo (Ithink it is the same problem). My freetype version is freetype-2.1.9-r1:

In file included from /usr/X11R6/include/X11/Xft/Xft.h:35,
                 from nsDeviceContextGTK.cpp:78:
/usr/include/freetype2/freetype/freetype.h:20:2: #error "`ft2build.h' hasn't been included yet!"
/usr/include/freetype2/freetype/freetype.h:21:2: #error "Please always use macros to include FreeType header files."
/usr/include/freetype2/freetype/freetype.h:22:2: #error "Example:"
/usr/include/freetype2/freetype/freetype.h:23:2: #error "  #include <ft2build.h>"
/usr/include/freetype2/freetype/freetype.h:24:2: #error "  #include FT_FREETYPE_H"
gmake[4]: *** [nsDeviceContextGTK.o] Error 1
gmake[4]: Leaving directory `/var/tmp/portage/mozilla-1.7.12-r2/work/mozilla/gfx/src/gtk'
gmake[3]: *** [libs] Error 2
gmake[3]: Leaving directory `/var/tmp/portage/mozilla-1.7.12-r2/work/mozilla/gfx/src'
gmake[2]: *** [libs] Error 2
gmake[2]: Leaving directory `/var/tmp/portage/mozilla-1.7.12-r2/work/mozilla/gfx'
gmake[1]: *** [tier_9] Error 2
gmake[1]: Leaving directory `/var/tmp/portage/mozilla-1.7.12-r2/work/mozilla'
make: *** [default] Error 2
This is somehow entangled with bug #234035, see comments #113 to #130.
gfx/src/gtk/ has been removed on trunk.
This bug doesn't look like a branch candidate to me, but feel free to
attach a patch to fix it.  If it's a simple low-risk fix we might
consider it.

-> WONTFIX (for trunk)
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.