+SciPy list
On Sat, Aug 5, 2017 at 7:24 AM, Jeff Layton <layto...@att.net
<mailto:layto...@att.net>> wrote:
Good afternoon!
I'm trying to build a Python module using F2PY on a simple Fortran
code using the PGI 17.4 community compilers.
I'm using Conda 4.3.21 with Python 2.7.13 and F2PY 2. The command
line I'm using is,
f2py --compiler=pg --fcompiler=pg -c -m mdevice mdevice.f90
The output from f2py is at the end of the email. Any suggestions
are greatly appreciated.
--compiler=pg seems wrong, that specifies the C/C++ compiler to use
not the Fortran compiler. Hence you get the error "don't know how to
compile C/C++ code on platform 'posix' with 'pg' compiler". Try just
leaving that off (thereby using the default C compiler you have
installed, probably gcc).
Ralf - thanks for the response! I had tried that before and F2PY still
thinks it's using the PGI C compiler:
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands
--compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands
--fcompiler options
running build_src
build_src
building extension "mdevice" sources
f2py options: []
f2py:> /tmp/tmpkxCUbk/src.linux-x86_64-2.7/mdevicemodule.c
creating /tmp/tmpkxCUbk/src.linux-x86_64-2.7
Reading fortran codes...
Reading file 'mdevice.f90' (format:free)
Post-processing...
Block: mdevice
Block: devicequery
In: :mdevice:mdevice.f90:devicequery
get_useparameters: no module cudafor info used by devicequery
Post-processing (stage 2)...
Building modules...
Building module "mdevice"...
Constructing wrapper function "devicequery"...
devicequery()
Wrote C/API module "mdevice" to file
"/tmp/tmpkxCUbk/src.linux-x86_64-2.7/mdevicemodule.c"
adding '/tmp/tmpkxCUbk/src.linux-x86_64-2.7/fortranobject.c' to sources.
adding '/tmp/tmpkxCUbk/src.linux-x86_64-2.7' to include_dirs.
copying
/home/laytonjb/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c
-> /tmp/tmpkxCUbk/src.linux-x86_64-2.7
copying
/home/laytonjb/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.h
-> /tmp/tmpkxCUbk/src.linux-x86_64-2.7
build_src: building npy-pkg config files
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize PGroupFCompiler
Found executable /opt/pgi/linux86-64/pgidir/pgf90
Found executable /opt/pgi/linux86-64/pgidir/pgf77
Found executable /opt/pgi/linux86-64/17.4/bin/pgfortran
customize PGroupFCompiler using build_ext
building 'mdevice' extension
compiling C sources
C compiler: /opt/pgi/linux86-64/pgidir/pgcc -fno-strict-aliasing -g -O2
-DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC
creating /tmp/tmpkxCUbk/tmp
creating /tmp/tmpkxCUbk/tmp/tmpkxCUbk
creating /tmp/tmpkxCUbk/tmp/tmpkxCUbk/src.linux-x86_64-2.7
compile options: '-I/tmp/tmpkxCUbk/src.linux-x86_64-2.7
-I/home/laytonjb/anaconda2/lib/python2.7/site-packages/numpy/core/include
-I/home/laytonjb/anaconda2/include/python2.7 -c'
pgcc: /tmp/tmpkxCUbk/src.linux-x86_64-2.7/mdevicemodule.c
pgcc-Error-Unknown switch: -fno-strict-aliasing
pgcc-Error-Unknown switch: -fwrapv
pgcc-Error-Unknown switch: -Wall
pgcc-Error-Unknown switch: -Wstrict-prototypes
pgcc-Error-Unknown switch: -fno-strict-aliasing
pgcc-Error-Unknown switch: -fwrapv
pgcc-Error-Unknown switch: -Wall
pgcc-Error-Unknown switch: -Wstrict-prototypes
error: Command "/opt/pgi/linux86-64/pgidir/pgcc -fno-strict-aliasing -g
-O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC
-I/tmp/tmpkxCUbk/src.linux-x86_64-2.7
-I/home/laytonjb/anaconda2/lib/python2.7/site-packages/numpy/core/include
-I/home/laytonjb/anaconda2/include/python2.7 -c
/tmp/tmpkxCUbk/src.linux-x86_64-2.7/mdevicemodule.c -o
/tmp/tmpkxCUbk/tmp/tmpkxCUbk/src.linux-x86_64-2.7/mdevicemodule.o"
failed with exit status 1
I'm definitely at a lose here. I have no idea how to make F2PY work with
the PGI compilers. I'm beginning to think F2PY is completely borked
unless you use the defaults (gcc).
Thanks!
Jeff
Thanks!
Jeff
Output from f2py:
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands
--compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands
--fcompiler options
running build_src
build_src
building extension "mdevice" sources
f2py options: []
f2py:> /tmp/tmptN1fdp/src.linux-x86_64-2.7/mdevicemodule.c
creating /tmp/tmptN1fdp/src.linux-x86_64-2.7
Reading fortran codes...
Reading file 'mdevice.f90' (format:free)
Post-processing...
Block: mdevice
Block: devicequery
In: :mdevice:mdevice.f90:devicequery
get_useparameters: no module cudafor info used by devicequery
Post-processing (stage 2)...
Building modules...
Building module "mdevice"...
Constructing wrapper function "devicequery"...
devicequery()
Wrote C/API module "mdevice" to file
"/tmp/tmptN1fdp/src.linux-x86_64-2.7/mdevicemodule.c"
adding '/tmp/tmptN1fdp/src.linux-x86_64-2.7/fortranobject.c' to
sources.
adding '/tmp/tmptN1fdp/src.linux-x86_64-2.7' to include_dirs.
copying
/home/laytonjb/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c
-> /tmp/tmptN1fdp/src.linux-x86_64-2.7
copying
/home/laytonjb/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.h
-> /tmp/tmptN1fdp/src.linux-x86_64-2.7
build_src: building npy-pkg config files
running build_ext
error: don't know how to compile C/C++ code on platform 'posix'
with 'pg' compiler
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org <mailto:NumPy-Discussion@python.org>
https://mail.python.org/mailman/listinfo/numpy-discussion
<https://mail.python.org/mailman/listinfo/numpy-discussion>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion