emerge -u world Calculating world dependencies ...done! >>> emerge (1 of 5) x11-misc/ttmkfdir-2.0 to / >>> md5 ;-) ttmkfdir2-1.0.tar.bz2 >>> Unpacking source... >>> Unpacking ttmkfdir2-1.0.tar.bz2 patching file Makefile patching file ttf.h >>> Source unpacked. libtool --mode=compile g++ -O3 -pipe -Wall -pedantic -I/usr/include/freetype2/. -o ttmkfdir.o -c ttmkfdir.cpp rm -f .libs/ttmkfdir.lo g++ -O3 -pipe -Wall -pedantic -I/usr/include/freetype2/. -c ttmkfdir.cpp -fPIC -DPIC -o .libs/ttmkfdir.lo In file included from /usr/include/math.h:350, from /usr/include/g++-v32/cmath:51, from /usr/include/g++-v32/bits/locale_facets.tcc:41, from /usr/include/g++-v32/locale:46, from /usr/include/g++-v32/bits/ostream.tcc:37, from /usr/include/g++-v32/ostream:275, from /usr/include/g++-v32/iostream:45, from ttmkfdir.cpp:2: /usr/include/bits/mathinline.h:216: declaration of `double fdim(double, double) ' throws different exceptions /usr/include/bits/mathcalls.h:313: than previous declaration `double fdim(double, double) throw ()' /usr/include/bits/mathinline.h:223: declaration of `float fdimf(float, float)' throws different exceptions /usr/include/bits/mathcalls.h:313: than previous declaration `float fdimf(float, float) throw ()' make: *** [ttmkfdir.o] Error 1 !!! ERROR: The ebuild did not complete successfully. !!! Function src_compile, Line 1, Exitcode 2 !!! (no error message) -------------- sparc64 (ultra 5) with gentoo 1.4.
Not sure that this belongs to the sparc group. The ebuild for xfree is what is requiring ttmkfdir, and I think the xfree ebuild is a little too...demanding...and presumes too much too boot (why the heck would I need a font manager on a gateway machine that only has X to satisfy some basic deps). Thinking this should actually be reassigned to jrray who submitted that ebuild.
I get the same errors on my system with X4.2.1 installed. Regardless of whether xfree is too demanding in its dependencies, this is a bug that needs resolution. It actually appears to be a bug with gcc.
Your/sparc gcc-3.2 is screwed ? Seems like it declares fdim and fdimf a number of times ? This works fine for gcc-3.2 and gcc-2.95.3 on x86, ppc, and alpha.
Well the real thing which is screwed is glibc for sparc, look at the /usr/include/bits/math* files Sparc has it's own version of mathinline.h which is slightly broken. See the last few lines of the sparc version and compare it to the over arch versions. The fix is to add __THROW to the declarations in mathinline.h, the patch is, this is already in glibc-2.3.1: --- mathinline.h.jj 2002-11-01 12:25:55.000000000 -0500 +++ mathinline.h 2002-11-01 12:27:38.000000000 -0500 @@ -213,14 +213,14 @@ # ifndef __NO_MATH_INLINES -__MATH_INLINE double fdim (double __x, double __y); +__MATH_INLINE double fdim (double __x, double __y) __THROW; __MATH_INLINE double fdim (double __x, double __y) { return __x < __y ? 0 : __x - __y; } -__MATH_INLINE float fdimf (float __x, float __y); +__MATH_INLINE float fdimf (float __x, float __y) __THROW; __MATH_INLINE float fdimf (float __x, float __y) {
Created attachment 5282 [details, diff] glibc-2.2.5-sparc.patch A bit of a typo in the last patch, missed a couple of things, problem with doing sparc stuff without a box. This patch is the diff between glibc-2.2.5 and glibc-2.3.1 for the said header, Weeve has tested it and now ttmkfdir2 and xlockmore both compile. Could someone important add it to the glibc ebuild?
Added to glibc 2.2.5 ebuild, so this is now fixed
*** Bug 10414 has been marked as a duplicate of this bug. ***
Bug 10414 is in platform PC, not like this in Sparc64. And glibc 2.2.5 don't fix it; probably the error is in stage3-i686_athlon-1.4_rc1.tar.bz2 I used to install gentoo, because with emerge flex before emerge ttmkfdir it's runs.
i have glibc-2.3.1.tar.gz ttmkfdir2 fails to emerge too.. tried modify code: out comments the parser.cpp line 1505 //extern int isatty YY_PROTO(( int ));
Closing