[f2py] Compiling/linking the Fortran source files manually
Ben Forbes
bdforbes at gmail.com
Tue Apr 26 11:55:44 EEST 2011
No, I believe there is still a mangling issue. Python gives an error
along the lines of "can't find inithelloworld()".
On Tue, Apr 26, 2011 at 6:50 PM, Pearu Peterson
<pearu.peterson at gmail.com> wrote:
>
>
> On 04/26/2011 11:33 AM, Ben Forbes wrote:
>> Okay I had copied intel.py in the same directory, so it was loading it twice.
>>
>> I changed
>>
>> 'linker_so' : ['<F90>', "-shared"],
>>
>> to
>>
>> 'linker_so' : ['<F90>', "/dll"],
>>
>> but it's still putting it in the wrong place:
>>
>> C:\Program Files (x86)\Intel\Compiler\11.1\067\bin\intel64\ifort.exe
>> /dll /dll foomodule.o fortranobject.o helloworld.o -LC:\Python27\libs
>> -LC:\Python27\PCbuild\amd64 -lpython27 /OUT:.\foo.pyd
>>
>> The /dll flag needs to be after /link, right at the end. Is this a
>> flaw with distutils?
>
> This is new to me. Can you give a reference for this condition?
>
> Note that there are two '/dll' in row, just in case it matters..
>
> I don't see any '/link' option in the above command.
>
> Finally, when you execute the command above with the right order
> of all options, will foo.pyd be OK? Can you import it and call it from
> Python?
>
> Pearu
>
>>
>> On Tue, Apr 26, 2011 at 6:26 PM, Ben Forbes<bdforbes at gmail.com> wrote:
>>> I'm attempting to implement that, but there's suddenly another problem:
>>>
>>> C:\Users\bdforbes\pyfor\simple_f2py>f2py -c -m foo helloworld.f90
>>> --fcompiler=intelvem
>>> Forcing DISTUTILS_USE_SDK=1
>>> Traceback (most recent call last):
>>> File "C:\Python27\Scripts\f2py-script.py", line 24, in<module>
>>> main()
>>> File "C:\Python27\lib\site-packages\numpy\f2py\f2py2e.py", line 561, in main
>>> run_compile()
>>> File "C:\Python27\lib\site-packages\numpy\f2py\f2py2e.py", line 447,
>>> in run_compile
>>> fcompiler.load_all_fcompiler_classes()
>>> File "C:\Python27\lib\site-packages\numpy\distutils\fcompiler\__init__.py",
>>> line 736, in load_all_fco
>>> mpiler_classes
>>> fcompiler_aliases[alias][1].__name__))
>>> ValueError: alias 'ifort' defined for both IntelFCompiler and IntelFCompiler
>>>
>>> I can't remember what changed to make this happen.
>>>
>>>
>>> On Tue, Apr 26, 2011 at 5:58 PM, Pearu Peterson
>>> <pearu.peterson at gmail.com> wrote:
>>>>
>>>>
>>>> On 04/26/2011 10:49 AM, Ben Forbes wrote:
>>>>> Modifying PATH makes it find the 64-bit compiler now. However, I'm
>>>>> still getting the same issues with the compiler and linker flags:
>>>>>
>>>>> ifort: command line warning #10006: ignoring unknown option '/shared'
>>>>> ifort: command line warning #10006: ignoring unknown option '/shared'
>>>>> ifort: command line warning #10006: ignoring unknown option '/LC:\Python27\libs'
>>>>> ifort: command line warning #10006: ignoring unknown option
>>>>> '/LC:\Python27\PCbuild\amd64'
>>>>> ifort: command line warning #10006: ignoring unknown option '/lpython27'
>>>>> ifort: command line warning #10006: ignoring unknown option '/OU'
>>>>> ifort: command line warning #10006: ignoring unknown option '/OT'
>>>>> ifort: command line warning #10155: ignoring option '/optimize';
>>>>> argument required
>>>>> ifort: command line warning #10006: ignoring unknown option '/O.'
>>>>> ifort: command line warning #10006: ignoring unknown option '/O\'
>>>>> ifort: command line warning #10006: ignoring unknown option '/Of'
>>>>> ifort: command line warning #10006: ignoring unknown option '/Oo'
>>>>> ifort: command line warning #10006: ignoring unknown option '/Oo'
>>>>> ifort: command line warning #10006: ignoring unknown option '/O.'
>>>>> ifort: command line remark #10010: option '/Op' is deprecated and will
>>>>> be removed in a future release.
>>>>> See '/help deprecated'
>>>>> ifort: command line warning #10148: option '-Oy' not supported
>>>>
>>>> They are all warnings and therefore can be ignored... except
>>>> that '/shared' and '/lpython27' options should be fixed.
>>>> Consult the compiler help to find out how to properly
>>>> specify these options and modify intel.py accordingly.
>>>>
>>>> HTH,
>>>> Pearu
>>>>
>>>> _______________________________________________
>>>> f2py-users mailing list
>>>> f2py-users at cens.ioc.ee
>>>> http://cens.ioc.ee/mailman/listinfo/f2py-users
>>>>
>>>
>>>
>>>
>>> --
>>> Benjamin D. Forbes
>>> School of Physics
>>> The University of Melbourne
>>> Parkville, VIC 3010, Australia
>>>
>>
>>
>>
>
> _______________________________________________
> f2py-users mailing list
> f2py-users at cens.ioc.ee
> http://cens.ioc.ee/mailman/listinfo/f2py-users
>
--
Benjamin D. Forbes
School of Physics
The University of Melbourne
Parkville, VIC 3010, Australia
More information about the f2py-users
mailing list