64-bit hosted on Linux

Mysha · 10665

Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
on: March 16, 2024, 08:14:21 PM
Trial and error will eventually reveal the best answer, but you people may be able to tell me sooner:

I tried to gcc a hello world program. Apparently at the moment I need -fno-common to do so, but though gcc works fine when I ask it for its version, the moment it actually starts compiling something, the entire AROS hosted goes away. There might be something wrong in my set-up.

Checking the nightly builds more closely, I noticed that for pc-i386-contrib, the 32-bit contributions, the description states it as being for hosted as well. But pc-x86_64-contrib, for the 64-bit version, has no such description.

That leaves open the question for 64-bit hosted:
- pc-i386-contrib, which is rather 32-bit, but is at least intended for hosted
or
- pc-x86_64-contrib, which really is for 64-bit, but may not be intended for hosted.

Or is hosted on 64-bit currently not supported in the nightly builds at all?

Bye,
Mysha


magorium

  • Legendary Member
  • *****
    • Posts: 634
    • Karma: +62/-0
  • Convicted non contributor
Reply #1 on: March 16, 2024, 09:19:52 PM
- pc-x86_64-contrib, which really is for 64-bit, but may not be intended for hosted.
The descriptions as listed on the aros.org download pages "for use with the x86_64 native version" should be interpreted as: native is whatever version of AROS you are running as long as the CPU matches, no matter if it is native as in hardware or native as in hosted or native as in virtualized.

The point of view is from the AROS side  ;)

There is an exception and that is if you try to run software that is in any way depending on the presence of certain hardware (or access to it) or otherwise tries to use facilities that are not present on/for hosted (and if there already is such software in contrib then it is very few, but as said, a possibility).


Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #2 on: March 17, 2024, 08:31:26 AM
OK, it's not an error in the selection of builds, then.
I'll continue trialing. (I'm not sure what's wrong, though.)

Bye,
Mysha


magorium

  • Legendary Member
  • *****
    • Posts: 634
    • Karma: +62/-0
  • Convicted non contributor
Reply #3 on: March 17, 2024, 11:49:45 PM
Are you trying to compile something in a native AROS shell ?

