Eigenstate: myrddin-dev mailing list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building latest Myrddin doesn't work


Ah. I suspect it's related to a few changes stacking together.

First off, 'make clean' was broken. I wasn't actually listing or removing the
system specific files, so they were staying in place. (Fixed in fa136ee).

Second, thanks to trying to work around perf issues in make (49b3d1b79)
means that the copied files no longer depend on the original files, so
they don't get correctly updated. Oops.

This is a legitimate bug, but using patterns is slow, and short of hardcoding
every file copy (maybe I should?), I'm not sure how to fix it. In the common
case (using mbld) this doesn't matter, since mbld just uses the fully
qualified target files, but it matters for bootstrapping.

And finally, I think there may have been an mbld bug, so if you have an old
version of mbld, you may need to delete it and rebuild it.

Anyways, that's a lot of words to say:

	- make clean should be fixed now.
	- install mbld on your path and use it; building
	  should be smoother with it installed.


On Sun, 8 Mar 2015 20:03:58 -0500
Ryan Gonzalez <rymg19@xxxxxxxxx> wrote:

> It all started when I was trying to build libbio:
> 
> myrbuild -l bio bio.myr puti.myr geti.myr
> 6m bio.myr
> bio.myr:410: Type "byte[:]" incompatible with "std.size" near
> write:(bio.file#, byte[:] -> std.size)
> 
> I figured I might have too old a compiler, so I tried updating it and
> building it, but it fails saying it can't find syswrap-ss.myr. I then tried
> make clean. Still failed.
> 
> After a little investigation, I tried manually copying
> syswrap-ss+posixy-linux.myr as syswrap-ss.myr. Then I got this:
> 
> ../6/6m -I . syswrap-ss.myr
> syswrap-ss.myr:7: Undeclared var sys.exit_group
> 
> Now I'm lost. I'm pretty sure this is related to
> e59b8d11ec241cedc71eb70e67901b7b829bc794:
> 
> commit e59b8d11ec241cedc71eb70e67901b7b829bc794
> Author: Ori Bernstein <ori@xxxxxxxxxxxxxx>
> Date:   Tue Mar 3 11:04:00 2015 -0800
> 
>     Make exit() exit the whole process, portably.
> 
>         OSX and Linux exit system calls are not interchangable.
> 
>         Linux exit() exits the thread, and exit_group() exits the
>         process. OSX exit() exits the process. So, we need to wrap
>         these up into system specific syswrap calls.
> 
>         syswrap+posixy.myr now contains shared system calls, and
>         syswrap-ss+posixy-system.myr contains the ones that have
>         different semantics.
> 
>         The goal is to move emulation (sleep, etc) into there.
> 
> FYI, I recently wrote about the top 5 programming languages you've never
> heard of
> <http://kirbyfan64.github.io/posts/the-top-5-programming-languages-youve-never-heard-of-part-2.html>,
> and I mentioned Myrddin as my favorite low-level language. :)
> 
> -- 
> Ryan
> If I were in a 10-story building glass-sided building and forced to write
> either Go or APL, I’d jump out a window.
> http://kirbyfan64.github.io/



Follow-Ups:
Re: Building latest Myrddin doesn't workRyan Gonzalez <rymg19@xxxxxxxxx>
References:
Building latest Myrddin doesn't workRyan Gonzalez <rymg19@xxxxxxxxx>