Archived OpenModelica forums. Posting is disabled.

Alternative forums include GitHub discussions or StackOverflow (make sure to read the Stack Overflow rules; you need to have well-formed questions)


Forgot password? | Forgot username? | Register

What is the meaning of bootstrapped omc?

What is the meaning of bootstrapped omc?

Hello,

This may be a very basic question. Please pardon me. What is the meaning of this? Why is it needed in respect of omc?

Anand

Re: What is the meaning of bootstrapped omc?

Previously (1.9.1 release and earlier), it was not required since it was possible to compile using rml-mmc.
Bootstrapping is the process of the compiler compiling itself. In OpenModelica, we store a set of generated C-files that you create a Modelica compiler from. This compiler is then used to compile the MetaModelica source code, which creates a new compiler. This compiler is then used to compile MetaModelica sources again. And the result is a working compiler. This process makes it easier for us to create new language features that the compiler itself uses, and allows us to use all of the features we implemented in Modelica in order to implement the OpenModelica compiler itself.
This means for example that in order to implement a built-in operator like "String()" in the compiler, we could just call "String()" in the source code and it would do the same thing.

Re: What is the meaning of bootstrapped omc?

Hello,

Thank you so much for your reply.

In Debian rules file we have

$(MAKE) $(MAKEFLAGS) NOLIBRARIES=Yes release mosh omlibrary qtclients
$(MAKE) $(MAKEFLAGS) NOLIBRARIES=Yes runtimeCPPinstall
mv build/bin/omc build/bin/omc-bootstrapped

Why cannot we use

make NOLIBRARIES=Yes all

Anand

Re: What is the meaning of bootstrapped omc?

Because make all does not build everything current/smile

Re: What is the meaning of bootstrapped omc?

In my openmodelica.SlackBuild script file I have:

autoconf

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --build=$ARCH-slackware-linux \
  --with-omniORB \
  --disable-modelica3d \
  --disable-omshell-terminal \
  --without-paradiseo \
  --disable-rml-trace \
  --with-lapack="-llapack -lblas" \
  --with-METIS=/usr \
  --disable-python-interface

make NOLIBRARIES=Yes all
make install DESTDIR=$PKG

Is this not alright?  Should I change it to the lines given in Debian rules file?

Re: What is the meaning of bootstrapped omc?

You're just missing the c++ runtime. It's not used by default, and I wouldn't recommend using it. But if you want a complete install, all-runtimeCPPinstall should do the trick.

Re: What is the meaning of bootstrapped omc?

So, should it be

make NOLIBRARIES=Yes all runtimeCPPinstall

For what purpose is C++ runtime?

Anand

Re: What is the meaning of bootstrapped omc?

No without the dash, you have parallel build issues with conflicts in all and cpp. The C++ run-time is mostly if you use Bosch Rexroth products.

Re: What is the meaning of bootstrapped omc?

So,

make NOLIBRARIES=Yes all-runtimeCPPinstall

Is this correct?

Re: What is the meaning of bootstrapped omc?

Yes

There are 0 guests and 0 other users also viewing this topic
You are here: