Yaakov (Cygwin/X) wrote: > On 09/08/2009 17:04, Dave Korn wrote: > So let me put it to you this way: I have two packages requiring libffi, > namely gnustep-base and pygobject2, the latter of which explicitly deps > libffi-3.0. Which libffi should I use right now, gcc-4.3.2 or standalone?
Right now? Hard to say, you have a choice of two versions that are both known to be buggy. I'd check the testsuite results and see which one looks best. Here are the results from 4.3.2-2's testsuite: > === libffi tests === > > > Running target unix > FAIL: libffi.call/cls_1_1byte.c output pattern test, is 12 178: 190 > FAIL: libffi.call/cls_2byte.c output pattern test, is 12 127 1 13: 13 140 > FAIL: libffi.call/return_sc.c execution test > FAIL: libffi.call/struct5.c execution test > FAIL: libffi.call/cls_1_1byte.c output pattern test, is 12 178: 190 > FAIL: libffi.call/cls_2byte.c output pattern test, is 12 127 1 13: 13 140 > FAIL: libffi.call/return_sc.c execution test > FAIL: libffi.call/struct5.c execution test > FAIL: libffi.call/cls_1_1byte.c output pattern test, is 12 178: 190 > FAIL: libffi.call/cls_2byte.c output pattern test, is 12 127 1 13: 13 140 > FAIL: libffi.call/return_sc.c execution test > FAIL: libffi.call/struct5.c execution test > FAIL: libffi.call/cls_1_1byte.c output pattern test, is 12 178: 190 > FAIL: libffi.call/cls_2byte.c output pattern test, is 12 127 1 13: 13 140 > FAIL: libffi.call/struct5.c execution test > FAIL: libffi.call/cls_12byte.c output pattern test, is 7 4 9 1 5 3: 8 9 12 > FAIL: libffi.call/cls_16byte.c output pattern test, is 7 8 9 1 9 3: 8 17 12 > FAIL: libffi.call/cls_18byte.c output pattern test, is 1 127 126 3 4 125 124 > 5: 5 252 250 8 > FAIL: libffi.call/cls_19byte.c output pattern test, is 1 127 126 3 120 4 125 > 124 5 119: 5 252 250 8 239 > FAIL: libffi.call/cls_1_1byte.c output pattern test, is 12 178: 190 > FAIL: libffi.call/cls_20byte.c output pattern test, is 1 2 3 4 5 7: 5 7 10 > FAIL: libffi.call/cls_20byte1.c output pattern test, is 1 2 3 4 5 7: 5 7 10 > FAIL: libffi.call/cls_24byte.c output pattern test, is 9 2 6 5 1 2 3 7 4 5 7 > 9 8 6 1 9: 22 15 17 25 > FAIL: libffi.call/cls_2byte.c output pattern test, is 12 127 1 13: 13 140 > FAIL: libffi.call/cls_3_1byte.c output pattern test, is 12 13 14 178 179 180: > 190 192 194 > FAIL: libffi.call/cls_5_1_byte.c output pattern test, is 127 120 1 3 4 12 128 > 9 3 4: 139 248 10 6 8 > FAIL: libffi.call/cls_5byte.c output pattern test, is 127 120 1 12 128 9: 139 > 248 10 > FAIL: libffi.call/cls_64byte.c output pattern test, is 22 15 17 25 6 13 19 18 > FAIL: libffi.call/cls_6_1_byte.c output pattern test, is 127 120 1 3 4 5 12 > 128 9 3 4 5: 139 248 10 6 8 10 > FAIL: libffi.call/cls_6byte.c output pattern test, is 127 120 1 128 12 128 9 > 127: 139 248 10 255 > FAIL: libffi.call/cls_7_1_byte.c output pattern test, is 127 120 1 3 4 5 6 12 > 128 9 3 4 5 6: 139 248 10 6 8 10 12 > FAIL: libffi.call/cls_9byte1.c output pattern test, is 7 8 1 9: 8 17 > FAIL: libffi.call/cls_9byte2.c output pattern test, is 7 8 1 9: 8 17 > FAIL: libffi.call/cls_align_double.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_float.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_longdouble.c output pattern test, is 12 4951 127 > 1 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_pointer.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_sint16.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_sint32.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_sint64.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_uint16.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_uint32.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/cls_align_uint64.c output pattern test, is 12 4951 127 1 > 9320 13: 13 14271 140 > FAIL: libffi.call/nested_struct.c execution test > FAIL: libffi.call/nested_struct1.c execution test > FAIL: libffi.call/nested_struct10.c execution test > FAIL: libffi.call/nested_struct2.c execution test > FAIL: libffi.call/nested_struct3.c execution test > FAIL: libffi.call/nested_struct4.c execution test > FAIL: libffi.call/nested_struct5.c execution test > FAIL: libffi.call/nested_struct6.c execution test > FAIL: libffi.call/nested_struct7.c execution test > FAIL: libffi.call/nested_struct8.c execution test > FAIL: libffi.call/nested_struct9.c execution test > FAIL: libffi.call/problem1.c output pattern test, is 1 2 3 1 2 3: 2 4 6 > FAIL: libffi.call/return_sc.c execution test > FAIL: libffi.call/struct5.c execution test > FAIL: libffi.special/unwindtest.cc execution test > FAIL: libffi.special/unwindtest_ffi_call.cc execution test > FAIL: libffi.special/unwindtest.cc execution test > FAIL: libffi.special/unwindtest_ffi_call.cc execution test > FAIL: libffi.special/unwindtest.cc execution test > FAIL: libffi.special/unwindtest_ffi_call.cc execution test > FAIL: libffi.special/unwindtest.cc execution test > FAIL: libffi.special/unwindtest_ffi_call.cc execution test > > === libffi Summary === > > # of expected passes 1325 > # of unexpected failures 65 You'll probably find that libffi-3.0.8 (the latest release, last December) has less FAILs, but also less tests overall, so it may be that any differences are noise and they both suffer the same core bugs. Given that, it would probably be easier to use your current libffi-3, just since you won't have to edit the version dependency... cheers, DaveK -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple