[squeak-dev] Building Squeak 5.3 on FreeBSD

stes@PANDORA.BE stes at telenet.be
Sun Jan 30 14:38:22 UTC 2022

Hash: SHA256


I compiled OpenSmalltalk cog.squeak.spur 5.0.3141 on FreeBSD 12.3 x64

FreeBSD 12.3 with gcc 10.0.3 or clang 10

I had to ln -s /usr/bin/fgrep /bin/fgrep because the spur64 script,
uses /bin/fgrep which does not exist on this FreeBSD install.

Also what is suspicious : I do not get a pthread_setschedparam() warning
on startup, it seems FreeBSD returns errorcode 0 (success) for that call.
It may work, but seems not so likely that FreeBSD allows a process to change
the scheduling param of the threads.  I don't know. On Linux and Solaris,
you'd have to do something to make pthread_setschedparam() work.

Also for the mvm build script, I have to add -I/usr/local/include:
there is an OpenBSD piece in the mvm script that may apply to FreeBSD as well.

The vm configure step works fine on FreeBSD.

As a test I built both a build/mvm and build.itimer/mvm VM
As far as I understand, this VM can either use libpthread or use itimer

Both VMs also seem very usable, they open a squeak.image fine.
Works fine (which is very good news).

I think you have asked "HOW" to see which tests are failing in TestRunner.

It is an interesting question on "Sunit" the test framework.

I don't know, how I worked for OpenIndiana and Solaris,
is by selecting some groups of tests, then running those tests,
and like that try to isolate and see which tests are failing.

If somebody knows of a better way, please let us know ...

some tests are also failing on OpenIndiana (like #testSocketReuse).

When selecting some KernelTests, I can reproduce a crash or hang on FreeBSD in
AllocationTest (3 tests) but also in SemaphoreTest #testWaitAndWaitTimeoutTogether (11 tests).

For NetworkTests on FreeBSD, SocketTest #testReceiveTimeout hangs (14 tests).
Also SocketStreamTest #testUpToAllTimeout hangs

For the SUnit-Tests on FreeBSD the #testTestTimeout hangs ...

I then built again a threaded VM for FreeBSD with squeak.cog.spur  build
(which links against libpthread).

Again, also for this VM on FreeBSD,
the SUnit-Tests SUnitTest (19 test) #testTestTimeout hangs.

So for both VM (itimer and pthread) the #testTestTimeout seems to hang for me.

Maybe on FreeBSD some timeout values can be tuned, I don't know.

I like the UNIX portability of OpenSmalltalk,
and to me the FreeBSD VM seems usable, with some problems as indicated.

The portability is important but also a lot (huge amount) of work ...

David Stes

Version: GnuPG v2


More information about the Squeak-dev mailing list