AxRuntime

deadwood · 23731

AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3755
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #75 on: March 06, 2022, 11:17:10 AM
In my distribution certainly more than 90% are amiga components, even the desktop is different. The base is still aros. So what is it now?

The same could potentially be with Linux.You have aros desktop, you have lots of technologies in it that are from aros but the base is linux and there is software in it from linux. What is it now?

If it feels & looks like amiga people will be happy. I am against any ideologic discussions here. Who not like it will not use it. Simply as that


AROS must not look like AMiGA, it must be AROS and it must walk on its own feet.

In my AROS 68k I try to use as little as possible of Amiga software, only the indispensable and I would like it to become totally native AROS 68k in the future.

If I have to add AMiGA software on AROS 68k, I might as well use directly the new Amiga OS3.2, AfA One or Amikit !


OlafS3

  • Legendary Member
  • *****
    • Posts: 544
    • Karma: +50/-8
Reply #76 on: March 06, 2022, 12:23:07 PM
As I already wrote to Salvo everybody is free to do what he likes

nobody has to do something or use something

that is true for myself too



Amiwell

  • Legendary Member
  • *****
    • Posts: 2616
    • Karma: +35/-4
  • Peace
Reply #77 on: March 06, 2022, 12:33:38 PM
But as Deadwood said he will not die anything with regards to ABIV0 and ABIV11 :)



cdimauro

  • Member
  • ***
    • Posts: 164
    • Karma: +26/-1
Reply #78 on: March 06, 2022, 02:14:57 PM
In my distribution certainly more than 90% are amiga components, even the desktop is different. The base is still aros. So what is it now?

The same could potentially be with Linux.You have aros desktop, you have lots of technologies in it that are from aros but the base is linux and there is software in it from linux. What is it now?

If it feels & looks like amiga people will be happy. I am against any ideologic discussions here. Who not like it will not use it. Simply as that


AROS must not look like AMiGA, it must be AROS and it must walk on its own feet.

In my AROS 68k I try to use as little as possible of Amiga software, only the indispensable and I would like it to become totally native AROS 68k in the future.

If I have to add AMiGA software on AROS 68k, I might as well use directly the new Amiga OS3.2, AfA One or Amikit !
"must" "must" "must"...


You can do whatever you want, but don't talk about other people: everybody has a personal, legit opinion.




AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3755
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #79 on: March 06, 2022, 02:54:20 PM

You can do whatever you want, but don't talk about other people: everybody has a personal, legit opinion.

I am not in the habit of talking about people, where did you read this ? I just expressed my thoughts.

---- Italiano -----

Non è mia abitudine parlare delle persone, dove hai letto questo ? io ho solo espresso il mio pensiero.


cdimauro

  • Member
  • ***
    • Posts: 164
    • Karma: +26/-1
Reply #80 on: March 06, 2022, 11:44:42 PM
"must" -> AROS developers should do (only) what you said.


Anyway, deadwood already expressed his opinion / vision, and I agree.



deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1524
    • Karma: +118/-0
Reply #81 on: March 07, 2022, 12:17:52 AM
@Everyone

As I said each of us has their own preference and I respect and support all of them. Please stay on topic of this thread and move the discussion on preferences to another thread or private messages.



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3755
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #82 on: March 07, 2022, 12:45:58 AM
"must" -> AROS developers should do (only) what you said.


Anyway, deadwood already expressed his opinion / vision, and I agree.

You misinterpreted my English, it was just my opinion "in my opinion" no it was directed to the developers !

--- Italiano ----

Hai interpretato male il mio inglese, era solo la mia opinione "a mio parere" no era diretto agli sviluppatori !


magorium

  • Legendary Member
  • *****
    • Posts: 632
    • Karma: +62/-0
  • Convicted non contributor
Reply #83 on: March 07, 2022, 08:13:31 AM
I assume FPC can compile executables for Linux and can open ELF shared object (dlopen-like)? Is that they case?
Your assumption there is correct :)

Quote
If yes, would you be interested in working together to see if FPC can use AxRuntime under Linux?
I am interested. Though having said that, i do anticipate that to be somewhat of a (undiscovered) journey which would also require a lot of tweaking/work from my end (so could take a while). As long as that is not a problem for you....

Quote
Many of the things that you mentioned are effect of dual-run nature (being started from Linux and from within AxRuntime). For first iteration for Pascal, things should be fairly easy IMHO and it would help me greatly to validate that AxRuntime can be used from another language.
It's exactly the dual-run nature that has me worried :-) In basics FPC supports only one type of target a time to compile for (ABI/OS wise).

For the rest it sounds good. I'll make some preparations and get back to you.


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1524
    • Karma: +118/-0
Reply #84 on: March 07, 2022, 09:00:40 AM

For the rest it sounds good. I'll make some preparations and get back to you.

Great! Please setup your Ax build directly from source: https://github.com/deadw00d/AROS/blob/alt-runtime/INSTALL.md. Once you are ready, please either start a thread here or email me directly :)



magorium

  • Legendary Member
  • *****
    • Posts: 632
    • Karma: +62/-0
  • Convicted non contributor
Reply #85 on: March 08, 2022, 06:25:54 AM
Sorry for the delayed reaction cdimauro. I simply lost track of your message.

IPC is a broad term: it's a general term to indicate that two or more processes can communicate.

How is it done is the tricky stuff, and strictly depends on how it's implemented.
It is for sure, but i hope my reply is able to make it a bit more practical.

