Re: m4 1.4.14 FTBFS on mips
Simon Josefsson <simon@josefsson.org> writes:
Hi,
> Santiago Vila <sanvila@unex.es> 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
Reply to: