rochus-keller / Oberon

Oberon parser, code model & browser, compiler and IDE with debugger, and an implementation of the Oberon+ programming language
GNU General Public License v2.0
450 stars 29 forks source link

Program doesn't run (CTRL-R) on IDE built from sources #5

Closed pgonzalezc closed 2 years ago

pgonzalezc commented 2 years ago

When trying to run a simple program (Hello World) in a OberonIDE built from sources a error dialog pops-up with the following message:

Cannot find the mono subdirectory under '/home/<user>/Descargas/OberonIde/Build/Oberon

Mono is installed in the system. The compiled program can be executed in the command line with mono Main#.exe and works

rochus-keller commented 2 years ago

ObxIde2 (Mono version of the OberonIDE) looks for a subdirectory in the directory from which the ObxIDE executable is started. This subdirectory is called "mono" and is expected to contain two files: the Mono executable called "mono" and the core library called "mscorlib.dll". The subdirectory as well as the two files can be links. So if you compile the IDE yourself you have to take care of this subdirectory yourself.

You can e.g. copy the subdirectory from the precompiled packages. For 64 bit Linux a precompiled Mono 5 version is available here: http://software.rochus-keller.ch/mono_5.20.1.34_linux_x86_64.tar.gz. You could also use the pre-installed Mono version on your system; use the mono-sgen executable and the biggest one of the mscorlib.dll; either copy to mono subdirectory or make a link. I tested with Mono 3 and 5, but it should also work with more recent Mono versions (please tell me if not).

pgonzalezc commented 2 years ago

Made subdirectory with symbolic links to mono and mscorelib.dll. Now CTRL-R works.

I'm very interested in the Generics modules. For me Modules, with the information hiding a module level, is important to structure large applications. But feel that the language needs some adaptation to make it more attractive without losing its modular essence. So Oberon+ its a good job in this direction.

Thank you,

rochus-keller commented 2 years ago

I assume you have seen this article https://oberon-lang.github.io/2021/07/17/considering-generics.html and the language specification https://github.com/oberon-lang/specification/blob/master/The_Programming_Language_Oberon%2B.adoc#generics.

pgonzalezc commented 2 years ago

Yes, i'm in it.