On Wed, 27 Jun 2012 23:20:21 +0100
Laurence Tratt <[email protected]> wrote:

> On Wed, Jun 27, 2012 at 11:34:03PM +0200, Juan Francisco Cantero
> Hurtado wrote:
> 
> Thanks for testing!

Thanks for the porting efforts! :)

I'm CCing to the list because I want that the developers comment on the
systrace and overoptimization issues. They will give you better advice
than me about this.

> 
> >> [ctypes_config_cache:ERROR] Running
> >> /usr/ports/pobj/pypy-1.9/pypy-pypy-341e1e3821ff/lib_pypy/ctypes_config_cache/locale.ctc.py:
> >> [ctypes_config_cache:ERROR]   Error: ExecutionFailed: 1
> >> /tmp/ctypes_configure-0/ctypesplatcheck_0
> >> [ctypes_config_cache:ERROR] /bin/sh:
> >> /tmp/ctypes_configure-0/ctypesplatcheck_0: Permission denied
> >> [ctypes_config_cache:ERROR] Running
> >> /usr/ports/pobj/pypy-1.9/pypy-pypy-341e1e3821ff/lib_pypy/ctypes_config_cache/resource.ctc.py:
> >> [ctypes_config_cache:ERROR]   Error: ExecutionFailed: 1
> >> /tmp/ctypes_configure-0/ctypesplatcheck_1
> >> [ctypes_config_cache:ERROR] /bin/sh:
> >> /tmp/ctypes_configure-0/ctypesplatcheck_1: Permission denied
> >> [ctypes_config_cache:ERROR] Running
> >> /usr/ports/pobj/pypy-1.9/pypy-pypy-341e1e3821ff/lib_pypy/ctypes_config_cache/syslog.ctc.py:
> >> [ctypes_config_cache:ERROR]   Error: ExecutionFailed: 1
> >> /tmp/ctypes_configure-0/ctypesplatcheck_2
> >> [ctypes_config_cache:ERROR] /bin/sh:
> >> /tmp/ctypes_configure-0/ctypesplatcheck_2: Permission denied
> >> 
> >> I'm using USE_SYSTRACE=YES but I don't know if this error is
> >> related to systrace or not. The package continues compiling.
> > ===>  Faking installation for pypy-1.9
> > mkdir -p /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/bin
> > install -c -s -o root -g bin -m 555
> > /usr/ports/pobj/pypy-1.9/usession/testing_1/pypy-c
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/bin/pypy
> > install -d -o root -g bin -m 755
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/include
> > cp -rp /usr/ports/pobj/pypy-1.9/pypy-pypy-*/include/*
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/include
> > chown -R root:bin
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/include
> > install -d -o root -g bin -m 755
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib_pypy
> > cp -rp /usr/ports/pobj/pypy-1.9/pypy-pypy-*/lib_pypy/*
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib_pypy
> > chown -R root:bin
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib_pypy
> > install -d -o root -g bin -m 755
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib-python/2.7
> > cp -rp /usr/ports/pobj/pypy-1.9/pypy-pypy-*/lib-python/2.7/*
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib-python/2.7
> > chown -R root:bin
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib-python/2.7
> > ===>  Building package for pypy-1.9
> > Create /usr/ports/packages/amd64/all/pypy-1.9.tgz
> > Error:
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib_pypy/ctypes_config_cache/_locale_cache.py
> > does not exist
> > Error:
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib_pypy/ctypes_config_cache/_resource_cache.py
> > does not exist
> > Error:
> > /usr/ports/pobj/pypy-1.9/fake-amd64/usr/local/pypy-1.9/lib_pypy/ctypes_config_cache/_syslog_cache.py
> > does not exist
> > Fatal error: can't continue
> >  at /usr/libdata/perl5/OpenBSD/PkgCreate.pm line 1385
> >  *** Error code 1
> > 
> >  Stop in /usr/ports/openbsd-wip/lang/pypy (line 1718 of
> >  /usr/ports/infrastructure/mk/bsd.port.mk).
> >  *** Error code 1
> > 
> >  Stop in /usr/ports/openbsd-wip/lang/pypy (line 2265 of
> >  /usr/ports/infrastructure/mk/bsd.port.mk).
> >  *** Error code 1
> > 
> >  Stop in /usr/ports/openbsd-wip/lang/pypy (line 2245 of
> >  /usr/ports/infrastructure/mk/bsd.port.mk).
> 
> I guess this isn't too surprising, given the SYSTRACE errors. Can you
> try compiling with systrace off? I'll try and look into why it's
> writing directly to /tmp tomorrow - but it might be rather difficult
> to track down the source, so it might take a while.

The funny thing is that systrace doesn't show the typical errors with
the syscall (this is a very nice feature). Of course, I'll try
tomorrow without systrace enabled.

If you're desperate, you can use this two workarounds:
- Add a "systrace.filter" file with the fixes to the root directory
  of your port. ("find /usr/ports systrace.filter" if you need examples
  and read the manpage of systrace).
- If you can't fix the problem with a "systrace.filter" file, add
  "NO_SYSTRACE=YES" to your Makefile. I don't like this solution and
  I've found only one port using this (monodevelop).

> 
> > I've seen also other possible "problem". Your port is using "-O3"
> > and other optimizations, something like:
> > gcc -O3 -pthread -fomit-frame-pointer -D_BSD_SOURCE -DPy_BUILD_CORE
> > -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -o
> > data_module___builtin___abstractinst.o -c
> > data_module___builtin___abstractinst.c
> > -I/usr/ports/pobj/pypy-1.9/pypy-pypy-341e1e3821ff/pypy/translator/c
> > -I/usr/ports/pobj/pypy-1.9/pypy-pypy-341e1e3821ff/pypy/module/cpyext/include
> > -I..-I/usr/local/include -I/usr/local/include
> 
> I think -O3 should be safe in this case - it's the optimisation level
> PyPy uses on a wide number of platforms. Because the code is nearly
> all machine generated, it's easier to work around C compiler bugs.

I've no problems with the default CFLAGS of PyPy but I don't know if
this is considered a good practise on the OpenBSD ports world.

Cheers.

-- 
Juan Francisco Cantero Hurtado http://juanfra.info

Reply via email to