Oberon Community Platform Forum
November 20, 2019, 07:35:05 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: OMG the compiler is like 5 times faster now!  (Read 21902 times)
soren renner
Global Moderator
Full Member
*****
Posts: 216



« on: August 28, 2012, 10:45:43 PM »

UnixAos from the ethz repository, which i mirror at https://code.google.com/p/ethz-oberon-repository-mirror/ , used to take 5 minutes and some seconds to recompile the whole system.

Now it compiles in 51 seconds.
Logged
leledumbo
Jr. Member
**
Posts: 96



WWW
« Reply #1 on: September 02, 2012, 02:17:31 PM »

OnPulling();

EDIT: I forgot that I've moved to Linux permanently. How to install from this pulled repository? I've created aos.linux executable but no idea how to build and install the whole UnixAOS Embarrassed
« Last Edit: September 02, 2012, 03:43:33 PM by leledumbo » Logged
gfeldm
Newbie
*
Posts: 29


« Reply #2 on: September 03, 2012, 01:53:10 PM »

Creating the system from the sources is described in UnixAos. Please look at

  Docu -> UnixAos Build.

If you want to create a new executable 'aos.linux' make sure to create it as a
32-bit binary even if you want to run it on a 64-bit system. A 64-bit binary wouldn't
work! Fortunately a new executable is normally not needed.

-- Günter
Logged
leledumbo
Jr. Member
**
Posts: 96



WWW
« Reply #3 on: September 03, 2012, 03:54:15 PM »

OK, now I have:

aos.linux
source -> ../trunk/source
Tools -> Unix/buildtools
Unix -> ../trunk/UnixAos

upon executing aos.linux, I got:
Kernel: Initialized and started.
UnixFiles.Initialize: environment variable AOSPATH not defined

Assuming AOSPATH is this directory, I add and export the environment variable. Now I got:
Aos BootLoader: boot file LinuxAosCore not found

Do I need a previously working system? I already have one though from UnixAOS downloaded from:
http://www.informatik.uni-bremen.de/~fld/UnixAos/rev.4878/
If it's required, how can I use this existing system to build the new one?
Logged
soren renner
Global Moderator
Full Member
*****
Posts: 216



« Reply #4 on: September 03, 2012, 05:04:00 PM »

Start aos. Docu main menu; UnixAos Build button. Follow the instructions.
Logged
gfeldm
Newbie
*
Posts: 29


« Reply #5 on: September 03, 2012, 05:14:30 PM »

It is not necessary but much easier to have LinuxAos installed before.

Please have a look into the start script 'aos' or it's template './system/aos.templ' in the torball LinuxAos.tgz.

The environment variable AOSPATH needs at least the following entries:
     1)  "." the current working directory
     2)  "installdir/obj"  contains LinuxAosCore and *.Obj of the system
     3)  "installdir/system" all the other files *.Text, *.png, ...
     4)  "installdir/fonts" the font files.

In A2 and WinAOS the files of 2, 3 and 4 all reside in the same directory. You can do that for
UnixAos as well but I separated them for easier maintenance.

There is also another environment variable AOSCONFIG for supplying boot parameters. The parameters
considered by UnixAos are documented in the script aos.

-- Günter
Logged
leledumbo
Jr. Member
**
Posts: 96



WWW
« Reply #6 on: September 04, 2012, 07:44:04 AM »

Quote
Start aos. Docu main menu; UnixAos Build button. Follow the instructions.
I've done that using my previously installed UnixAOS, and these:
Quote
OK, now I have:

aos.linux
source -> ../trunk/source
Tools -> Unix/buildtools
Unix -> ../trunk/UnixAos
are the result of following the first part of the instructions. Now this:
Quote
Aos BootLoader: boot file LinuxAosCore not found
is what happens when I want to continue the next part because it requires aos to execute first (how can I execute Release XXX ~ when I'm not in it?). Do you see where my problem is now?

Quote
Please have a look into the start script 'aos' or it's template './system/aos.templ' in the torball LinuxAos.tgz.

The environment variable AOSPATH needs at least the following entries:
     1)  "." the current working directory
     2)  "installdir/obj"  contains LinuxAosCore and *.Obj of the system
     3)  "installdir/system" all the other files *.Text, *.png, ...
     4)  "installdir/fonts" the font files.