If so then try to invoke the sh shell instead (you can do that from within an AROS shell window. Gcc is more a gnu tool, not an AROS native one.

That might perhaps yield better results.

Also note that by default only 64mb (or something to that extend) amount of memory is reserved for AROS. The -m argument can be used to adjust that (or modify the bootstrap configuration file)
« Last Edit: March 18, 2024, 01:16:54 AM by magorium »



Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #4 on: March 18, 2024, 03:11:03 PM
I don't think compiling Hello World will tax the memory space of AROS. But the builds from the 16th seem to behave exactly the same. Yet after my walk, I'll have look at whether a larger memsize would make a difference.
I should get a separate Files: partition to keep the compiling stuff on. Having to keep hauling stuff around to the new disk install every time, bored rather quickly.

If the problem is not with the memsize: Is there anything I'm supposed to do when unpacking AROS somewhere, other than /boot/linux/AROSBootstrap?
« Last Edit: March 18, 2024, 05:00:54 PM by Mysha »

Bye,
Mysha


Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #5 on: March 18, 2024, 05:42:39 PM
OK, if I run under sh shell, I get the exact same behaviour. Setting the space to 256 (MB) does not change a thing. Trying to compile a non-existent file has gcc protest that the file doesn't exist. Trying to compile an icon immediately crashes AROS.

I'm out of possible changes for now. This is the point for everyone to say that gcc works fine on their AROS hosted.

Bye,
Mysha


magorium

  • Legendary Member
  • *****
    • Posts: 634
    • Karma: +62/-0
  • Convicted non contributor
Reply #6 on: March 19, 2024, 08:11:14 PM
I'm out of possible changes for now. This is the point for everyone to say that gcc works fine on their AROS hosted.
The AROS versions as located on www.aros.org do not seem to have a working native gcc compiler for 64-bit AROS.

If I remember correctly it wasn't a priority a decade ago and apparently (still) hasn't been addressed since.


Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #7 on: March 20, 2024, 03:34:03 AM
`Hi,

I'm out of possible changes for now. This is the point for everyone to say that gcc works fine on their AROS hosted.
The AROS versions as located on www.aros.org do not seem to have a working native gcc compiler for 64-bit AROS.

If I remember correctly it wasn't a priority a decade ago and apparently (still) hasn't been addressed since.
&$%&&@^ (Gallic swear word, that I leave untranslated.)
Thank you for letting me know.
So, basically, we're back at the beginning, with the AROS we're testing not even able to compile itself?

1 If we're really that far back, I'd prefer it if we honestly say so somewhere where the tester will notice.
2 Is there a public version or AROS that I can actually use to compile more AROS?

Bye,
Mysha


AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3762
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #8 on: March 20, 2024, 07:55:58 AM
On AROS One x86 you can safely compile with GCC and not only that, there are other compilers as well.

The 64Bit system does not have a large software pool like AROS x86:

http://archives.aros-exec.org/


Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #9 on: March 20, 2024, 02:10:24 PM
&$%&&@^ (Gallic swear word, that I leave untranslated.)
Thank you for letting me know.

Being of Frisian descent, I do actually know some modern English swear words. That I'm referring to French words instead (I would be grateful for the actual words from the origin of Asterix and the Goths.), is that I was burned rather badly by letting my guard down, shortly before re-turning to AROS.

Quote
2 Is there a public version or AROS that I can actually use to compile more AROS?
There's a typo in that one: It's supposed to read "Is there a public version for AROS that I can actually use to compile more AROS?" Even reading it afterwards, I didn't notice, but from the reply, I can see that the reference to stuff one finds at http://aros.org/nightly1.php was lost. Obviously, that site is where we're supposed to get our testing software from, and that where I hope to find a functional GCC. (I just didn't want to cut off other options, but suggesting those is akin to claiming we currently have no working GCC at all.)

Bye,
Mysha


magorium

  • Legendary Member
  • *****
    • Posts: 634
    • Karma: +62/-0
  • Convicted non contributor
Reply #10 on: March 20, 2024, 02:26:00 PM
&$%&&@^ (Gallic swear word, that I leave untranslated.)
Yeah, i am sorry about that. I really thought it was been addressed.

Quote
2 Is there a public version or AROS that I can actually use to compile more AROS?
The general consensus is to use cross-compiling. After all that is what the build of AROS itself uses too. In that regards I can understand that there is not much priority in getting a native compiler to work.

Having said that, if you use the 64-bit hosted downloads for ABIv11 from axrt here (both AROS-linux-x86_64-system.tar.bz2 and AROS-any-x86_64-contrib.tar.bz2) then you can get a native compiler working by extracting the former, then extract the development directory from the latter over the one of system (make sure to overwrite existing files), and also extract the development startup sequence from S directory.

I do not know the exact change but I believe it was from developer: assign to development: assign in the developer startup sequence file that has to be made. Then you can startup hosted, open a shell, then type execute S:developerstartup (or whatever the precise name is) to open up a ABC shell that is able to compile an hello world example.


Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #11 on: March 21, 2024, 04:03:03 PM
&$%&&@^ (Gallic swear word, that I leave untranslated.)
Yeah, i am sorry about that. I really thought it was been addressed.
OK

Quote
The general consensus is to use cross-compiling. After all that is what the build of AROS itself uses too. In that regards I can understand that there is not much priority in getting a native compiler to work.
The idea is that once you have a compiler, however mediocre, you can improve it to your hearts desire. After all, any improvements are just a single compile away from being usable by all.

Quote
Having said that, if you use the 64-bit hosted downloads for ABIv11 from axrt here (both AROS-linux-x86_64-system.tar.bz2 and AROS-any-x86_64-contrib.tar.bz2) then you can get a native compiler working by ...
The problem so far seemed to be to get  a native AROS. Sure, I can put the files for native AROS on a memstick, but what magic is needed to get that running.(Can I do that from the memstick, or do I need to install on the harddisk; will I have to save the current content ...?)

Bye,
Mysha


magorium

  • Legendary Member
  • *****
    • Posts: 634
    • Karma: +62/-0
  • Convicted non contributor
Reply #12 on: March 21, 2024, 11:17:34 PM
The problem so far seemed to be to get  a native AROS. Sure, I can put the files for native AROS on a memstick, but what magic is needed to get that running.(Can I do that from the memstick, or do I need to install on the harddisk; will I have to save the current content ...?)
I am unsure if you are asking that question in the context of the download links that I mentioned or that you ask it in the more general sense of "how do I run AROS on native hardware"

In case the former, the first link contains AROS 64-bit ABIv11 hosted for Linux while the second link contains the contrib archive that contains "native" 64-bit ABIv11 software for AROS. Ergo the same rules apply for running AROS hosted, the only difference is the ABI (and therefor incompatible with (other) software distributed on www.aros.org.

In case the latter there are two options: you an either run AROS inside a VM or directly on AROS supported hardware. Either way there is need to boot the ISO and (in order to circumvent the often failing burning of a CD-ROM) create either an installation of AROS to a HD inside the VM or create a pendrive that you can use to boot of native hardware and allows you to later install AROS to an actual HD of such said hardware.


Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #13 on: March 22, 2024, 08:26:31 AM
The problem so far seemed to be to get  a native AROS. Sure, I can put the files for native AROS on a memstick, but what magic is needed to get that running. ...
... the first link contains AROS 64-bit ABIv11 hosted for Linux while the second link contains the contrib archive that contains "native" 64-bit ABIv11 software for AROS. Ergo the same rules apply for running AROS hosted, the only difference is the ABI (and therefor incompatible with (other) software distributed on www.aros.org. ...

Thanks; I'll have a look whether that can get me started.

Bye,
Mysha


Mysha

  • Junior Member
  • **
    • Posts: 60
    • Karma: +0/-0
Reply #14 on: March 23, 2024, 04:47:37 PM
2 Is there a public version or AROS that I can actually use to compile more AROS?
The general consensus is to use cross-compiling. After all that is what the build of AROS itself uses too. In that regards I can understand that there is not much priority in getting a native compiler to work.
Sure, but regardless of the environment the compiler lives in, it would still have to produce code that would work on an AROS I have access to. (Hm, that would allow for AROS running on the A600, now that I think about it. I wonder ...)

Quote
Having said that, if you use the 64-bit hosted downloads for ABIv11 from axrt here (both AROS-linux-x86_64-system.tar.bz2 and AROS-any-x86_64-contrib.tar.bz2) then you can get a native compiler working by extracting the former, then extract the development directory from the latter over the one of system (make sure to overwrite existing files), and also extract the development startup sequence from S directory.
OK. Running into several problems here. Somehow, it seems my scripts in S: are not being recognised as scripts by the mere fact that they are in S:. I wonder if I miscopied something, or ABIv11 doesn't support that as yet.

Quote
I do not know the exact change but I believe it was from developer: assign to development: assign in the developer startup sequence file that has to be made.
assign developer: system:Development

Quote
Then you can startup hosted, open a shell, then type execute S:developerstartup (or whatever the precise name is) to open up a ABC shell that is able to compile an hello world example.
S:DeveloperShell-Startup

No idea what the ABC shell is supposed to be, but in sh I can indeed compile a hello world example (once I corrected some typos).
Of course, Hello World was not the end to my ambition, and I have yet to find out how to compile something AROS related. For now, I'll try to compile a BASIC translator, as that one is  in C all the way, but it would be nice to be able to compile something more useful.

Bye,
Mysha