I played with xft to see how mozilla would look when compiled with it, but now icewm doesn't compile anymore. Reproducible: Always Steps to Reproduce: 1.emerge sync 2.emerge icewm 3. Actual Results: make[1]: Entering directory `/mnt/hdc/tmp/portage/icewm-1.2.6/work/icewm- 1.2.6/src' Compiling ymsgbox.o... make[1]: Entering directory `/mnt/hdc/tmp/portage/icewm-1.2.6/work/icewm- 1.2.6/po' /usr/bin/msgfmt -o ca.mo ca.po /usr/bin/msgfmt -o cs.mo cs.po /usr/bin/msgfmt -o de.mo de.po /usr/bin/msgfmt -o en.mo en.po /usr/bin/msgfmt -o es.mo es.po /usr/bin/msgfmt -o fi.mo fi.po /usr/bin/msgfmt -o fr.mo fr.po /usr/bin/msgfmt -o hr.mo hr.po /usr/bin/msgfmt -o hu.mo hu.po In file included from ypaint.h:16/usr/bin/msgfmt -o it.mo it.po , from ywindow.h:4, from wmclient.h:4, from ydialog.h:4, from ymsgbox.h:4, from ymsgbox.cc:13: /usr/X11R6/include/X11/Xft/Xft.h:52: syntax error before `;' /usr/X11R6/include/X11/Xft/Xft.h:86: syntax error before `;' /usr/X11R6/include/X11/Xft/Xft.h:93: syntax error before `;' /usr/X11R6/include/X11/Xft/Xft.h:190: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:295: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:354: syntax error before `(' /usr/X11R6/include/X11/Xft/Xft.h:393: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:399: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:408: type specifier omitted for parameter /usr/X11R6/include/X11/Xft/Xft.h:408: parse error before `,' /usr/X11R6/include/X11/Xft/Xft.h:418: syntax error before `(' /usr/X11R6/include/X11/Xft/Xft.h:461: parse error before `*' /usr/bin/msgfmt -o ja.mo ja.po /usr/bin/msgfmt -o lt.mo lt.po /usr/bin/msgfmt -o no.mo no.po /usr/bin/msgfmt -o pl.mo pl.po /usr/bin/msgfmt -o pt_BR.mo pt_BR.po /usr/bin/msgfmt -o ro.mo ro.po /usr/bin/msgfmt -o ru.mo ru.po /usr/bin/msgfmt -o sl.mo sl.po /usr/bin/msgfmt -o sv.mo sv.po /usr/bin/msgfmt -o uk.mo uk.po /usr/bin/msgfmt -o zh_CN.gb2312.mo zh_CN.gb2312.po /usr/bin/msgfmt -o zh_TW.Big5.mo zh_TW.Big5.po make[1]: Leaving directory `/mnt/hdc/tmp/portage/icewm-1.2.6/work/icewm- 1.2.6/po' Compiling ydialog.o... In file included from ymsgbox.cc:17: wmframe.h: In method `bool YFrameWindow::isFullscreen() const': wmframe.h:348: warning: can't inline call to `long int YFrameWindow::getState() const' wmframe.h:266: warning: called from here make[1]: *** [ymsgbox.o] Error 1 make[1]: *** Waiting for unfinished jobs.... In file included from ypaint.h:16, from ywindow.h:4, from wmclient.h:4, from ydialog.h:4, from ydialog.cc:13: /usr/X11R6/include/X11/Xft/Xft.h:52: syntax error before `;' /usr/X11R6/include/X11/Xft/Xft.h:86: syntax error before `;' /usr/X11R6/include/X11/Xft/Xft.h:93: syntax error before `;' /usr/X11R6/include/X11/Xft/Xft.h:190: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:295: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:354: syntax error before `(' /usr/X11R6/include/X11/Xft/Xft.h:393: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:399: parse error before `*' /usr/X11R6/include/X11/Xft/Xft.h:408: type specifier omitted for parameter /usr/X11R6/include/X11/Xft/Xft.h:408: parse error before `,' /usr/X11R6/include/X11/Xft/Xft.h:418: syntax error before `(' /usr/X11R6/include/X11/Xft/Xft.h:461: parse error before `*' In file included from ydialog.cc:18: wmframe.h: In method `bool YFrameWindow::isFullscreen() const': wmframe.h:348: warning: can't inline call to `long int YFrameWindow::getState() const' wmframe.h:266: warning: called from here make[1]: *** [ydialog.o] Error 1 make[1]: Leaving directory `/mnt/hdc/tmp/portage/icewm-1.2.6/work/icewm- 1.2.6/src' make: *** [base] Error 2 !!! ERROR: x11-wm/icewm-1.2.6 failed. !!! Function src_compile, Line -236, Exitcode 2 !!! emake failed Expected Results: I expected a successful compile... I know the headers must be f**cked up, but I don't know what to do... i've reemerged xft, but still nothing. I if remember corectly, mozilla 1.2.1-r5 compiles with xft enabled, but it crashes, so I compiled it with moznoxft.
try to emerge xft and then emerge icewm
I already did, as I wrote on the end of my first comment...
Are you still using gcc-2.95.3 ?
Yes.... is that bad ? ;)
Yes this is a duplicate of an old bug...the XFT patch doesn't seem to work with gcc 2.95.3 I'll have to make a check for that version and disable it
"the XFT patch doesn't seem to work"... xft patch for what ? for xft itself or for icewm ?
icewm is patched to use XFT2
I've a very similar problem: The first compilation when emerging icewm fails with make[1]: Entering directory `/var/tmp/portage/icewm-1.2.6/work/icewm-1.2.6/src' Compiling ymsgbox.o... cc1plus: warning: changing search order for system directory "/usr/include" cc1plus: warning: as it has already been specified as a non-system directory In file included from ypaint.h:16, from ywindow.h:4, from wmclient.h:4, from ydialog.h:4, from ymsgbox.h:4, from ymsgbox.cc:13: /usr/X11R6/include/X11/Xft/Xft.h:52: syntax error before `;' token /usr/X11R6/include/X11/Xft/Xft.h:86: 'FT_UInt' is used as a type, but is not defined as a type. /usr/X11R6/include/X11/Xft/Xft.h:93: 'FT_UInt' is used as a type, but is not defined as a type. /usr/X11R6/include/X11/Xft/Xft.h:190: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:295: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:353: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:392: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:398: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:407: type specifier omitted for parameter `FT_UInt' /usr/X11R6/include/X11/Xft/Xft.h:407: parse error before `,' token /usr/X11R6/include/X11/Xft/Xft.h:417: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:460: parse error before `*' token make[1]: *** [ymsgbox.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/icewm-1.2.6/work/icewm-1.2.6/src' make: *** [base] Error 2 I'm using "x11-libs/xft-2.0.1" and "sys-devel/gcc-3.1.1-r1", so this is not a gcc 2.95 problem.
I've upgraded to xfree86-4.3.0 and all the text from icewm's menus is gone... I don't see any errors from it in the console from which I started X. I've tried to recompile icewm from 1.2.0 to 1.2.6 and they all have a problem with the xft headers. I really think it's a problem with those headers, but how can I resolve it ?
I just bumped versions, try it, maybe will fix your problem
As I said, I really think the headers got messed up. But, anyway, I've reinstalled my system with gentoo 1.4 and now everything works for me.
Didn't change anything on an "old" (pre-1.4) Gentoo, the first compilation fails with syntax errors in Xft headers: Compiling ymsgbox.o... cc1plus: warning: changing search order for system directory "/usr/include" cc1plus: warning: as it has already been specified as a non-system directory In file included from ypaint.h:16, from ywindow.h:4, from wmclient.h:4, from ydialog.h:4, from ymsgbox.h:4, from ymsgbox.cc:13: /usr/X11R6/include/X11/Xft/Xft.h:52: syntax error before `;' token /usr/X11R6/include/X11/Xft/Xft.h:86: 'FT_UInt' is used as a type, but is not defined as a type. /usr/X11R6/include/X11/Xft/Xft.h:93: 'FT_UInt' is used as a type, but is not defined as a type. /usr/X11R6/include/X11/Xft/Xft.h:190: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:295: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:353: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:392: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:398: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:407: type specifier omitted for parameter `FT_UInt' /usr/X11R6/include/X11/Xft/Xft.h:407: parse error before `,' token /usr/X11R6/include/X11/Xft/Xft.h:417: parse error before `*' token /usr/X11R6/include/X11/Xft/Xft.h:460: parse error before `*' token make[1]: *** [ymsgbox.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/icewm-1.2.7/work/icewm-1.2.7/src' make: *** [base] Error 2
Definitely an Xft problem: I unmerged Xft (it is replaced by Xfree 4.3) and emerged Xfree 4.3, and now icewm 1.2.7 builds and works fine.
ok marking fixed