Created attachment 275779 [details] Build log Hello there! You're getting this bug because the package in Summary failed to build in my tinderbox using the gold link editor from binutils. Before closing the bug as INVALID let me explain why this is still important! The gold link editor does not support underlinking of shared objects, which is something I have described in my blog post: http://blog.flameeyes.eu/2010/11/26/it-s-not-all-gold-that-shines-why-underlinking-is-a-bad-thing Even the basic link editor (ld.bfd) has an option to support this but it is a heck to enable and get passed, so linking with gold is simply quicker. Fixing underlinking provides optimized --as-needed builds (because the "softer" version no longer need to recover libraries that are underlinked), so it is a Good Thing To Do. Thank you very much for the attention!
I'm sorry, but I have no idea what you're talking about, so you'll have to provide a better explanation of what you expect me to do, or provide a patch, or else provide an extra few hours per day until I fix it myself. Thanks...
The package needs to link with libm in addition. gfortran -O2 -pipe -fcray-pointer -fno-second-underscore -Dlinux -Dgfortran -DLITTLE_ENDIAN -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -o decode_bufr_image decode_bufr_image.o -L../ -lbufr ..//libbufr.a(buprt.o):buprt.F:function buprt_: error: undefined reference to 'lround'
That would fix the fist occurance. But the problem is that there might be more undefined libs we don't see right now. So probably what Steve mean is that we need some way how to reproduce it (so we can give out patches ourselves). And yes the bug is confirmed as we will have to migrate to gold at some point :)
I use this to switch between gold and bfs linker _gold() { pushd /usr/bin rm ld x86_64-pc-linux-gnu-ld ln -sf x86_64-pc-linux-gnu-ld.${1} ld ln -sf /usr/x86_64-pc-linux-gnu/bin/ld.${1} x86_64-pc-linux-gnu-ld cd /usr/x86_64-pc-linux-gnu/bin/ rm ld ln -sf /usr/x86_64-pc-linux-gnu/binutils-bin/2*/ld.${1} ld popd } setgold() { _gold gold } unsetgold() { _gold bfd }
Okay, I think I have a clue, but still don't see how to fix it the new/proper way. I haven't played with the gold linker yet, but I can't find anywhere in the source that includes math.h and the failure appears to be in the Fortran examples. It's been another long week, so I need another clue...
This is obsolete and gold/lto works now with latest version (still to be pushed). Granted it's an odd duck but still the only open source BUFR tool I could find...
Updated/latest release pushed.