Difficulty building gcc 4.4.0 -- builds but fails abi_check

I'm trying to build gcc 4.4.0 in 64-bit (x86_64) Ubuntu 9.04, but make check fails. Specifically, make -k check-target gives (after many other pages of output):

Running /home/charles/Desktop/gccsrc/libstdc++-v3/testsuite/libstdc++-abi/abi.exp ...
FAIL: abi_check
Running /home/charles/Desktop/gccsrc/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp ...
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test for excess errors)

        === libstdc++ Summary ===

# of expected passes        5841
# of unexpected failures    1
# of unexpected successes    1
# of expected failures        80
# of unsupported tests        333
make[3]: *** [check-DEJAGNU] Error 1
make[3]: Leaving directory `/home/charles/Desktop/gcc-4.4.0/x86_64-unknown-linux-gnu/libstdc++-v3/testsuite'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/home/charles/Desktop/gcc-4.4.0/x86_64-unknown-linux-gnu/libstdc++-v3/testsuite'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/charles/Desktop/gcc-4.4.0/x86_64-unknown-linux-gnu/libstdc++-v3'
make: *** [check-target-libstdc++-v3] Error 2

Any idea what's wrong? On a related note: gcc -dumpversion only gives the version number. Is there a way to see what options are compiled in? In particular I'd like to see if a given binary has the Graphite optimizations or not.

This is very very gcc specific. I'd post this to the gcc developers mailing list.

If you know what functions are in the Graphite library, and the gcc executable is not stripped, you can find them this way:

nm -g | grep graphite_function

will result in some output if graphite_function is referenced.

gcc -dumpspecs
gcc -###

otheus: Unfortunately my binary is stripped, so that doesn't help. I'll go to the gcc developer community only after I check more carefully to make sure the problem isn't too dumb.

fpmurphy: Thanks! I didn't see those in my look through the gcc manpage -- but it's long enough that this is no real surprise. :o

Can I assume that since

gcc -dumpspecs | grep graphite
gcc -### | grep graphite

both come up dry, that my version doesn't have the graphite/CLooG optimizations?

I think the gcc -### line here is key -- that tells you how gcc was configured. If the GLooG optimizations require a specific configure option, then it is almost certain your static image doesn't have them.

But wait, I thought you were compiling gcc. You will have a non-static version in the compilation output directory.

I am. I was interested in finding if the binary I already had was compiled with those optimizations. In other words, is my compilation going to give me just the changes since 4.3, or will it give me the changes since 4.3 plus Graphite?

Actually, gcc doesn't require a configure option for that! It just autodetects CLooG and PPL. (Graphite has been merged, so it doesn't require that separately anymore.)

As I thought you meant originally. You should find in the build directory that gcc puts the binary in before doing the strip/install. If you can't find it, remove the binary from the build directory and alias the command "strip" to "true" like:

alias strip=true

Then do the make again. Then search through the binary with the nm command.

Sorry, we're still not communicating. I've never managed to get gcc to build properly on this system. But the system installation came with gcc (naturally), so I wanted to know if that binary (which I didn't build) had Graphite.

I suspect it doesn't, which is why I'm keen on building my own. I was able to build all the many (!) prerequisites, but I wasn't able to get gcc itself to build.

Ahh...

sometime today I'll test out my new VM-RPM-build environment by building gcc 4.4.0. I can at least then tell you if the problem is with the source.

Looks like some Graphite support made it into the truck in August 2008.

Have a look at the following Graphite/4.5 - GCC Wiki

It could be. I'd still rather assume the problem is with me until I have a good reason to think otherwise.