Erik, The array declaration line in the Fortran code is something like
integer,parameter:: fp_kind = kind(0.d0) real(fp_kind) :: v1(3,-n:n) Does this appear to use any Fortran 90-specific features? I also tried declaring the type as Float64, then doing pointer_to_array(v1,3) gives me a 3x1 array of zeros. This is not the expected result of the code, but again, it might be an issue within the Fortran code itself. Adrian, Thank you for the link, there's a lot of useful information in there, although, unfortunately, nothing that I saw relating to my specific problem. In any case, do you know if the example is waiting in a PR somewhere to get into the docs? I agree that it would be very useful. Thanks, Chris On Saturday, January 16, 2016 at 10:59:44 AM UTC-5, Adrian Cuthbertson wrote: > > I happened to make a note of a post some time ago about getting fortran > and julia working together. Searching for that again returned this link: > > > http://julia-programming-language.2336112.n4.nabble.com/example-for-ccall-use-and-fortran-td7737.html > > Hth, Adrian. > > > On Sat, Jan 16, 2016 at 3:32 PM, Chris <[email protected] <javascript:>> > wrote: > >> The Fortran code I'm working with assigns results to a number of global >> variables. One of those results is a 3x1 real array - let's call it v1. >> >> I'm trying to understand how to access this. Here's what I have: >> >> v1 = cglobal((:__libkl_mod_MOD_v1,"libkl.so"),Ptr{Float64}) >> >> This gives me a Ptr{Ptr{Float64}}. I'm not sure what to do from here -- >> using pointer_to_array just gives >> >> julia> pointer_to_array(v1,3) >> 3-element Array{Ptr{Float64},1}: >> Ptr{Float64} @0x0000000000000000 >> Ptr{Float64} @0x0000000000000000 >> Ptr{Float64} @0x0000000000000000 >> >> And then doing an unsafe_load on any of those elements gives me a >> segfault. >> >> Am I taking the right approach here? The Fortran code is not my own, so >> it's possible this is due to an error in that code, but I'm trying to rule >> out Julia interface issues first. >> >> Thanks in advance, >> Chris >> > >
