Simon Josefsson <[email protected]> writes: Hi,
> Santiago Vila <[email protected]> writes: > >> Hello. >> >> I need help/advice regarding this. >> >> m4 FTBFS on the mips architecture: >> >> https://buildd.debian.org/build.php?&pkg=m4&ver=1.4.14-1&arch=mips&file=log >> >> gcc -std=gnu99 -g -Wall -O2 -o test-dup2 test-dup2.o libtests.a >> ../lib/libm4.a libtests.a >> /usr/bin/ld: non-dynamic relocations refer to dynamic symbol dup2@@GLIBC_2.0 >> /usr/bin/ld: failed to set dynamic section sizes: Bad value >> >> It also fails on mipsel, with a similar error. > > This is caused by this binutils bug: > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519006 which has been in gcc 4.5 only iirc, so it's like there's no fix atm. > > It happens for many packages that uses gnulib self-checks. The binutils > bug is over a year old. I have worked around the problem by disabling > self checks on mips(el)... hm... why disabling the self checks when it can often be workarounded ? For instance, here one can do something like (briefly tested, not sure it's 100% correct) :
--- tests/signature.h | 2 1 + 1 - 0 ! 1 file changed, 1 insertion(+), 1 deletion(-) Index: m4-1.4.14/tests/signature.h =================================================================== --- m4-1.4.14.orig/tests/signature.h 2010-01-28 08:04:10.000000000 -0500 +++ m4-1.4.14/tests/signature.h 2010-03-25 03:45:42.000000000 -0400 @@ -43,6 +43,6 @@ # define SIGNATURE_CHECK1(fn, ret, args, id) \ SIGNATURE_CHECK2 (fn, ret, args, id) /* macroexpand line */ # define SIGNATURE_CHECK2(fn, ret, args, id) \ - static ret (* _GL_UNUSED signature_check ## id) args = fn + ret (* _GL_UNUSED signature_check ## id) args = fn #endif /* SIGNATURE_CHECK */
Arnaud

