Thomas Esser writes: >> I am trying to use tetex in BeOS and have managed to compile it making >> some small changes that I will post later for reference. > ... >> fmtutil: config file `fmtutil.cnf' not found.
> kpathsea translates search path read from texmf.cnf on unix-like > systems by replacing ";" -> ":". The unix-defection can be found in > texk/kpathsea/cnf.c: > /* gcc -ansi doesn't predefine `unix', since ANSI forbids it. And AIX > generally doesn't predefine unix, who knows why. HP-UX is, of course, > also different. Apple's MacOsX is also unix-like. */ > #ifndef unix > #if defined (__unix__) || defined (_AIX) || defined (_HPUX_SOURCE) > #define unix > #elif defined (__APPLE__) && defined (__MACH__) > #define unix > #elif defined (__NetBSD__) > #define unix > #endif > #endif Which is quite a mess, and what is worse, here we test for a feature that we've also determined elsewhere, and in an unrelated way. No wonder we're running into trouble. As far as I can tell, we can trivially ditch this mess by replacing it as follows: Index: cnf.c =================================================================== RCS file: /usr/local/cvsroot/texk/texk/kpathsea/cnf.c,v retrieving revision 1.11 diff -u -d -r1.11 cnf.c --- cnf.c 14 Dec 2002 12:10:31 -0000 1.11 +++ cnf.c 19 Feb 2003 20:11:23 -0000 @@ -19,6 +19,7 @@ #include <kpathsea/config.h> #include <kpathsea/c-fopen.h> #include <kpathsea/c-ctype.h> +#include <kpathsea/c-pathch.h> #include <kpathsea/cnf.h> #include <kpathsea/db.h> #include <kpathsea/hash.h> @@ -126,22 +127,7 @@ -DALLOW_SEMICOLON_IN_FILENAMES. (And there's no way to get :'s in your filenames, sorry.) */ -/* gcc -ansi doesn't predefine `unix', since ANSI forbids it. And AIX - generally doesn't predefine unix, who knows why. HP-UX is, of course, - also different. Apple's MacOsX is also unix-like. */ -#ifndef unix -#if defined (__unix__) || defined (_AIX) || defined (_HPUX_SOURCE) -#define unix -#elif defined (__APPLE__) && defined (__MACH__) -#define unix -#elif defined (__NetBSD__) -#define unix -#endif -#endif - -/* DJGPP defines `unix' (for portability), but generates MSDOS programs. */ -#ifndef __DJGPP__ -#if !defined (ALLOW_SEMICOLON_IN_FILENAMES) && defined (unix) +#if IS_ENV_SEP(':') && !defined (ALLOW_SEMICOLON_IN_FILENAMES) { string loc; for (loc = value; *loc; loc++) { @@ -149,7 +135,6 @@ *loc = ':'; } } -#endif #endif /* We want TEXINPUTS.prog to override plain TEXINPUTS. The simplest Does anyone care to test? -- Olaf Weber (This space left blank for technical reasons.)