[Newbies] [squeak-dev] FFI and mpfr calls in squeak

Marcel Taeumel marcel.taeumel at hpi.de
Thu Aug 13 11:21:29 UTC 2020

Hi Lawson.

>  I think: the mpfr library uses the gmp library. So how does one do THAT with squeak?

You don't. Your operating system does that for you. Well, the same lookup rules for that dependent library apply, I suppose. Do you have the gmp library installed in your system?

Yes, not having all dependent libraries does raise that "external module not found" error, too. It can be confusing.

Working with FFI requires knowledge about working with shared libraries in your operating system. It's one of those "leaky abstractions" where Squeak is -- understandably -- not able to hold your hand for all kinds of configurations out there. :-)

You can try using a debug-build VM, which produces a more descriptive error log.

Am 13.08.2020 12:11:53 schrieb LawsonEnglish <lenglish5 at cox.net>:
So I tested a simple mandelbrot set rendering algorithm using the ArbitraryPrecisionFloat package and it works just fine, but terribly slowly.

So I had the idea of using mpfr via FFI and find that I can’t even begin.

I’m getting the dreaded External module not found error and just can’t get rid of it.

I thought I was taking the easy route and simply copying the mpfr library into the Squeak all-in-one Resources directory but no matter what I try, that error pops up.

initPrecision: aDefaultPrecision
“initialize default precision"

^self externalCallFailed

This is roughly the “hello world” of using mpfr, I thought, but can’t even do that.

Now, waiting in the wings is a bigger problem, I think: the mpfr library uses the gmp library. So how does one do THAT with squeak? Compile both libraries into a single target? (yikes!).

That might be an issue later on, but the impression I’m getting is that squeak simply can’t find libmpfr.6.dylib, so errors that result from calling a second library from the first haven’t even popped up yet.

Squeak5.3-19435-64bit, Mac OS X 10.15.6



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/beginners/attachments/20200813/6fbabfc6/attachment.html>

More information about the Beginners mailing list