I'm afraid I'm not getting anywhere. I decided to forget the SilverFrost compiler and go with gfortran, attempting to mimic the examples I've found online. My test Fortran code is
!fileName = nuts.f95 module nuts integer none contains function foo(i) integer :: i, foo foo = i + 3 end function foo end module nuts I compiled with gfortran nuts.f95 -o nuts.so -shared -fPIC and got the warning message f951.exe: warning: -fPIC ignored for target (all code is position independent). Since a nuts.so file was generated I tried the ccall: (my working direcfory is c:\users\larry\juliastuff) ccall((:__nuts_MOD_foo, "C:\\Users\\Larry\\JuliaStuff\\nuts.so"), Int32, (Int32,), 3) and got the error message error compiling anonymous: could not load module C:\Users\Larry\JuliaStuff\nuts.so: The specified module could not be found. Clearly I'm doing some thing(s) wrong. Why am I getting the Fortran warning that nobody else gets, and why can't ccall find the module? Thanks in advance for your time and patience with a newbie. Larry On Saturday, July 11, 2015 at 12:31:44 PM UTC-5, Tony Kelman wrote: > I've never heard of that compiler, which surprises me a little. It looks > like it's primarily for 32 bit Windows, so you'll need to use a 32 bit > version of Julia to call into shared libraries built using that compiler. > If you have access to the Fortran source you could also try rebuilding with > the more common open-source MinGW-w64 version of gfortran, for either 32 or > 64 bit Windows. If you only have access to compiled binaries, are they > shared libraries (dlls) or static libraries? If they're dll's, you can try > looking at them using Dependency Walker to see what the exported symbol > names are, then call them according to the "interfacing with C and Fortran" > documentation. If you only have static libraries, you could try calling the > linker to build a shared library out of them. > > > On Saturday, July 11, 2015 at 6:36:30 AM UTC-7, Stefan Karpinski wrote: >> >> In general, the only issues with calling Fortran involve calling >> convention incompatibility with C. There's a fairly old issue about >> implementing fcall <https://github.com/JuliaLang/julia/issues/2167> (cf >> ccall), which natively emits calls using the Fortran calling convention. >> Have you tried calling code compiled with this compiler and had problems? >> >> On Saturday, July 11, 2015, LarryD <[email protected]> wrote: >> >>> I'm just starting to learn Julia, so I apologize for dumb questions. >>> Does anybody have experience calling stuff written in SilverFrost Fortran >>> from Julia? Thanks. >>> >>> LarryD >>> >>>
