Matthew,

unsafe-extfllong_double_mult: unsupported on this platform

FWIW, my actual program is a C program that uses a Racket library
obtained with raco ctool. I can provide you more details and a
reproducible example if the above is not enough to hunt down
the cause.

I think the problem is that "longdouble.dll" is not found by Racket as
embedded in your C program. As I recall, you're using some new support
to gather DLLs needed for an embedding, so probably "longdouble.dll" is
gathered into the right directory, but Racket isn't looking there when
trying to load it.

In fact, longdouble.dll is not being put into the "runtime" directory
by raco ctool. All the other relevant libs (libeay32, libgmp-10,
libmpfr-4, ssleay32) are there in the
"runtime\lib\plt\generic\exts\ert\r2\Program Files\Racket\lib\"
subdirectory.

One funny thing is that this particular compiled program actually
does not use extflonums during execution. racket/extflonum is
(require)-d for some macros and functions, but they are not called.

Maybe not putting 'longdouble.dll' there was a right decision
in this case. Or it was not, because how the (eval)-aware
compiler can know which functions are going to be called and which
are not. I am not sure.

The more interesting thing is that the 'longdouble.dll' is not put
into the runtime directory by 64-bit Racket, too. Still, the 64-bit
program works without any additional effort.


I think you'll need to call scheme_set_dll_path(), which should be
exported by the libracket DLL, but it isn't currently declared in
"scheme.h".

  __declspec(dllimport) void scheme_set_dll_path(wchar_t *s);

and provide the path containing "longdouble.dll".

Thanks, that has helped for 32-bit program.



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.

Reply via email to