/r/inferno
/r/inferno
I've recently installed 9front (the 2024-04-28 release) so I can get a hosted install the 9ferno fork of Inferno up and running. The problem is that it errors out when building the emulator.
The following is the output of mk install
(I copied the git repository to /usr/9ferno):
term% mk install
@{builtin cd lib9 ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libbio ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libmp ; mk $MKFLAGS $stem}
@{builtin cd port ; mk SYSTARG=9front OBJTYPE=amd64 install}
mk: 'install' is up to date
@{builtin cd libsec ; mk $MKFLAGS $stem}
@{builtin cd port ; mk SYSTARG=9front OBJTYPE=amd64 install}
mk: 'install' is up to date
@{builtin cd 9front-amd64 ; mk SYSTARG=9front OBJTYPE=amd64 install}
mk: 'install' is up to date
@{builtin cd libmath ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd utils/iyacc ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd limbo ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libinterp ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libkeyring ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libdraw ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libprefab ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libtk ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libfreetype ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libmemdraw ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libmemlayer ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd libdynld ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd utils/data2c ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd utils/ndate ; mk $MKFLAGS $stem}
mk: 'install' is up to date
@{builtin cd emu ; mk $MKFLAGS $stem}
@{builtin cd 9front ; mk $MKFLAGS $stem}
6c '-DROOT="/usr/9ferno"' -DEMU -I. -I../port -I/usr/9ferno/9front/amd64/include -I/usr/9ferno/include -I/usr/9ferno/libinterp -wFV -I/usr/9ferno/9front/amd64/include -I/usr/9ferno/9front/include -I/usr/9ferno/include -I. ../port/devdraw.c
../port/devdraw.c:36 macro redefined: IOUNIT
6c '-DROOT="/usr/9ferno"' -DEMU -I. -I../port -I/usr/9ferno/9front/amd64/include -I/usr/9ferno/include -I/usr/9ferno/libinterp -wFV -I/usr/9ferno/9front/amd64/include -I/usr/9ferno/9front/include -I/usr/9ferno/include -I. ../port/main.c
mk: 6c '-DROOT="/usr/9ferno"' ... : exit status=6c 14638: error
warning: ../port/main.c:234 used and not set: i
warning: ../port/main.c:383 set and not used: str
../port/main.c:468 external redeclaration of: sysfatal
GLOBL FUNC(IND CHAR, DOT) VOID ../port/main.c:468
GLOBL FUNC(IND CHAR, DOT) NORET VOID /sys/include/libc.h:446 /usr/9ferno/9front/amd64/include/../../include/lib9.h:5 /usr/9ferno/9front/amd64/include/lib9.h:1 ../port/dat.h:35 ../port/main.c:1
mk: echo '@{builtin cd' ... : exit status=rc 14632: mk 14634: error
mk: for (j in ... : exit status=rc 14566: mk 14631: error]
To be honest, I have no idea why mk
is failing, only that it's failing at the emulator target.
The title
I have a school project that is asking me to add two commands to "the control file served by devprog". The assignment is the two commands and I can somewhat parse devprog.c but I'm stuck on the first sentence, what is the control file served by devprog?
Is there a version of SQLite, MySQL, MariaDB, PostgreSQL that can run natively on Infero.
Does Limbo have drivers / interfaces for MySQL, MariaDB, PostgreSQL?
Just wanted to give a heads up for anyone who might be interested that the hard copies are up on eBay in the UK. If you wanted to collect them, I don’t think Vita Nuova has been selling them for some years.
Hello,
Dear Inferno users, is it possible when binding /cmd from other machine, to run "os bash" session from it interactvely?
https://www.youtube.com/watch?v=00dKNrbVW38
Followed the steps here
After I use the command prompt, it tells me emu is not recognized as an internal or external command, operable program or batch file
What should I do?
Hi,
so I recently stumbled upon Plan 9, Inferno and Limbo. I really liked the idea of a distributed OS, and a kernel that is a VM for a CISC-like assembly.
Anyway, I just wanted to ask for some recommendations where I can learn more about this stuff, and maybe a little bit unrelated, about the Limbo programming language (I planned to learn Go but Limbo looks so much better). I planned to install Inferno on my computer, maybe on a raspberry pi, are there anythings I need to know about it?
Thanks for ant help!
Hi, I'm trying to build an Inferno kernel for a Raspberry Pi 3.
I've seen this tutorial: http://lynxline.com/projects/labs-portintg-inferno-os-to-raspberry-pi/ but it seems to be for the original Raspberry Pi - not the Pi 3.
When I go to the bitbucket repo referred to in the above: https://bitbucket.org/infpi/inferno-rpi/downloads/ and download the latest release to a formatted SD card, the Pi 3 won't boot. So I figured this was not meant for the Pi 3.
In the meantime I've been trying to compile the kernel here: https://github.com/skilbjo/inferno-os on a macOS Sierra host.
I changed the env vars for mkconfig (https://github.com/skilbjo/inferno-os/blob/master/mkconfig)
ROOT=/Users/skilbjo/dev/inferno-os
SYSTARG=Inferno
OBJTYPE=arm
SYSTYPE=posix
and mkmake.sh (https://github.com/skilbjo/inferno-os/blob/master/makemk.sh), ie
ROOT=/Users/skilbjo/dev/inferno-os
# Except for building kernels, SYSTARG must always be the same as SYSHOST
SYSHOST=MacOSX # build system OS type (Hp, Inferno, Irix, Linux, MacOSX, Nt, Plan9, Solaris)
SYSTARG=Inferno # target system OS type (Hp, Inferno, Irix, Linux, Nt, Plan9, Solaris)
but it fails with this error:
lib9 compilation failed
Any ideas how to get this wonderful operating system working on a Raspberry Pi?
Hi,
I wonder if Limbo does support polymophism. I Couln't find anything about it, but neither could I find anything about parametric types, and these are supported aswell :) to illustrate the problem, here is a sample programm:
implement Poly;
Poly : module {
init: fn(nil: ref Draw->Context, nil: list of string);
};
include "sys.m";
sys: Sys;
include "draw.m";
Point: adt{
x: int;
y: int;
getx: fn(p: self Point): int;
gety: fn(p: self Point): int;
setx: fn(p: self Point, x: int);
sety: fn(p: self Point, y: int);
print: fn(p: self Point);
};
Point.getx(p: self Point): int{
return p.x;
}
Point.gety(p: self Point): int{
return p.y;
}
Point.setx(p:self Point, x :int){
p.x=x;
}
Point.sety(p:self Point, y :int){
p.y=y;
}
Point.print(p:self Point){
sys->print("Point\n");
}
Circle: adt{
r: int;
c: Point;
print: fn(c: self Circle);
};
Circle.print(c:self Circle){
sys->print("Circle\n");
}
init(nil: ref Draw->Context, nil: list of string)
{
sys = load Sys Sys->PATH;
p := Point(0,0);
p.print();
c := Circle(1,p);
c.print();
# So, .print(); works on both.
# Now, can i get polymorphism? Something like
# l : printable
# l = p :: c;
# So I can call them like this:
while (l != nil){
(hd l).print();
l = tl l;
}
sys->print(" %d\n",p.gety());
}
From my understanding anyone who would care about Plan 9 should be more interested in Inferno