[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: