Re: [racket] Windows FFI Problem

2015-01-17 Thread Lehi Toskin
On Fri, 16 Jan 2015 11:40:38 -0800, Ben Goetter wrote: > On 1/16/2015 11:00 AM, Lehi Toskin wrote: >> Good news is it's giving me a new error! Yay! "%1 is not a valid Win32 >> application.; errno=193" > > This is /the/ classical 32-versus-64-bit mismatch error. Most likely, > once of the DLLs th

Re: [racket] Windows FFI Problem

2015-01-17 Thread Dmitry Pavlov
Lehi, I have checked and double checked the 32/64-bitness of both the library and the Racket installation and they are definitely the same... It appears that specific error I am getting is caused by the fact that "mylib.dll" depends on other DLL's to compile that it wasn't locating when the rac

Re: [racket] Windows FFI Problem

2015-01-16 Thread Gustavo Massaccesi
The System32 folder is for 64 bits dll's. You must put the 32 bits dll's in the SysWOW64. (Lucky they drop the support for the 16 bits applications.) I'm not sure were you should put 32 bits dll's that have to be called by 64 bit programs. It's a mess, and when you have to install something manual

Re: [racket] Windows FFI Problem

2015-01-16 Thread Ben Goetter
On 1/16/2015 11:00 AM, Lehi Toskin wrote: Good news is it's giving me a new error! Yay! "%1 is not a valid Win32 application.; errno=193" This is /the/ classical 32-versus-64-bit mismatch error. Most likely, once of the DLLs that your DLL in turn depends on is loading in the wrong flavor. B

Re: [racket] Windows FFI Problem

2015-01-16 Thread Lehi Toskin
On Fri, 16 Jan 2015 10:19:38 -0700, Matthew Flatt wrote: > Along the lines of these suggestions, you could try using an absolute > path to the DLL. > > If an absolute path works, then it's probably an issue of the search > path for DLLs, and using `define-runtime-path` might be the best > approac

Re: [racket] Windows FFI Problem

2015-01-16 Thread Matthew Flatt
Along the lines of these suggestions, you could try using an absolute path to the DLL. If an absolute path works, then it's probably an issue of the search path for DLLs, and using `define-runtime-path` might be the best approach. If an absolute path doesn't work, then it might be a mismatch betw

Re: [racket] Windows FFI Problem

2015-01-16 Thread Michael Wilber
Does this work if you place the .DLL in the same directory as the Racket executable? What if it's placed in your System32 folder? If you need to put the library in a nonstandard path (I think putting the .dll in the same folder as the .rkt script is nonstandard), try registering the DLL. See http

Re: [racket] Windows FFI Problem

2015-01-16 Thread Deren Dohoda
I can't recall for certain but I may have run across this when the dll was compiled as 32 bit but Racket was 64 bit. Deren On Jan 16, 2015 12:25 AM, "Lehi Toskin" wrote: > On Thu, 15 Jan 2015 18:55:41 -0700, Matthew Flatt wrote: > > > At Thu, 15 Jan 2015 22:10:35 + (UTC), Lehi Toskin wrote:

Re: [racket] Windows FFI Problem

2015-01-15 Thread Dmitry Pavlov
I am attempting to use this C library I've written with the Racket FFI, but (ffi-lib "mylib") reports "The specified module could not be found.; errno=126". This only happens on Windows. On Linux the library gets loaded properly and I can use it fine. What could be the problem? The problem co

Re: [racket] Windows FFI Problem

2015-01-15 Thread Lehi Toskin
On Thu, 15 Jan 2015 18:55:41 -0700, Matthew Flatt wrote: > At Thu, 15 Jan 2015 22:10:35 + (UTC), Lehi Toskin wrote: >> I am attempting to use this C library I've written with the Racket FFI, >> but (ffi-lib "mylib") reports "The specified module could not be >> found.; >> errno=126". This only

Re: [racket] Windows FFI Problem

2015-01-15 Thread Matthew Flatt
At Thu, 15 Jan 2015 22:10:35 + (UTC), Lehi Toskin wrote: > I am attempting to use this C library I've written with the Racket FFI, > but (ffi-lib "mylib") reports "The specified module could not be found.; > errno=126". This only happens on Windows. On Linux the library gets > loaded properl

[racket] Windows FFI Problem

2015-01-15 Thread Lehi Toskin
I am attempting to use this C library I've written with the Racket FFI, but (ffi-lib "mylib") reports "The specified module could not be found.; errno=126". This only happens on Windows. On Linux the library gets loaded properly and I can use it fine. What could be the problem? signature.asc De