On 7/7/07, Martin Schröder
2007/7/7, George N. White III
: I (slightly) abused your build.sh configuration by compiling with -std=c99 on Fedora Release 7 (i686, gcc (GCC) 4.1.2 20070502 (Red Hat 4.1.2-12)) and using system libraries (fewer chances for the compile to fail and less time to compile):
Not that it should make a difference, but does the standard build.sh work?
I have no problems with OpenSUSE 10.1 (gcc (GCC) 4.1.0 (SUSE Linux)) and 10.2 (gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux)) and -std=c99 -Wall.
debian stable with "-std=c99 -march=i686 -Wall" gives the same error
as Fedora.
Either "-std=g99 .." or "-std=c99 -D_BSD_SOURCE" works. Following the
definition of strsep thru the header files and glibc sources is like those games
where you get lost in a maze of twisty-turny passages. Google found some cases
where people gave up trying to get configure to find strsep reliably
and just coded
around it.
Meanwhile, SGI Irix 6.5 complains about:
cc-1282 CC: ERROR File = ../../../../src/libs/xpdf/goo/GString.cc, Line = 531
More than one instance of overloaded function "pow" matches the argument list.
Function symbol function "std::pow(long double, int)" is ambiguous
by inheritance.
Function symbol function "std::pow(double, int)" is ambiguous by
inheritance.
Function symbol function "std::pow(float, int)" is ambiguous by
inheritance.
The argument types are: (int, int).
x = floor(x * pow(10, prec) + 0.5);
^
1 error detected in the compilation of
"../../../../src/libs/xpdf/goo/GString.cc".
gmake[1]: *** [GString.o] Error 2
I changed this to an explicit cast to double. The result seems to work
(builds formats, processes story.tex and sample2e.tex).
--
George N. White III