Re: [racket-users] Windows Foreign Libraries

2018-03-23 Thread Greg Trzeciak
Another option to check for dependencies (if you have Visual Studio 
installed - VS community edition is free but BULKY) is to run dumpbin from 
console, or better yet VS code since dumpbin is in VS/bin folder.
It is less overwhelming but will check only for one level deep 
dependencies, ie you may need to check for dependencies of dependencies 
individually

Here is an example dump:
C:\Program Files (x86)\Microsoft Visual Studio 14.0>dumpbin /dependents 
e:\RacketProjects\libxslt-ffi\lib\64bit\libxslt-1.dll
Microsoft (R) COFF/PE Dumper Version 14.00.24215.1
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file e:\RacketProjects\libxslt-ffi\lib\64bit\libxslt-1.dll

File Type: DLL

  Image has the following dependencies:

libxml2-2.dll
KERNEL32.dll
msvcrt.dll
libwinpthread-1.dll

  Summary

1000 .CRT
1000 .bss
1000 .data
7000 .debug_abbrev
1000 .debug_aranges
8000 .debug_frame
   71000 .debug_info
C000 .debug_line
   44000 .debug_loc
5000 .debug_ranges
4000 .debug_str
2000 .edata
3000 .idata
2000 .pdata
A000 .rdata
1000 .reloc
   27000 .text
1000 .tls
2000 .xdata

On Friday, March 23, 2018 at 2:52:28 PM UTC+1, Dmitry Pavlov wrote:
>
>
> Second, your dll may refuse to load because some of its dependencies 
> are missing. You may use the freeware Dependency Walker (depends.exe) 
> to find out what is missing. 
>
>
> Regards, 
>
> Dmitry 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Windows Foreign Libraries

2018-03-23 Thread Dmitry Pavlov



On 03/23/2018 03:58 PM, silverfire...@gmail.com wrote:

Really silly question but I was using the rsvg package with racket/gui on Linux 
and everything was working fine.   I moved the code over to windows to try it 
out (after installing the rsvg package there) and it's complaining that 
librsvg-2.2.dll is missing.   I've now tried two separate .dll files in my code 
directory (one that was from the official gnome ftp) and racket throws an error 
that ($1 is not a valid Win32 application) when trying to call (ffi-lib) on it.


Two points:

First, you may want to modify config.rktd in the Racket distribution directory
so that (lib-search-dirs) contains the directory where your dll is located.
This is not needed if you have it in a system directory or load it by full path.

Second, your dll may refuse to load because some of its dependencies
are missing. You may use the freeware Dependency Walker (depends.exe)
to find out what is missing.


Regards,

Dmitry

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Windows Foreign Libraries

2018-03-23 Thread silverfire675
Really silly question but I was using the rsvg package with racket/gui on 
Linux and everything was working fine.   I moved the code over to windows 
to try it out (after installing the rsvg package there) and it's 
complaining that librsvg-2.2.dll is missing.   I've now tried two separate 
.dll files in my code directory (one that was from the official gnome ftp) 
and racket throws an error that ($1 is not a valid Win32 application) when 
trying to call (ffi-lib) on it.

Now I'm going to try building the .dll myself,  but I'm wondering if it's 
possible after I've got a .dll that works if you can somehow connect it 
with the rsvg package so when I compile for distribution in DrRacket it 
automatically includes the .dll I have.  It pretty much already does this 
for all the other gnome libraries racket/gui uses, and it'd be much easier 
than having to manually add it to the libs after it's done compiling.


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.