Quote
Amiga o.s. uses message passing on a fully-shared address space, with all goods (superfast) and bad things (no security / no ownership / no solidity) that can happen.
For Amiga it is indeed fairly easy to accomplish because there is hardly any protection whatsoever. Even if you do follow the guidelines you can mess with things.

But, i was talking specifically in the case of axrt, but it does not have to end there.

As deadw00d wrote, each and every AROS program (when started with axrt) uses its own (linux) address space. As such the ipc requires to follow the linux guideline with regards to IPC.

Quote
I don't now the IPC implementation that you talked about, but I assume that it's a form of message passing, mapping those messages to the various processes' virtual memory spaces (not necessarily on the same virtual addresses), and probably some sort of marshalling (otherwise it's difficult to see how your mentioned languages can communicate, since they are very different).
Let's make it a bit more practical then. It is just a (simple) example, but please have a look here (https://wiki.lazarus.freepascal.org/SimpleIPC_Library). If i remembered correctly then you did not seem shy of a bit of Pascal code, so please do follow the github link and take a look at the code.

In the end it is just a generic library and simply offers a generic API that can be used for every platform/programming language. You can make such thing as complicated and/or simple as one wish it to be.

Quote
However marshalling means also slow, especially if you want to pass complex structures. It also means that the existing Amiga applications require could requite notable changes to use this new mechanism.
For sure it is/can be. But how do modern programs use IPC ? Take note that there are several programs that even do this kind of things using networked connections (either local, lan or wan) and that there are several protocols each and everyone with their own individual pros and cons.

In the specific instance that i've made my remark i was more thinking along the line of being compliant (from a outside point of view) rather then suggesting each and every program that wants IPC should make use of it. As you pointed out perfectly, Amiga OS has it's own proofed and tested implementation(s) that for sure will have more pros than cons.

The only other way i am able to see a implementation that might be a better solution (but would require more work) is a complete implemented VM for the axrt, so that the vm can decide what each individual axrt process is allowed/disallowed to do. So there  would have to be provisions (read extra layer inside the vm) for that.

But perhaps you have another and/or better idea ?


magorium

  • Legendary Member
  • *****
    • Posts: 632
    • Karma: +62/-0
  • Convicted non contributor
Reply #86 on: March 08, 2022, 09:14:20 AM
Great! Please setup your Ax build directly from source: https://github.com/deadw00d/AROS/blob/alt-runtime/INSTALL.md. Once you are ready, please either start a thread here or email me directly :)
Sorry for the inconvenience but i seem to have stumbled upon a bump in the road already  ???

I've followed the instructions from github in order to compile axrt and checked with wanderer, which outputted:

Quote
<<INFO>>: AxRT 41.1
<<INFO>>: Using absolute paths.
<<INFO>>: AXRT_ROOT environment variable set
<<INFO>>: RUNTIME_ROOT: /home/magorium/bin/AXRT/
<<INFO>>: AXRTSYS     : ROOT:home/magorium/bin/AXRT/
<<INFO>>: USERSYS     : ROOT:home/magorium/.axrt/
Illegal instruction

However, I _did_ do some modification for my setup, that differs from the github instructions.

For the configure setup i copied the files/dirs as mentioned to the .axrt directory in my homedir (*)

Then i copied all files/dirs from myrepo/alt-runtimelinux-x86_64-d/bin/runtimelinux-x86_64/AROS/* to ~/bin/AXRT/* in order to accommodate my preferred setup. (*) and exported the AXRT_ROOT variable accordingly.

So the question would then become: is the illegal instruction due to my custom setup or .... ?

TIA


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1524
    • Karma: +118/-0
Reply #87 on: March 08, 2022, 12:06:43 PM
Exporting of AXRT_ROOT seems fine. I think there are problems with content of ~/.axrt directory.

Do the following

Code: [Select]
$ cd myrepo/alt-runtimelinux-x86_64-d/
$ make runtime-package-deb-libaxrt

The navigate to: myrepo/alt-runtimelinux-x86_64-d/bin/runtimelinux-x86_64/gen/boot/libaxrt-4.0/usr/lib/x86_64-linux-gnu/axrt/4.0. The directories you see there should be copied to ~/bin/AXRT. Delete ~/.axrt. One you start Wanderer, runtime will detect you are missing USERSYS and should copy it automatically to ~/.axrt.




magorium

  • Legendary Member
  • *****
    • Posts: 632
    • Karma: +62/-0
  • Convicted non contributor
Reply #88 on: March 08, 2022, 12:25:54 PM
@deadw00d:
Thx for the quick response.


Instructions executed, resulting in exactly the same error when starting Wanderer.


The .axrt directory is indeed 'created' automagically (with contents).


I copied the directories as instructed but was not sure if i needed to clear the destination directory from its existing dirs/files first, so i overwrite all existing dirs/files. Just mentioning it in case it matters.


The error as presented, is that an error as generated by the axrt runtime environment or an actual cpu illegal instruction ?


TIA


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1524
    • Karma: +118/-0
Reply #89 on: March 08, 2022, 12:31:15 PM
Actually how I work most of the time, I point AXRT_ROOT to myrepo/alt-runtimelinux-x86_64-d/bin/runtimelinux-x86_64/AROS/ so I don't need to copy anything.

Let's find out what is the problem. Point the AXRT_ROOT as I mentioned above for now and run gdb:

Code: [Select]
$ gdb ./Wanderer