Hi Hazen,

just now I started to include the changes for x19f.f, when I realised
that the label argument poses a bit of a problem: Fortran expects a
hidden argument to hold the actual string length. For the other
interfaces we can circumvent that issue and in the F95 interface
this is solved by using "length" explicitly.

Well, the changes should work, unfortunately I do not have access
right now to a proper build environment to really test it. Please
let me know if there is any trouble.

Regards,

Arjen

On 2009-11-07 23:05, Hazen Babcock wrote:
> 
> Hi Arjen,
> 
> Since I just ran into exactly this problem myself (with mingw on 
> windows)... Should we fix example x19f.f to work with f77? It is in the 
> f77 examples folder so I think it is reasonable for the user to assume 
> that it should be possible to compile this example with a f77 compiler.
> 
> best,
> -Hazen
> 
> Arjen Markus wrote:
>> Hi Werner,
>>
>> the floor function does not exist in FORTRAN 77, so you need
>> to implement it, for instance:
>>
>> *234567
>>        REAL FUNCTION FLOOR(X)
>>        REAL X
>>        FLOOR = FLOAT(INT(X))
>>        RETURN
>>        END
>>
>> The declaration "character*(length) label" is a Fortran 90
>> facility. Use:
>>
>>        character*(*) label
>>
>> This should actually be handled by the C interface (the
>> string length is passed as a hidden argument ...) I do not
>> have time the coming days to look into it closely, but I
>> will try.
>>
>> You can not pass a null pointer (0) in FORTRAN 77. To turn the
>> labeller off, I am afraid you will have to use either a separate
>> routine (call plslabelfuncoff) or use a dummy routine.
>>
>> Regards,
>>
>> Arjen
>>
>> On 2009-09-15 13:47, Werner Smekal wrote:
>>> Hi,
>>>
>>> when I compile the latest revision of PLplot with MinGW 3.4.5  
>>> including the g77 compiler I get the following compiler error:
>>>
>>> Scanning dependencies of target x19f
>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ 
>>> x19f.f.obj
>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude':
>>> E:\plbuild\examples\f77\x19f.f:80: warning:
>>>              times = floor ((abs(lon) + 180.0d0) / 360.0d0)
>>>                      ^
>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL)
>>> E:\plbuild\examples\f77\x19f.f:80:
>>>              times = floor ((abs(lon) + 180.0d0) / 360.0d0)
>>>                      ^
>>> Invalid declaration of or reference to symbol `floor' at (^)  
>>> [initially seen at (^)]
>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler':
>>> E:\plbuild\examples\f77\x19f.f:91:
>>>           subroutine geolocation_labeler(axis, value, label, length)
>>>                                                              1
>>> E:\plbuild\examples\f77\x19f.f:95: (continued):
>>>           character*(length) label
>>>                      2
>>> Invalid declaration of or reference to symbol `length' at (2)  
>>> [initially seen at (1)]
>>> E:\plbuild\examples\f77\x19f.f: In program `x19f':
>>> E:\plbuild\examples\f77\x19f.f:161: warning:
>>>           call plslabelfunc(geolocation_labeler)
>>>                1
>>> E:\plbuild\examples\f77\x19f.f:177: (continued):
>>>           call plslabelfunc(0)
>>>                2
>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is a  
>>> procedure at (1) [info -f g77 M GLOBALS]
>>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj]  
>>> Error 1
>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2
>>> mingw32-make: *** [all] Error 2
>>>
>>> Maybe someone who is more knowledgeable about Fortran can help me 
>>> out  make this example work.
>>>
>>> Thanks,
>>> Werner
>>>
>>> -- 
>>> Dr. Werner Smekal
>>> Institut fuer Allgemeine Physik
>>> Technische Universitaet Wien
>>> Wiedner Hauptstr 8-10
>>> A-1040 Wien
>>> Austria
>>> DVR-Nr: 0005886
>>>
>>> email: sme...@iap.tuwien.ac.at
>>> web:   http://www.iap.tuwien.ac.at/~smekal
>>> phone: +43-(0)1-58801-13463 (office)
>>>         +43-(0)1-58801-13469 (laboratory)
>>> fax:   +43-(0)1-58801-13499
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>  
>>>
>>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>>> is the only developer event you need to attend this year. Jumpstart your
>>> developing skills, take BlackBerry mobile applications to market and 
>>> stay ahead of the curve. Join us from November 9-12, 2009. 
>>> Register now!
>>> http://p.sf.net/sfu/devconf
>>> _______________________________________________
>>> Plplot-devel mailing list
>>> Plplot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel
>>>
>>
>> ------------------------------------------------------------------------------
>>  
>>
>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>> is the only developer event you need to attend this year. Jumpstart your
>> developing skills, take BlackBerry mobile applications to market and 
>> stay ahead of the curve. Join us from November 9-12, 2009. 
>> Register now!
>> http://p.sf.net/sfu/devconf
>> _______________________________________________
>> Plplot-devel mailing list
>> Plplot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/plplot-devel
>>
> 
> 

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to