I compile on Ubuntu 9.10 with Perl 5.10 and gcc version 4.3.4. It compiles successfully for me all the time. However, I have to make 1 change to the makefiles to enable successful compiles:
1) Change -march=i686 to -march=athlon64 (if you're using gcc 4.3 you should be able to use -march=native)
I have to make this change because my system uses an Athlon64 x2 CPU where the default makefile appears to be for Intel CPUs. As I noted in parenthesis, you can use -march=native if your gcc version is 4.3 (or newer). Instead of editing all of the makefiles one by one by hand, you can use the following terminal command to hit all of them:
1) Make sure you are in the root of the build tree
2) Run:
grep -Ril i686 * | xargs perl -pi -e 's/i686/native/g'
Using -march=native enables more CPU based optimizations than selecting the actual CPU from the gcc mtune/march optimization flag. All of the mtune/march optimizations that are available can be found here:
http://gcc.gnu.org/onlinedocs/gcc/i3...4-Options.html
And like gaeorn mentioned, you should do a 'make clean' before you attempt to compile... if 'make clean' fails then you will most likely need to change the -march= option before you can do a successful 'make clean' and/or 'make'.