[NTLK] Developer news...

Steven Frank stevenf at panic.com
Sat Mar 7 23:42:45 EST 2020


> On Mar 4, 2020, at 7:43 AM, Matthias Melcher <m.melcher at robowerk.de> wrote:
> 
> Get Einstein from GitHub, install everything that is required according to einstein/Drivers/README, then open a shell and change into the einstein/Drivers/ subdirectory, type 'make'. [...]
> 
> Ideally, someone with some patience would give this approach a go and write their experiences down in a more verbose README.txt . And I guess I know who this someone is going to be

I've never tried this before, so I decided to give it a shot and report my experience.  :)

The README definitely needs updating.  Here's what it says vs. my experience:

> To compile Einstein.rex, you will need:
> 
> - mosrun from:
> https://code.google.com/p/dynee5/source/browse/#svn%2Ftrunk%2FAlienate%2Fmosrun

The Google link is obsolete and redirects to the 32-bit version of mosrun.

As far as I can tell, what you actually want to do is:

$ git clone git at github.com:MatthiasWM/mosrun.git

> Install it in your $PATH

Well, we have to build it first.  :)

What I did was:

$ cd <mosrun-repository-root>
$ cmake .
$ make

This creates, among other things, a binary named "mosrun".

I have /usr/local/bin in my $PATH for Homebrew, so I just copied "mosrun" to there.

> - NewtonDev package
> http://www.unna.org/view.php?/development/NewtonDev
> Extract it directly in Einstein/ directory.
> 
> You will need a tool to uncompress NewtonDev.sit. On MacOS X, you can use The Unarchiver from the AppStore.

Now that we have my re-packaged version of NewtonDev, we can replace this with:

1. Download https://stevenf.com/downloads/NewtonDev.dmg
2. Double click it to mount the NewtonDev volume
3. Make a directory called "NewtonDev" in <einstein-repository-root>
4. Select all items in the root of the NewtonDev volume and copy them into the new "NewtonDev" folder
5. Eject the NewtonDev volume

Lastly, the current README is missing the last step of actually building the drivers, which is to:

$ cd <einstein-repository-root>/Drivers
$ make

Mine was grinding away for a while but failed with an out of memory (?!) error on the Voyager driver:

--------
mosrun ---run ../NewtonDev/C++/For\ MPW/•\ Put\ into\ MPW\ folder\ •/NCT_Folder/Tools/ARMCpp TSerialChipVoyager.cp -facqy -zo -W -cfront -d hasPCMCIA -d forARM -d TARGET_OS_NEWTON -d NO_ERRNO_H -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:Bootstrap:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:CLibrary:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:CommAPI:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:Communications:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:Frames:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:HAL:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:OS600:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:Packages:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:Power:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:Printing:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:QD:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:Toolbox:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:UtilityClasses:" -i "::NewtonDev:C++:NCT_Projects:DDKIncludes:PCMCIA:" -i "::NewtonDev:C++:NCT_Projects:Includes:" -i "::NewtonDev:C++:NCT_Projects:Includes:Frames:" -i "::NewtonDev:C++:NCT_Projects:Includes:Utilities:" -i "::NewtonDev:C++:NCT_Projects:Includes::NSandDDK:" -i "::" -o TSerialChipVoyager.o
MOSMalloc failed: out of memory
Assertion failed: (0), function mosMalloc, file /Users/stevenf/Documents/Source/matthiaswm-mosrun/memory.cpp, line 112.
make: *** [TSerialChipVoyager.o] Abort trap: 6
make: *** Deleting file `TSerialChipVoyager.o'
--------

So, I got close!  Any idea what this out of memory error is all about?  I have 32 GB  :D

Steven





More information about the NewtonTalk mailing list