Hi Leo,

On 25/02/16 17:16, 'Leo Allen' via PyFR Mailing List wrote:
> Traceback (most recent call last):
>   File "/home/User/PyFR/env4/bin/pyfr", line 9, in <module>
>     load_entry_point('pyfr==1.3.0', 'console_scripts', 'pyfr')()
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 109,
> in main
>     args.process(args)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 230,
> in process_run
>     args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 214,
> in _process_common
>     solver = get_solver(backend, rallocs, mesh, soln, cfg)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/__init__.py", line
> 14, in get_solver
>     return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/__init__.py",
> line 26, in get_integrator
>     return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/controllers.py",
> line 14, in __init__
>     super().__init__(*args, **kwargs)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/steppers.py",
> line 9, in __init__
>     super().__init__(*args, **kwargs)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/base.py", line
> 41, in __init__
>     self.system = systemcls(backend, rallocs, mesh, initsoln, nreg, cfg)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/base/system.py", line
> 59, in __init__
>     self._gen_kernels(eles, int_inters, mpi_inters, bc_inters)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/base/system.py", line
> 167, in _gen_kernels
>     kernels[pn, kn].append(kgetter())
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/euler/elements.py",
> line 70, in <lambda>
>     f=self._vect_upts
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/base/backend.py",
> line 154, in kernel
>     return kern(*args, **kwargs)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/base/kernels.py",
> line 162, in kernel_meth
>     fun = self._build_kernel(name, src, list(it.chain(*argt)))
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/util.py", line 34, in __call__
>     res = cache[key] = self.func(*args, **kwargs)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/provider.py",
> line 13, in _build_kernel
>     mod = GccSourceModule(src, self.backend.cfg)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py",
> line 61, in __init__
>     super().__init__(src, cfg)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py",
> line 30, in __init__
>     lname = self._build(tmpdir)
>   File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py",
> line 80, in _build
>     call_capture_output(cmd + self._cflags, cwd=tmpdir)
>   File
> "/home/User/PyFR/env4/lib/python3.4/site-packages/pytools/prefork.py",
> line 197, in call_capture_output
>     return forker[0].call_capture_output(cmdline, cwd, error_on_nonzero)
>   File
> "/home/User/PyFR/env4/lib/python3.4/site-packages/pytools/prefork.py",
> line 54, in call_capture_output
>     % ( " ".join(cmdline), e))
> pytools.prefork.ExecError: error invoking 'gcc -shared -std=c99 -Ofast
> -march=native -fopenmp -fPIC -o libtmp.so tmp.c': [Errno 11] Resource
> temporarily unavailable

Here is your error.  Cygwin does not seem to be able to correctly
emulate the position independent nature of shared libraries that is
required by the C/OpenMP backend.  Instead it appears to have to rebase
.so's (much like Windows usually does with .dll's) with the shared
libraries themselves being position dependent.

The need to explicitly rebase shared libraries does not chime well with
dynamic compilation approached used by PyFR.

It is quite possibly less work to get the C/OpenMP backend working
natively with Microsoft Windows than it is to work around these defects
in Cygwin.  The CUDA backend has been reported to work successfully and
so only a few minor changes related to the eager deletion of shared
libraries should be required.

Regards, Freddie.


-- 
You received this message because you are subscribed to the Google Groups "PyFR 
Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send an email to [email protected].
Visit this group at https://groups.google.com/group/pyfrmailinglist.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to