Looking to get a general grasp on who all is currently running enig
public boards -- would love if you can respond with your board name
and address/port if you're running one!
Hi NuSkooler,
Looking to get a general grasp on who all is currently running enig
public boards -- would love if you can respond with your board name
and address/port if you're running one!
I wanted to give enigma on M68K linux, but there was to many '-m32' statements in node.js that it just got to anoying to go further! 80(
I wanted to give enigma on M68K linux, but there was to many
'-m32' statements in node.js that it just got to anoying to go
further! 80(
Would M68K fast performant enough to run a nodejs program?
Just out of curiosity, can you explain the '-m32' problem? I thought
it is a gcc parameter for compiling 32-bit on 64-bit systems (like old
BBS software that would break on 64-bit). Is it used in nodejs or do
you have to add it? Do you cross-compile?
Would M68K fast performant enough to run a nodejs program?
Dunno, that was one of the reasons to try... @-)
Just out of curiosity, can you explain the '-m32' problem? I thought
it is a gcc parameter for compiling 32-bit on 64-bit systems (like old
BBS software that would break on 64-bit). Is it used in nodejs or do
you have to add it? Do you cross-compile?
gcc (Debian 12.2.0-12) 12.2.0 was saying "Unknown option" or to that effect. It was last year when I tyied, and after so many of them showing
up through the compiling process I gave up. (Ie: I'd remove that option
and start again, only for another one to show up.)
This was done with no cross-compile, directly on the machine.
This was done with no cross-compile, directly on the machine.
Twas Saturday, January 14th when vorlon said...
This was done with no cross-compile, directly on the machine.
This is likely the culprit for at least the -m32 issue; that compiler wouldn't have the flag supported. You can try stripping it out of the module(s) make files.
Are these external dependencies? Why are there -m32 parameters in the make files in the first place? Is this a problem of packaging or is it a nodejs m68k bug?
I looked it up again and -m32 is mainly an option for amd64 and tells
gcc to compile for x86 (32bit / i386 / i686). It's not valid for m68k
(or arm or most other machines).
The performance of the emulated m68k binaries seems to be 4 to 6 times slower than native x86, which is not that bad and should be fast
enough for BBSing. It is also a simple setup for compiling and testing portability. Not as much fun as running everything on real retro
hardware (e.g. Amiga) though.
This was done with no cross-compile, directly on the machine.
This is likely the culprit for at least the -m32 issue; that compiler wouldn't have the flag supported. You can try stripping it out of the module(s) make files.
Are these external dependencies? Why are there -m32 parameters in the
make files in the first place? Is this a problem of packaging or is it
a nodejs m68k bug?
Hi Oli,
Are these external dependencies? Why are there -m32 parameters in the
make files in the first place? Is this a problem of packaging or is it
a nodejs m68k bug?
I think you'll find it just the way node.js is put together. Even though the platform list contains a range of Architectures, the list mainly contains intel based cpu's with some arm/ppc.
https://github.com/nodejs/node/blob/main/BUILDING.md#platform-list
There is also this statement: "For production applications, run Node.js on supported platforms only."
I assumed nodejs is C++ software that would compile on any Linux arch,
but I guess the V8 Javascript engine does some low-level stuff that needs be ported to every CPU architecture. The V8 Website mentions: x86, Arm, MIPS, PPC64, s390, RISC-V and Loong64. Not much support for legacy or big-endian platforms.
Maybe it's somehow possible to get it running, but I haven't found a package in Linux distros or NetBSD old or non-mainstream CPUs. No old Mac PowerPC, m68k, Arm or MIPS big-endian.
I assumed nodejs is C++ software that would compile on any Linux arch, but I guess the V8 Javascript engine does some low-level stuff that needs be ported to every CPU architecture. The V8 Website mentions: x86, Arm, MIPS, PPC64, s390, RISC-V and Loong64. Not much support for legacy or big-endian platforms.
Not much support for legacy or big-endian platforms.
All PPC, most MIPS and some ARM systems are big-endian.
Hello Digital!
15 Jan 23 12:25, you wrote to Oli:
Not much support for legacy or big-endian platforms.
All PPC, most MIPS and some ARM systems are big-endian.
I've read that some or all ARM chips can be switched to work in either mode.
Hello Digital!
15 Jan 23 12:25, you wrote to Oli:
Not much support for legacy or big-endian platforms.
All PPC, most MIPS and some ARM systems are big-endian.
I've read that some or all ARM chips can be switched to work in either mode.
Vorlon wrote (2023-01-16):
Hello Digital!
15 Jan 23 12:25, you wrote to Oli:
Not much support for legacy or big-endian platforms.
All PPC, most MIPS and some ARM systems are big-endian.
All three architectures are big-endian AND little-endian.
midnight coffee: https://midnightcoffee.org ssh://ssh.midnightcoffee.org:31323 (new/new to apply)
Unfortunately nodejs will most likely never run on m68k.
I've read that some or all ARM chips can be switched to work in
either mode.
Yeah, MIPS processors are like that too, but while in my experience
most ARM systems run little-endian, most MIPS systems run big-endian.
midnight coffee:
https://midnightcoffee.org
ssh://ssh.midnightcoffee.org:31323 (new/new to apply)
Hi Spaceman,
midnight coffee: > https://midnightcoffee.org >I know your trying to get the look of a old school CRT, but it's very
Not much support for legacy or big-endian platforms.
All PPC, most MIPS and some ARM systems are big-endian.
All three architectures are big-endian AND little-endian.
I've written code for a lot of PPC-based systems, not one has ever been little-endian. I do see they now exist, but appear to be pretty rare.
Similarly, all the MIPS-based systems I've developed for have been big-endian.
All PPC, most MIPS and some ARM systems are big-endian.
I've read that some or all ARM chips can be switched to work in either mode.
I've written code for a lot of PPC-based systems, not one has ever been little-endian. I do see they now exist, but appear to be pretty rare.
Hello Digital Man!
I've read that some or all ARM chips can be switched to work in either mode.
Yeah, MIPS processors are like that too, but while in my experience most ARM systems run little-endian, most MIPS systems run big-endian.
And it catches many people out... #-0)
Btw: would SBBS compile and work on M68K Linux?
In fact, many of them can select at right-time, by setting^^^^^^^^^^ run-time. Sigh.
a bit in a control register. It can even vary based on the
target of a branch.
Unfortunately nodejs will most likely never run on m68k.
It was just a excuse to see if it would... If I could program, then it would have been something to do... Alas, I'm not...
Unfortunately nodejs will most likely never run on m68k.
It was just a excuse to see if it would... If I could program, then it would have been something to do... Alas, I'm not...
I'm glad you did. I was not aware that nodejs / V8 is so damn picky
about the CPU. I thought it would compile on any Linux / BSD. But unfortunately that is the way the web devs / companies are heading for quite some time. Creating libraries and web sites / apps on monstrous JavaScript frameworks. Wasting so much resources that you need very performant JS engines and faster computers. They don't see why you want
to run nodejs on legacy devices, especially not on very very old retro computers like an Amiga ;).
The problem with V8 is that it's
jitting to native object code; so unless you've got a backend
for that, it won't run on your platform.
I'm a bit surprised there isn't a fallback to either a
portable p-code or just straight-up interpreter.
Btw: would SBBS compile and work on M68K Linux?
Re: enigma on M68K linux
By: vorlon to Digital Man on Thu Jan 19 2023 12:03 pm
Btw: would SBBS compile and work on M68K Linux?
The chance of that might increase if there is already a Spider Monkey (Javascript Environment) available on M68K?
Looking to get a general grasp on who all is currently running enig public boards -- would love if you can respond with your board name and address/port if you're running one!
Which SpiderMonkey version is required? Wiki says 1.8.5 for 3.16 IIRC. Older versions are in Debian, newer versions don't build on m68k AFAIK.
Re: enigma on M68K linux
By: Oli to deon on Fri Jan 20 2023 04:20 pm
Which SpiderMonkey version is required? Wiki says 1.8.5 for 3.16
IIRC. Older versions are in Debian, newer versions don't build on
m68k AFAIK.
I think 1.8.5 IIRC.
I've read that some or all ARM chips can be switched to work in
either mode.
In fact, many of them can select at right-time, by setting
a bit in a control register. It can even vary based on the
target of a branch.
On 19 Jan 2023 at 12:03p, vorlon pondered and said...
Btw: would SBBS compile and work on M68K Linux?
I don't see why it wouldn't, provided you can find a recent
enough OS and toolchain. The problem with V8 is that it's
jitting to native object code; so unless you've got a backend
for that, it won't run on your platform
I'm glad you did. I was not aware that nodejs / V8 is so damn picky
about the CPU. I thought it would compile on any Linux / BSD. But unfortunately that is the way the web devs / companies are heading for
They don't see why you want to run nodejs on legacy devices, especially
not on very very old retro computers like an Amiga ;).
Btw: would SBBS compile and work on M68K Linux?
The chance of that might increase if there is already a Spider Monkey (Javascript Environment) available on M68K?
Hello Digital Man!
I've read that some or all ARM chips can be switched to work in
either mode.
Yeah, MIPS processors are like that too, but while in my experience
most ARM systems run little-endian, most MIPS systems run big-endian.
And it catches many people out... #-0)
Btw: would SBBS compile and work on M68K Linux?
All PPC, most MIPS and some ARM systems are big-endian.
Believe it or not, LE PPC exists!
The chance of that might increase if there is already a Spider Monkey (Javascript Environment) available on M68K?
Which SpiderMonkey version is required? Wiki says 1.8.5 for 3.16 IIRC. Older versions are in Debian, newer versions don't build on m68k AFAIK.
I've read that some or all ARM chips can be switched to work in
either mode.
In fact, many of them can select at right-time, by setting
a bit in a control register. It can even vary based on the
target of a branch.
That's what I read, but it didn't say what model/version...
In fact, many of them can select at right-time, by setting
a bit in a control register. It can even vary based on the
target of a branch.
That's what I read, but it didn't say what model/version...
On 19 Jan 2023 at 12:03p, vorlon pondered and said...
Btw: would SBBS compile and work on M68K Linux?
I don't see why it wouldn't, provided you can find a recent
enough OS and toolchain. The problem with V8 is that it's
jitting to native object code; so unless you've got a backend
for that, it won't run on your platform
I'm running the following, and as others have now posted java/javascript is the limiting factor now.
Linux m68k 6.1.0-1-m68k #1 Debian 6.1.4-1 (2023-01-07) m68k GNU/Linux "Debian GNU/Linux bookworm/sid"
Believe it or not, LE PPC exists!
So I hear! :-)
Is there a modern M68K system available (to buy) that'll run a
modern linux?
Btw: would SBBS compile and work on M68K Linux?
Certainly not as-is (we don't fully support any big endian targets
today). Is there a modern M68K system available (to buy) that'll run a modern linux?
Emu68 (the one for the PiStorm) is using the big-endian mode for it's
m68k emulation.
Linux m68k 6.1.0-1-m68k #1 Debian 6.1.4-1 (2023-01-07) m68k
GNU/Linux "Debian GNU/Linux bookworm/sid"
That's a pretty recent Linux, all right. I don't see why
the C++ bits wouldn't compile, but Digital Man would obviously
know a lot more than me about this.
Real hardware? There are some FPGA solutions and a bare metal emulator
on Raspberry Pi (Emu68, PiStorm). I doubt that they are a good
solution for running Linux.
The java bits would be the issue, and the Bit-wise of the code in Sync.
The java bits would be the issue, and the Bit-wise of the code in
Sync.
Synchronet uses Java? Or do you mean finding a suitable JavaScript
engine? Those two are rather different. :-)
I thought someone said that SpiderMonkey 1.8.5 was in the Debian
package repos for 68k Linux?
I thought someone said that SpiderMonkey 1.8.5 was in the Debian package repos for 68k Linux?
I said that, but I was wrong.
Ah. Too bad. I wonder how hard it would be to get it
to compile.
Ah. Too bad. I wonder how hard it would be to get it
to compile.
About this hard (This is the show stopper):
[snip]
jsutil.h:120:81: error: size -1 of array js_static_assert61 is negative 120 | typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
425 | JS_STATIC_ASSERT(sizeof(StackSegment) % sizeof(Value) == 0);
Ah. Too bad. I wonder how hard it would be to get it
to compile.
About this hard (This is the show stopper):
make[4]: Entering directory '/home/vk3heg/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src'
jsoplengen.cpp
jsanalyze.cpp
In file included from jsval.h:48,
from jspubtd.h:47,
from jsprvtd.h:57,
from jscntxt.h:55,
from jsanalyze.h:45,
from jsanalyze.cpp:40:
jsutil.h:120:81: error: size -1 of array js_static_assert61 is negative
120 | typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
|
Ah. Too bad. I wonder how hard it would be to get it
to compile.
About this hard (This is the show stopper):
make[4]: Entering directory
120 | typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
Just use the libmozjs-1.8.5-dev package (or similar) that's included
with the distro (if there is one), rather than trying to use/build the
one included in the Synchronet git repo.
Just use the libmozjs-1.8.5-dev package (or similar) that's included
with the distro (if there is one), rather than trying to use/build the
one included in the Synchronet git repo.
There is none.... and this machhine is uptodate as of today...
vk3heg@m68k:~/talisman$ sudo apt-get install libmozjs-1.8.5-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libmozjs-1.8.5-devE:
Couldn't find any package by glob 'libmozjs-1.8.5-dev'
E: Couldn't find any package by regex 'libmozjs-1.8.5-dev'
Looking to get a general grasp on who all is currently running enig
public boards -- would love if you can respond with your board name and address/port if you're running one!
I almost know what I'm doing.fC
Sysop: | Tetrazocine |
---|---|
Location: | Melbourne, VIC, Australia |
Users: | 5 |
Nodes: | 8 (0 / 8) |
Uptime: | 142:28:36 |
Calls: | 56 |
Files: | 21,500 |
Messages: | 71,602 |