When emerging app-i18n/unicon without any X implementation installed, and especially the headers, the build will fail when looking for X11/Xlib.h and X11/keysym.h. cd unicon; make make[1]: Entering directory `/tmp/portage/unicon-3.0.4/work/unicon-3.0.4/unicon' cd server; make make[2]: Entering directory `/tmp/portage/unicon-3.0.4/work/unicon-3.0.4/unicon/server' g++ -fPIC -g -Wall -I. -I../include -c TLS_HzInput.cpp -o TLS_HzInput.o In file included from TLS_HzInput.cpp:32: ./TLS_AsciiConvertor.hpp:32:22: X11/Xlib.h: No such file or directory ./TLS_AsciiConvertor.hpp:33:24: X11/keysym.h: No such file or directory make[2]: *** [TLS_HzInput.o] Error 1 make[2]: Leaving directory `/tmp/portage/unicon-3.0.4/work/unicon-3.0.4/unicon/server' make[1]: *** [all] Error 2 make[1]: Leaving directory `/tmp/portage/unicon-3.0.4/work/unicon-3.0.4/unicon' make: *** [all] Error 2 This is easily fixed by adding some dependency, I'm not sure of what though, but that is not my problem. Reproducible: Always Steps to Reproduce:
I installed X, just because everything depends on it, and noticed this when emerging: make[2]: Leaving directory `/tmp/portage/unicon-3.0.4/work/unicon-3.0.4/unicon/ImmModules/cce/inputs' make[1]: Leaving directory `/tmp/portage/unicon-3.0.4/work/unicon-3.0.4/unicon' gcc -march=pentium2 -O2 -pipe -fomit-frame-pointer -minline-all-stringops -funroll-all-loops -fno-cprop-registers -fPIC -I. -I../include -lnewt uniconcfg.c -o uniconcfg uniconcfg.c: In function `TestFontExist': uniconcfg.c:205: error: label at end of compound statement make: *** [uniconcfg] Error 1 uniconcfg.c is located in /tools/ and the code looks like this: int TestFontExist (int coding) { switch (coding) { case XL_DB_GB: case XL_DB_BIG5: case XL_DB_JIS: case XL_DB_KSCM: case XL_DB_GBK: } return 1; } Presumably one of the later GCC versions, I'm using 3.4.3, treat a missing break as an error... I'm not sure if that really is an error, but that is how it is. Simply patching a break; in would fix this issue. Please mark this package unstable :)
First, unicon is broken on gcc34 for sure and it does not work at all. Second, the two patches in portage are useless and also out of date. Third, the ebuild in portage does not really install unicon, because it skipped all broken parts. Even you emerged it successfully, it is useless. http://euler.acadiau.ca/~043936y/index.php?job=art&articleid=a_20041209_221844 I wrote an instruction for installation, but it works only on old gcc, if you are using DeadHat AS3, they you are lucky. I spent couple days on unicon. I patched ck3 and nitro4 kernel with unicon (using gcc34), now I can view CJK content on every VT without CCE2k or zhcon. But I still can not start unicon's input method, because gcc34 won't pass 'make -C sfonts/tools' in unicon. If you are interested in the kernel patch, i can post it here. Maybe you got a good faith.
Created attachment 46014 [details, diff] gcc34 patch for unicon
Added the patch to CVS. Thanks for the bug report. I'd like to add unicon kernel patch to the ebuild, something similar to what bootsplash ebuild does today, but I don't have time and interest to do so at the moment. (because unicon patch is likely to not apply cleanly from time to time)