+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

Reply via email to