Hi list, Please see the correspondence below from the pypy team about some failing tests. Specifically, why is test.py producing None whereas test.c is producing the desired results?
Regards ---------- Forwarded Message ---------- Subject: Re: [pypy-dev] 2.6.1 and freebsd-9 Date: Monday, 24 August 2015, 23:07:20 From: David Naylor <naylor.b.da...@gmail.com> To: pypy-...@python.org CC: Matti Picus <matti.pi...@gmail.com> On Saturday, 22 August 2015 21:25:44 Matti Picus wrote: > I would like to add the freebsd-9-x86-64 binary tgz to our released > downloads. We still have a number of failing tests showing up on > http://buildbot.pypy.org/summary?category=freebsd64 > among them many > DLOpenError: "opening 'libm.so' with ctypes.CDLL() works, but not with > c_dlopen()??" > and the more worrying SIGSEGV in > http://buildbot.pypy.org/summary/longrepr?testname=unmodified&builder=pypy-c > -jit-freebsd-9-x86-64&build=655&mod=lib-python.2.7.test.test_io > > Could someone proficient in freebsd suggest what is going on? Hi Matti, I am able to reproduce this on FreeBSD 10.2: # cat > test.py << __EOF from ctypes import * libc = CDLL("libc.so.7") dlopen = libc["dlopen"] # see <dlfnc.h>: void *dlopen(const char *, int); dlopen.argtypes = [c_char_p, c_int] dlopen.restype = c_void_p print dlopen(c_char_p("libm.so"), c_int(0)) __EOF # python test.py None However, contract this with the C equivalent: # cat > test.c << __EOF #include <dlfcn.h> #include <stdio.h> int main(int argc, char** argv) { printf("%p\n", dlopen("libm.so", RTLD_LOCAL)); } __EOF # cc -o test test.c # ./test 0x800620800 <snip/>
signature.asc
Description: This is a digitally signed message part.