IT'S WORKING!

I reinstalled the MinGW-W64 complier with the setup settings:  Architecture 
I686, Threads posix, Exception dwarf (which somehow I didn't see before) 
and now everything is working!  Thanks for all the help

Larry

On Tuesday, July 14, 2015 at 12:30:06 PM UTC-5, LarryD wrote:

> I hope I'm not wearing out my welcome here, but I think I'm getting 
> closer:  I downloaded the MinGW-w64-install.exe file and set it up with 
> some choices that I didn't quite understand.  The ccall function now seems 
> to find the module, but then Julia goes into a tailspin of error messages 
> and has to be crashed.
>
> My installation choices were Architecture - i686 or x86-64, Threads - 
> posix or win32, Exception - she or sjlj. 
>
> Do I have the write installation for the gfortran I need, and if so, what 
> are my choices from the above?
>
> Thanks
>
>
> On Monday, July 13, 2015 at 5:56:47 PM UTC-5, Tony Kelman wrote:
>
>> Where did you compile that from? Maybe you were trying to use the cygwin 
>> version of gfortran instead of the mingw cross-compiler version 
>> (x86_64-w64-mingw32-gfortran) ? That test file and ccall invocation gives 
>> an EXCEPTION_ACCESS_VIOLATION for me, I think you need to pass parameters 
>> by reference.
>>
>> ccall((:__nuts_MOD_foo, "nuts.so"), Int32, (Ref{Int32},), 3)
>>
>> works for me on Julia 0.4-dev, or
>>
>> ccall((:__nuts_MOD_foo, "nuts.so"), Int32, (Ptr{Int32},), &3)
>>
>> on Julia 0.3.
>>
>>
>> On Monday, July 13, 2015 at 3:39:05 PM UTC-7, LarryD wrote:
>>>
>>> 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
>>>>>>
>>>>>>

Reply via email to