[Dev-luatex] Luatex beta 0.31.0
vvv at vsu.ru
Tue Dec 9 05:58:00 CET 2008
"TH" == Taco Hoekwater writes:
>> /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined
>> symbols: _libintl_gettext
TH> This one is simple to fix, I forgot to suppress libintl (gettext)
TH> in fontforge's configuration. There are two lines containing
TH> #undef HAVE_LIBINTL_H
TH> inside src/libs/luafontforge/fontforge/inc/config.h.in (one is
TH> enough really, the other one is a fluke)
TH> If you put those in C comment tags (like the _HAS_LONGLONG is
TH> already) then this error will go away, I am sure.
maybe it fixed apple-darwin, but it broke sparc-solaris. :(
here is why:
* on solaris, there IS /usr/include/libintl.h, so HAVE_LIBINTL_H
would've been normally defined. but hardwiring "#undef HAVE_LIBINTL_H"
fools the libs/luafontforge/fontforge/inc/intl.h to believe that there
is no libintl.h in the system, and it executes the branch
"#if !defined( HAVE_LIBINTL_H )" which has:
# define bindtextdomain(domain,dir)
# define bind_textdomain_codeset(domain,enc)
# define textdomain(domain)
# define dgettext(domain,str) (str)
* then, many fontforge headers have #include <locale.h> which is fine,
but on solaris, /usr/include/locale.h contains #include <libintl.h>
and so /usr/include/libintl.h gets included, but, because of the
above #define's made in libs/luafontforge/fontforge/inc/intl.h, it
causes havoc, because /usr/include/libintl.h has
extern char *dgettext(const char *, const char *);
extern char *textdomain(const char *);
extern char *bindtextdomain(const char *, const char *);
which, because of those #define's, get pre-processed to
extern char * ( const char * );
extern char *;
extern char *;
* comparing libs/luafontforge/fontforge/inc/intl.h in texlive
repository and in the "math" branch of luatex, i see that texlive
has "#if ! defined(__sun__) && ! defined(__sun)" ... "#endif"
around the above #define's (see the attached patch)
while this does not look like a right fix (the problem seems to be
caused by fooling intl.h by "#undef HAVE_LIBINTL_H" above), it seems
to fix the build process.
this was somehow lost during recent upgrade of fontforge in luatex.
is it possible to fix the problem upstream (in fontforge) so it
won't re-appear again after another update of fontforge in luatex?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 504 bytes
Desc: not available
More information about the dev-luatex