Re: WRAPIT issue with .F90 files

From: Walter Hannah <whannah_at_nyahnyahspammersnyahnyah>
Date: Mon Jan 24 2011 - 11:50:32 MST

I just figured it out!!! Apparently WRAPIT doesn't like when you use
".F90", but instead wants ".f90". In other words you can't use a capitol
"F" in the file extension! I wonder if this is specific to my machine
though? It seems so weird that this would be an issue, unless its just
intrinsic to how WRAPIT was developed.

Thanks for all the help,
Walter

Mingxuan Chen wrote:
>
> I use WRAPIT with f90 without problems.
> for f90
> WRAPIT ex90.stub ex.f90
>
> Mingxaun
>
> On Jan 24, 2011, at 10:43 AM, Walter Hannah wrote:
>
>> I made an alias to point to a 64-bit version of WRAPIT but I still get
>> the same error, and I tried using WRAPIT on the same files directly on
>> my 32-bit machine, so it seems that its not a 32/64 bit problem after
>> all. I tried Mingxuan's suggestion of changing the name of the stub file
>> to ex90.stub, but this also had no effect.
>>
>> Could this be a bug in the version of NCL? the version I'm using is
>> 5.2.1.
>>
>> Thanks,
>> Walter
>>
>> Dennis Shea wrote:
>>> Hi Walter,
>>>
>>> I think maybe a 32/64 issue. I had no issues.
>>>
>>> I created a .so using f77 and f90 both with the stub file
>>> you provided.
>>>
>>> %> WRAPIT -fPIC -pg walter.ex.stub walter.ex77.f
>>> %> WRAPIT -fPIC -pg walter.ex.stub walter.ex90.f90
>>>
>>> The test driver was:
>>>
>>> ;external EX "./walter.ex77.so"
>>> external EX "./walter.ex90.so"
>>>
>>> begin
>>> i = 5
>>> x = 1.3
>>> print("before i = " + i)
>>> print("before x = " + x)
>>> EX:: ex(i,x)
>>> print("after i = " + i)
>>> print("after x = " + x)
>>> end
>>>
>>> The output is
>>>
>>>
>>> (0) before i = 5
>>> (0) before x = 1.3
>>> (0) after i = 10
>>> (0) after x = -11.045
>>> ==================================
>>> Note that the f90 version of your code was named: walter.ex90.f90
>>>
>>> SUBROUTINE EX (II,XX)
>>> INTEGER :: II
>>> REAL :: XX
>>>
>>> II = II + 5
>>> XX = XX - 12.345
>>> RETURN
>>> END
>>>
>>>
>>> On 01/24/2011 09:22 AM, Walter Hannah wrote:
>>>> Hi,
>>>>
>>>> When I use WRAPIT on a Fortan 77 file I have no problems, but when
>>>> I try
>>>> to do it on a Fortran 90 file using the seperate stub file I get this
>>>> output:
>>>>
>>>> /
>>>>> WRAPIT ex.stub ex.F90
>>>>
>>>> WRAPIT Version: 091416
>>>> /opt/pgi/linux86-64/10.5/bin/pgf90
>>>> LINKING
>>>> /usr/bin/ld: WRAPIT.o: relocation R_X86_64_32 against `.rodata.str1.1'
>>>> can not be used when making a shared object; recompile with -fPIC
>>>> WRAPIT.o: could not read symbols: Bad value
>>>> END WRAPIT/
>>>>
>>>>
>>>> When I use the -fPIC option WRAPIT seems to make the shared object ok,
>>>> but then when I run this NCL file:
>>>>
>>>> ex.ncl:
>>>>
>>>> /external EX "./ex.so"
>>>>
>>>> begin
>>>> i = 5
>>>> x = 1.3
>>>> print("before i = " + i)
>>>> print("before x = " + x)
>>>> EX:: ex(i,x)
>>>> print("after i = " + i)
>>>> print("after x = " + x)
>>>> end
>>>>
>>>> /I get this output:
>>>>
>>>> /warning:An error occurred loading the external file ./ex.so, file not
>>>> loaded
>>>> ./ex.so: undefined symbol: ex_
>>>> warning:error at line 1 in file ex.ncl
>>>>
>>>> fatal:syntax error: line 8 in file ex.ncl before or near :
>>>> EX:
>>>> ----^
>>>>
>>>> fatal:error in statement
>>>> fatal:Syntax Error in block, block not executed
>>>> fatal:error at line 11 in file ex.ncl
>>>> /
>>>>
>>>> I'm guessing that this might be a 32-bit vs 64-bit issue, since I'm
>>>> on a
>>>> 32 bit machine and ssh'ing onto a 64-bit machine. If I use the Fortran
>>>> 77 version that is found on the WRAPIT help page, everything works
>>>> fine.
>>>> Any ideas why this might be happening?
>>>>
>>>> Here are the Fortran files,
>>>>
>>>> ex.F90:
>>>> /
>>>> SUBROUTINE EX (II,XX)
>>>> INTEGER II
>>>> REAL XX
>>>>
>>>> II = II + 5
>>>> XX = XX - 12.345
>>>> RETURN
>>>> END/
>>>>
>>>>
>>>> ex.stub:
>>>>
>>>> /C NCLFORTSTART
>>>> SUBROUTINE EX (II,XX)
>>>> INTEGER II
>>>> REAL XX
>>>> C NCLEND
>>>>
>>>>
>>>> /Thanks,
>>>> Walter
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> ncl-talk mailing list
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>
>>>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Jan 24 11:50:42 2011

This archive was generated by hypermail 2.1.8 : Tue Jan 25 2011 - 14:22:15 MST