In A2 and WinAOS the files of 2, 3 and 4 all reside in the same directory. You can do that for
UnixAos as well but I separated them for easier maintenance.

There is also another environment variable AOSCONFIG for supplying boot parameters. The parameters
considered by UnixAos are documented in the script aos.
OK, I'll try tonight.
Logged
leledumbo
Jr. Member
**
Posts: 96



WWW
« Reply #7 on: September 06, 2012, 04:36:34 PM »

@gfeldm:
OK, your instruction seems to be from existing installation. I'll make it direct and step-by-step.
First question: How do I generate LinuxAosCore? Assume that I don't have UnixAOS previously installed and the only executable I have is aos.linux. I started to think that the system is designed to be bootstrapped, so I'll need an existing one nevertheless, but that's another case.
Logged
gfeldm
Newbie
*
Posts: 29


« Reply #8 on: September 07, 2012, 02:07:31 PM »

To bootstrap UnixAos you need at least a running Aos system (A2, WinAos or UnixAos). The programs
involved by the bootstrap are the release builder (creates the CompileCommand.Tool), the compiler
(for compiling the system sources) and the linker for creating the statically linked LinuxAosCore.

You find the instructions how to do it in the aos repository at ETHZ:  aos/trunk/source/UnixAos.Tool

If you have UnixAos installed you open that tool by clicking  Docu -> UnixAos Build.

-- Guenter

Logged
leledumbo
Jr. Member
**
Posts: 96



WWW
« Reply #9 on: September 08, 2012, 08:21:57 AM »

OK, now I see it. So, to update, from my existing installation, I need to to go to the freshly pulled repo, and executes the instructions from there. I haven't read any further after the stopper point, I hope there's an instruction to update the existing installation as well...
Logged
leledumbo
Jr. Member
**
Posts: 96



WWW
« Reply #10 on: September 08, 2012, 10:32:58 PM »

Update:

Release.Build LinuxAOS executed and generates CompileCommand.Tool, executing the tool I end up with:
Quote
SystemVersion.Mod error: failed to open
Indeed, the file seems to be missing (or obsolete). I try removing the file and another .Mod is missing (Unix.StdIO). Now if I try to remove it as well the compilation stops with the following:
Quote
Unix.Traps.Mod@645      error: could not import StdIO
Unix.Traps.Mod  error: A2.Traps could not be compiled (checker errors).
I can't continue from here.
Logged
gfeldm
Newbie
*
Posts: 29


« Reply #11 on: September 09, 2012, 02:53:47 PM »

Looks like you are working with an incomplete copy of the svn repository.
Both files you are missing should be there.

Unix.StdIO.Mod got appended in rev. 4619 (1.3.2012)
SystemVersion.Mod got appended in rev. 4662 (30.3.2012)

The command 'svn update' should update your copy to revision >= 4918.

--Guenter
Logged
schorsch
Newbie
*
Posts: 10


« Reply #12 on: September 09, 2012, 05:53:14 PM »

Sounds like an impressive progress has been done. Is there any explanation, what is a cause of this improvement?
Logged
soren renner
Global Moderator
Full Member
*****
Posts: 216



« Reply #13 on: September 09, 2012, 07:38:44 PM »

No, schorsch, this thread began as a passive-aggressive means to elicit precisely the information to which you have alluded.
Logged
leledumbo
Jr. Member
**
Posts: 96



WWW
« Reply #14 on: September 10, 2012, 09:41:57 AM »

Quote
Looks like you are working with an incomplete copy of the svn repository.
Both files you are missing should be there.

Unix.StdIO.Mod got appended in rev. 4619 (1.3.2012)
SystemVersion.Mod got appended in rev. 4662 (30.3.2012)

The command 'svn update' should update your copy to revision >= 4918.
OK, I'll try updating. Btw, I'm using the mirrored repo: https://code.google.com/p/ethz-oberon-repository-mirror/
Logged
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!