$ sudo ln -s /usr/bin/ld.gold
[...]
And the libbf_wrapper.so is properly generated...

That's great!

Question:
Do we just search until we get a combination of gcc and make and ld that
work on a platform?

A good question. Our project is a heavy stress test for the whole tool chain and in an ideal world we'd track down every problem and solve it. In practice a combination that works after some little bit of tweaking dampens the "itch to scratch" motivation somewhat.

or
Do we have preferred versions (e.g. default version on each platform)?

On Windows it is still MSVC2008, on OSX it is XCode3's gcc4.0, but on Linux anything recent is supposed to work.

Another interesting fact is, that the big warning-as-errors cleanup targeted gcc4.2, but as newer major versions understand the code flow better they provide better warnings. I agree with Pedro that we should look into llvm/clang in the future.

Of course there are known errors with some versions, e.g. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50255 or the problem we saw recently with gcc4.6 having some issues with STL in our bridges code. The former can be solved by upgrading gcc, the latter could be solved by making our code cleaner. Yet again it shows that using newer tools and attacking the problems that appear either improve the platform or our code base.

Herbert

Reply via email to