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

Installing OpenModelica from sources on Linux

Installing OpenModelica from sources on Linux

I have been trying for many hours to install OpenModelica on Linux from sources. As I am running Gentoo, I cannot use the debian packages.

Perhaps someone can help me? I have had so many problems with dependencies that I can't even keep all the issues straight in my head anymore. I gave up trying to build it with omniORB because I couldn't get configure to see it, even though it is installed as a Gentoo ebuild. Unfortunately, I still cannot build OpenModelica.

For example, configure fails when looking for paradisEO:

checking for paradisEO... configure: error: not found (searched  /usr /opt //usr/local/openmodelica)

What puzzles me is that paradisEO is in the path:

/usr/local/paradiseo/libxml2/bin:/usr/local/paradiseo/mpich2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.4.5:/usr/local/bin:/usr/local/rml/bin

These sorts of problems are typical. Thus, instead of actually using OpenModelica (which does indeed sound very cool) I am wasting a lot of time just trying to install it. I am not normally someone who shies away from source installs, but I have to admit that OpenModelica is giving me real problems. It leaves the impression that the Linux release is somewhat neglected.

But maybe I just need better help? current/smile

Edited by: stephen_bosch - Jul-03-12 22:47:25

Re: Installing OpenModelica from sources on Linux

Have you tried configure --without-paradiseo (only OMOptim uses it)? Also, paradiseo is used as a library, so your PATH does not matter. You need to use configure LDFLAGS="..." CPPFLAGS="..." to set the paths I believe (or maybe --with-paradiseo=/usr/local/paradiseo works).

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

Have you tried configure --without-paradiseo (only OMOptim uses it)? Also, paradiseo is used as a library, so your PATH does not matter. You need to use configure LDFLAGS="..." CPPFLAGS="..." to set the paths I believe (or maybe --with-paradiseo=/usr/local/paradiseo works).

I tried it with  --with-paradiseo=/usr/local/paradiseo, and configure was successful. I am running make omc right now, and so far it seems to be working.

A lot of things are assumed, but unfortunately not everybody who might want to use OpenModelica is a programmer current/smile It's not always clear from the readme what's absolutely necessary and what is a "nice to have" option. Do I need omniORB?

The readme does not mention "make install"; is that assumed also?

I think the readme could be made better by including this information and making it more structured. It's a bit scattered. Some things I noticed:

    It starts with "How to compile on Linux/BSD (all from source)", then there's just a list of dependencies. The next section is "How to compile on Ubuntu Linux (using available binary packages for dependencies)" which is again just a list of dependencies.

    First it says "How to compile on Linux/BSD", implying that FreeBSD is supported, then it says

You need:
    rml+mmc (http://www.ida.liu.se/~pelab/rml/)
        Just grab it from subversion:
        svn co https://openmodelica.org/svn/MetaModelica/trunk mmc
        user: anonymous
        pass: none
    rml needs smlnj: http://www.smlnj.org (working version v110.xx) and/or mlton (mlton.org)

followed by


Note:
    FreeBSD versions of smlnj/mlton only compile using 32-bit versions of the OS.
    The rml-mmc package needs some manual changes, too. It's not worth it current/wink

...so, that means... it is supported? Or is it not supported? Does it even work with FreeBSD? In any case, it's not clear.

    It also says

The latest OpenModelica uses Qt for potting and 3D functionality. You will also need:
    Qt 4.x.x (http://trolltech.com - >= 4.6)
    Coin3D   (http://www.coin3d.org - tested with 3.0.0; deprecated)
    SoQt     (http://www.coin3d.org - tested with 1.4.1; deprecated)

Is the plotting function deprecated? Coin3D? The Coin3D requirement?

    The next section is called "Setting your environment for compiling OpenModelica". Somewhere in there, the actual build instructions have been hidden. Also, by this point it is not clear if we're talking about Ubuntu, or a general installation from sources.


    Finally, there is this paragraph, which totally confused me:

For the deprecated Qt-based plotting functionality you will need to:
  - Configure with-sendData-Qt
  - Have Qt installed and qmake on the PATH.
        NOTE: if you don't, you won't be able to plot
              using plot and plotParameteric but it will work with
              plot2 and plotParametric2 functions.
  - Add coin3d/bin and soqt/bin to the PATH variable
  - Add coin3d/lib and soqt/lib to the LD_LIBRARY_PATH variable

Is it plotting that is deprecated? Or Qt support for plotting? I still want to make plots, so... does something replace it? I have no idea. In any case, configure does not recognize "--with-sendData-Qt", which leaves me wondering if that sentence is still valid.

Considering that a working installation is a prerequisite for doing the tutorials, it would be very helpful to explain some of these things in the readme itself. Even an experienced Linux user (and I count myself as one) will not necessarily understand all the dependencies and what they are needed for.

The best thing would be to have a section just for OpenModelica newbies: "What every new OpenModelica user should have" followed by a list of dependencies, a description of each one, what it does and why it is needed, then instructions on how to include it with LDFLAGS once it has been installed.

A big key to getting more people to adopt it is making the installation simple current/smile

Re: Installing OpenModelica from sources on Linux

You don't need to use make install to use OpenModelica. You don't need any of the optional dependencies, such as CORBA (omniORB). But what you then end up with is an executable in trunk/build/bin/omc that you need to call via absolute path, and you get no GUI. If your OS supports sockets and readline you even get OMShell-terminal. Perfect according to me current/smile

Otherwise it's also quite easy to install the binary packages (if they match your shared libraries). I find rml-mmc and paradiseo harder to install than OpenModelica, because they do not work with all C-compilers.

Most of the deprecated things mentioned were deprecated for a reason - removal. In the current trunk none of them are useful anymore.

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

You don't need to use make install to use OpenModelica. You don't need any of the optional dependencies, such as CORBA (omniORB). But what you then end up with is an executable in trunk/build/bin/omc that you need to call via absolute path, and you get no GUI. If your OS supports sockets and readline you even get OMShell-terminal. Perfect according to me current/smile

Otherwise it's also quite easy to install the binary packages (if they match your shared libraries). I find rml-mmc and paradiseo harder to install than OpenModelica, because they do not work with all C-compilers.

Most of the deprecated things mentioned were deprecated for a reason - removal. In the current trunk none of them are useful anymore.

If that's so, then the readme is very confusing:

The latest OpenModelica uses Qt for potting and 3D functionality. You will also need:
    Qt 4.x.x (http://trolltech.com - >= 4.6)
    Coin3D   (http://www.coin3d.org - tested with 3.0.0; deprecated)
    SoQt     (http://www.coin3d.org - tested with 1.4.1; deprecated)

This implies that in order to have plotting and 3D capability, you need Coin3d and SoQt, and that if those are now deprecated, there is no plotting and 3D support (somehow I doubt that's true, though...)

Better wording:

"To use the older, bla bla plotting support, you need these packages...

but if you don't have special reasons to use the older bla bla plotting support, you can just set configure like so [etc] and use the newer, yadda yadda plotting support."

Based on what you wrote, I understand that

1. make install works
2. make install will put everything in the PREFIX I specify
3. I need to include omniORB if I want a GUI (that's the sort of thing that would be good to include in the readme current/wink )...

Correct?

(thanks current/smile )

Re: Installing OpenModelica from sources on Linux

Ok, I built omc and mosh successfully. Building qtclients fails:

Code:

g++ -c -pipe -w -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I/usr/include/qwt -I. -I.. -I../GUI -I../GUI/Widgets -I../GUI/Tools -I../GUI/Dialogs -I../Units -I../Tools -I../Infos -I../FileData -I../Problems -I. -I. -o MOPlot.o ../GUI/Plots/MOPlot.cpp

In file included from ../GUI/Plots/MOPlot.cpp:41:
../GUI/Plots/MOPlot.h:76: Fehler: ISO-C++ verbietet Deklaration von »QwtDoublePoint« ohne Typ
../GUI/Plots/MOPlot.h:76: Fehler: expected »,« or »...« before »&« token
../GUI/Plots/MOPlot.h:99: Fehler: ISO-C++ verbietet Deklaration von »QwtPlotPrintFilter« ohne Typ
../GUI/Plots/MOPlot.h:99: Fehler: expected »,« or »...« before »&« token
../GUI/Plots/MOPlot.h:109: Fehler: ISO-C++ verbietet Deklaration von »QwtDoublePoint« ohne Typ
../GUI/Plots/MOPlot.h:109: Fehler: expected »,« or »...« before »&« token
../GUI/Plots/MOPlot.h:112: Fehler: ISO-C++ verbietet Deklaration von »QwtDoubleRect« ohne Typ
../GUI/Plots/MOPlot.h:112: Fehler: expected »,« or »...« before »&« token
../GUI/Plots/MOPlot.h: In constructor »MOPlot::MOPlot()«:
../GUI/Plots/MOPlot.h:136: Fehler: »class QwtPlotPicker« hat kein Element namens »setSelectionFlags«
../GUI/Plots/MOPlot.h:136: Fehler: »PointSelection« is not a member of »QwtPicker«
../GUI/Plots/MOPlot.h:155: Fehler: »class MOPlot« hat kein Element namens »setMargin«
../GUI/Plots/MOPlot.h:171: Fehler: »DragSelection« is not a member of »QwtPicker«
../GUI/Plots/MOPlot.h:171: Fehler: »CornerToCorner« is not a member of »QwtPicker«
../GUI/Plots/MOPlot.h: In member function »void MOPlot::clear()«:
../GUI/Plots/MOPlot.h:213: Fehler: »clear« is not a member of »QwtPlot«
../GUI/Plots/MOPlot.h: At global scope:
../GUI/Plots/MOPlot.h:303: Fehler: ISO-C++ verbietet Deklaration von »QwtDoublePoint« ohne Typ
../GUI/Plots/MOPlot.h:303: Fehler: expected »,« or »...« before »&« token
../GUI/Plots/MOPlot.h: In member function »int MOPlot::getNearestPointIndex(QwtPlotCurve*, int)«:
../GUI/Plots/MOPlot.h:309: Fehler: »point« wurde in diesem Gültigkeitsbereich nicht definiert
../GUI/Plots/MOPlot.h: At global scope:
../GUI/Plots/MOPlot.h:329: Fehler: ISO-C++ verbietet Deklaration von »QwtDoublePoint« ohne Typ
../GUI/Plots/MOPlot.h:329: Fehler: expected »,« or »...« before »&« token
../GUI/Plots/MOPlot.h:339: Fehler: ISO-C++ verbietet Deklaration von »QwtPlotPrintFilter« ohne Typ
../GUI/Plots/MOPlot.h:339: Fehler: expected »,« or »...« before »&« token
../GUI/Plots/MOPlot.h: In member function »virtual void MOPlot::drawItems(QPainter*, const QRect&, const QwtScaleMap*, int) const«:
../GUI/Plots/MOPlot.h:350: Fehler: »pfilter« wurde in diesem Gültigkeitsbereich nicht definiert
../GUI/Plots/MOPlot.h:350: Fehler: »QwtPlotPrintFilter« is not a class or namespace
../GUI/Plots/MOPlot.cpp: At global scope:
../GUI/Plots/MOPlot.cpp:69: Fehler: ISO-C++ verbietet Deklaration von »QwtDoubleRect« ohne Typ
../GUI/Plots/MOPlot.cpp:69: Fehler: expected »,« or »...« before »&« token
make[2]: *** [MOPlot.o] Fehler 1
make[2]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/OMOptimBasis/build'
make[1]: *** [OMOptimBasis] Fehler 2
make[1]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/OMOptimBasis/build'
make: *** [omoptimbasis] Fehler 2

I'm using qwt 6.0.0. What's wrong here?

Re: Installing OpenModelica from sources on Linux

You're using qwt 6.0 is what's wrong current/smile They changed the API.
And yes, 3D support was removed from builtin OpenModelica as it is now part of Modelica libraries instead (ModelicaServices packages, mostly commercial, but standardized).

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

You're using qwt 6.0 is what's wrong current/smile They changed the API.
And yes, 3D support was removed from builtin OpenModelica as it is now part of Modelica libraries instead (ModelicaServices packages, mostly commercial, but standardized).

Sorry to sound like a complainer -- but I have spent enough time trying to get this to work that I have earned my complaint time, so here I go current/smile

Why is this information,

  -about the qwt version
  -about deprecated 3D support

not in the readme?

Which version of qwt do I need, and how would I find that out if qwt is not mentioned in the readme at all? (I notice also that the readme is also more than a year old -- and that's in trunk!)

And now you say that I need commercial libraries to do 3D plots. OpenModelica is starting to sound less and less "open"...

I would like to try OpenModelica for my simulations, but I run Linux. I have tried to follow all the (available) instructions -- building from svn sources, getting all the required dependencies, yet I am getting the impression that the Linux version of OpenModelica is a bit like the neglected step-child. Is anybody still using it? Is it maintained? I am not keen on paying for additional commercial libraries before I have even tried it out, and already have a fully-licensed and paid-for MATLAB and Simulink that runs beautifully on Linux, even my "exotic" Gentoo installation.

I was introduced to OpenModelica by a passionate colleague who is running it on his Mac. He told me it was open source, freely available, and ran on Linux. While he is working on his simulation, I still can't get it installed and running, so I am beginning to think this isn't worth it...

which is too bad, because it certainly looks cool and useful.

Re: Installing OpenModelica from sources on Linux

The OpenModelica 3D visualization was (poor) work performed before the 3D API in ModelicaServices was standardized. Use any re-implementation of ModelicaServices, commercial or not. It is just an API and OpenModelica has nothing to do with it.

The Linux version of OpenModelica is built on every commit using Ubuntu (https://test.openmodelica.org/hudson/). The majority of developers use Linux (mainly arch and debian-based, but some Fedora and CentOS). Nightly builds use Ubuntu and Debian. Windows and Mac builds only on demand or for releases (every 9 months or so). The Mac version also does not have the same features that the Linux release does (OMNotebook support to name one).

For the full list of dependencies used by aptitude (from e.g. https://build.openmodelica.org/apt/pool … n.tar.gz):

Code:

Source: openmodelica

Section: math
Priority: optional
Maintainer: OpenModelica Build System <build@openmodelica.org>
Build-Depends: debhelper (>= 7.0.0),
libncurses5-dev,
libsqlite3-dev,
libssl-dev (>= 0.9.8g),
libreadline-dev,
libqtwebkit-dev | libqt4-dev (>= 4.4.3),
libqwt5-qt4-dev (>= 5.1.1),
liblpsolve55-dev (>= 5.5.0.10),
rml-mmc (>= 204),
openjdk-6-jdk | sun-java6-jdk,
libomniorb4-dev,
omniidl4 | omniidl (>= 4.0.0),
omniidl4-python | omniidl-python,
python-omniorb,
gnuplot,
xsltproc,
flex,
paradiseo,
bison,
libf2c2-dev,
liblapack-dev,
autoconf,
zip,
libexpat1-dev,
libsundials-serial-dev
Standards-Version: 3.8.4

Re: Installing OpenModelica from sources on Linux

Thank you for your help. Clearly, this is a Linux project, so there has to be a way of getting things working current/smile

Okay -- so now I have installed libqwt 5.2.1 (which should satisfy the dependency libqwt5-qt4-dev (>= 5.1.1)), but I am still getting the compile failure:

Code:

g++ -Wl,-O1 -Wl,-rpath,/usr/lib/qt4 -o ../bin/OMPlot main.o read_matlab4.o Plot.o PlotZoomer.o Legend.o PlotPanner.o PlotGrid.o PlotCurve.o PlotWindow.o PlotApplication.o PlotWindowContainer.o PlotMainWindow.o moc_Plot.o moc_PlotZoomer.o moc_Legend.o moc_PlotPanner.o moc_PlotWindow.o moc_PlotApplication.o moc_PlotWindowContainer.o moc_PlotMainWindow.o qrc_resource_omplot.o    -L/usr/lib/qt4 -lqwt -lQtSvg -L/usr/lib/qt4 -L/usr/X11R6/lib -lQtGui -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lpthread 

Plot.o: In function `OMPlot::Plot::Plot(OMPlot::PlotWindow*)':
Plot.cpp:(.text+0x37b): undefined reference to `QwtPlot::setCanvasBackground(QBrush const&)'
Plot.o: In function `OMPlot::Plot::Plot(OMPlot::PlotWindow*)':
Plot.cpp:(.text+0x7bb): undefined reference to `QwtPlot::setCanvasBackground(QBrush const&)'
PlotGrid.o:(.data.rel.ro._ZTVN6OMPlot8PlotGridE[vtable for OMPlot::PlotGrid]+0x28): undefined reference to `QwtPlotGrid::draw(QPainter*, QwtScaleMap const&, QwtScaleMap const&, QRectF const&) const'
PlotCurve.o: In function `OMPlot::PlotCurve::setData(double const*, double const*, int)':
PlotCurve.cpp:(.text+0x876): undefined reference to `QwtPlotCurve::setRawSamples(double const*, double const*, int)'
PlotCurve.o:(.data.rel.ro._ZTVN6OMPlot9PlotCurveE[vtable for OMPlot::PlotCurve]+0x18): undefined reference to `QwtPlotCurve::drawLegendIdentifier(QPainter*, QRectF const&) const'
PlotCurve.o:(.data.rel.ro._ZTVN6OMPlot9PlotCurveE[vtable for OMPlot::PlotCurve]+0x28): undefined reference to `QwtPlotAbstractSeriesItem::draw(QPainter*, QwtScaleMap const&, QwtScaleMap const&, QRectF const&) const'
PlotCurve.o:(.data.rel.ro._ZTVN6OMPlot9PlotCurveE[vtable for OMPlot::PlotCurve]+0x34): undefined reference to `QwtPlotCurve::drawSeries(QPainter*, QwtScaleMap const&, QwtScaleMap const&, QRectF const&, int, int) const'
PlotCurve.o:(.data.rel.ro._ZTVN6OMPlot9PlotCurveE[vtable for OMPlot::PlotCurve]+0x38): undefined reference to `QwtPlotCurve::drawCurve(QPainter*, int, QwtScaleMap const&, QwtScaleMap const&, QRectF const&, int, int) const'
PlotCurve.o:(.data.rel.ro._ZTVN6OMPlot9PlotCurveE[vtable for OMPlot::PlotCurve]+0x3c): undefined reference to `QwtPlotCurve::drawSymbols(QPainter*, QwtSymbol const&, QwtScaleMap const&, QwtScaleMap const&, QRectF const&, int, int) const'
PlotCurve.o:(.data.rel.ro._ZTVN6OMPlot9PlotCurveE[vtable for OMPlot::PlotCurve]+0x40): undefined reference to `QwtPlotCurve::fillCurve(QPainter*, QwtScaleMap const&, QwtScaleMap const&, QRectF const&, QPolygonF&) const'
PlotWindow.o: In function `OMPlot::PlotWindow::receiveMessage(QStringList)':
PlotWindow.cpp:(.text+0x7026): undefined reference to `QwtPlotItem::detach()'
PlotWindow.o: In function `OMPlot::PlotWindow::setGrid(bool)':
PlotWindow.cpp:(.text+0x77cc): undefined reference to `QwtPlotItem::detach()'
PlotWindow.o: In function `OMPlot::PlotWindow::fitInView()':
PlotWindow.cpp:(.text+0x7893): undefined reference to `QwtPlot::setAxisAutoScale(int, bool)'
PlotWindow.cpp:(.text+0x78b1): undefined reference to `QwtPlot::setAxisAutoScale(int, bool)'
PlotWindow.o: In function `OMPlot::PlotWindow::setLogX(bool)':
PlotWindow.cpp:(.text+0x7966): undefined reference to `QwtPlot::setAxisAutoScale(int, bool)'
PlotWindow.cpp:(.text+0x7a1d): undefined reference to `QwtPlot::setAxisAutoScale(int, bool)'
PlotWindow.o: In function `OMPlot::PlotWindow::setLogY(bool)':
PlotWindow.cpp:(.text+0x7b16): undefined reference to `QwtPlot::setAxisAutoScale(int, bool)'
PlotWindow.o:PlotWindow.cpp:(.text+0x7bcd): more undefined references to `QwtPlot::setAxisAutoScale(int, bool)' follow
moc_Plot.o:(.data.rel.ro._ZTVN6OMPlot4PlotE[vtable for OMPlot::Plot]+0xec): undefined reference to `QwtPlot::drawItems(QPainter*, QRectF const&, QwtScaleMap const*) const'
moc_PlotZoomer.o:(.data.rel.ro._ZTVN6OMPlot10PlotZoomerE[vtable for OMPlot::PlotZoomer]+0x4c): undefined reference to `QwtPicker::adjustedPoints(QPolygon const&) const'
moc_PlotZoomer.o:(.data.rel.ro._ZTVN6OMPlot10PlotZoomerE[vtable for OMPlot::PlotZoomer]+0x60): undefined reference to `QwtPicker::remove()'
moc_PlotZoomer.o:(.data.rel.ro._ZTVN6OMPlot10PlotZoomerE[vtable for OMPlot::PlotZoomer]+0x8c): undefined reference to `QwtPicker::widgetEnterEvent(QEvent*)'
moc_PlotZoomer.o:(.data.rel.ro._ZTVN6OMPlot10PlotZoomerE[vtable for OMPlot::PlotZoomer]+0xa0): undefined reference to `QwtPlotPicker::trackerTextF(QPointF const&) const'
moc_PlotZoomer.o:(.data.rel.ro._ZTVN6OMPlot10PlotZoomerE[vtable for OMPlot::PlotZoomer]+0xac): undefined reference to `QwtPlotZoomer::moveTo(QPointF const&)'
moc_PlotPanner.o:(.data.rel.ro._ZTVN6OMPlot10PlotPannerE[vtable for OMPlot::PlotPanner]+0xf4): undefined reference to `QwtPlotPanner::contentsMask() const'
moc_PlotPanner.o:(.data.rel.ro._ZTVN6OMPlot10PlotPannerE[vtable for OMPlot::PlotPanner]+0xf8): undefined reference to `QwtPanner::grab() const'
collect2: ld gab 1 als Ende-Status zurück
make[2]: *** [../bin/OMPlot] Fehler 1
make[2]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMPlot/OMPlotGUI'
make[1]: *** [OMPlot] Fehler 2
make[1]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMPlot/OMPlotGUI'
make: *** [omplot] Fehler 2

Unfortunately, libqwt 5.2.1 is the earliest version 5 libqwt that is available for my distribution...

Is there any way to tell which version of libqwt is being used here?

Re: Installing OpenModelica from sources on Linux

Did you do "make clean" first? There are probably some o-files compiled against qwt6. If you want to recompile as little as possible "make -C OMPlot/OMPlotGUI/ -f Makefile.unix clean" I think

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

Did you do "make clean" first? There are probably some o-files compiled against qwt6. If you want to recompile as little as possible "make -C OMPlot/OMPlotGUI/ -f Makefile.unix clean" I think

Yeah, I had done a "make clean".

I had two versions of libqwt installed, from both 6 and 5 -- I have removed 6, done another make clean, and run configure again:

Now, if I run:

Code:

./configure --with-omniORB --prefix=/usr/local/openmodelica/ --with-paradiseo=/usr/local/paradiseo --with-qwt

the qwt test fails.

If I run

Code:

./configure --with-omniORB --prefix=/usr/local/openmodelica/ --with-paradiseo=/usr/local/paradiseo --with-qwt=/usr/lib

it passes, but then the make fails right at the start with a totally different error:

Code:


make qtclients
if [ "" = ".app" ]; then mkdir -p ./build/Applications/; fi
mkdir -p ./build/bin
mkdir -p ./build/lib/omc
mkdir -p ./build/lib/omc/libexec
mkdir -p ./build/lib/python
mkdir -p ./build/lib/python/omniORB
mkdir -p ./build/include/omc
mkdir -p ./build/share/omc/java/
mkdir -p ./build/share//omc/scripts/PythonInterface/OMPython/OMParser
mkdir -p ./build/share//omnotebook
mkdir -p ./build/share/doc/omc/testmodels
mkdir -p ./build/share/man//man1/
make -C OMPlot/OMPlotGUI -f Makefile.unix
make[1]: Entering directory `/home/sfbosch/src/openmodelica/trunk/OMPlot/OMPlotGUI'
qmake
qmake OMPlotLib.pro -o Makefile.lib
make -f Makefile.lib
make[2]: Entering directory `/home/sfbosch/src/openmodelica/trunk/OMPlot/OMPlotGUI'
g++ -c -pipe -w -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/lib -I. -I../generatedfiles/moc -o main.o main.cpp
In Datei, eingefügt von PlotWindowContainer.h:38,
                 von PlotMainWindow.h:40,
                 von main.cpp:35:
PlotWindow.h:28:22: Fehler: qwt_plot.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:29:22: Fehler: qwt_text.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:30:28: Fehler: qwt_plot_curve.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:31:29: Fehler: qwt_plot_picker.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:32:32: Fehler: qwt_picker_machine.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:33:27: Fehler: qwt_plot_grid.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:34:30: Fehler: qwt_curve_fitter.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:35:24: Fehler: qwt_legend.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:36:29: Fehler: qwt_plot_zoomer.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:37:29: Fehler: qwt_plot_panner.h: Datei oder Verzeichnis nicht gefunden
PlotWindow.h:38:30: Fehler: qwt_scale_engine.h: Datei oder Verzeichnis nicht gefunden
In file included from Plot.h:38,
                 from PlotWindow.h:44,
                 from PlotWindowContainer.h:38,
                 from PlotMainWindow.h:40,
                 from main.cpp:35:
Legend.h:45: Fehler: expected class-name before »{« token
In file included from Plot.h:39,
                 from PlotWindow.h:44,
                 from PlotWindowContainer.h:38,
                 from PlotMainWindow.h:40,
                 from main.cpp:35:
PlotGrid.h:42: Fehler: expected class-name before »{« token
In file included from Plot.h:40,
                 from PlotWindow.h:44,
                 from PlotWindowContainer.h:38,
                 from PlotMainWindow.h:40,
                 from main.cpp:35:
PlotZoomer.h:42: Fehler: expected class-name before »{« token
PlotZoomer.h:45: Fehler: »QwtPlotCanvas« has not been declared
In file included from Plot.h:41,
                 from PlotWindow.h:44,
                 from PlotWindowContainer.h:38,
                 from PlotMainWindow.h:40,
                 from main.cpp:35:
PlotPanner.h:42: Fehler: expected class-name before »{« token
PlotPanner.h:45: Fehler: expected »)« before »*« token
In file included from Plot.h:42,
                 from PlotWindow.h:44,
                 from PlotWindowContainer.h:38,
                 from PlotMainWindow.h:40,
                 from main.cpp:35:
PlotCurve.h:42: Fehler: expected class-name before »{« token
PlotCurve.h:44: Fehler: ISO-C++ verbietet Deklaration von »QwtArray« ohne Typ
PlotCurve.h:44: Fehler: expected »;« before »<« token
PlotCurve.h:45: Fehler: ISO-C++ verbietet Deklaration von »QwtArray« ohne Typ
PlotCurve.h:45: Fehler: expected »;« before »<« token
PlotCurve.h:74: Fehler: »QwtLegend« has not been declared
In file included from PlotWindow.h:44,
                 from PlotWindowContainer.h:38,
                 from PlotMainWindow.h:40,
                 from main.cpp:35:
Plot.h:54: Fehler: expected class-name before »{« token
Plot.h:59: Fehler: ISO-C++ verbietet Deklaration von »QwtPlotPicker« ohne Typ
Plot.h:59: Fehler: expected »;« before »*« token
Plot.h:72: Fehler: ISO-C++ verbietet Deklaration von »QwtPlotPicker« ohne Typ
Plot.h:72: Fehler: expected »;« before »*« token
make[2]: *** [main.o] Fehler 1
make[2]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMPlot/OMPlotGUI'
make[1]: *** [libOMPlot] Fehler 2
make[1]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMPlot/OMPlotGUI'
make: *** [omplot] Fehler 2

Now it can't find the header files...

Re: Installing OpenModelica from sources on Linux

The with-qwt option seems to only accept =no or =yes and autodetects some of the very odd differences between different distributions of qwt (some use qwt, some qwt-qt4). I'm willing to bet you have something like /usr/include/qwt5/... ? If so that's the first time I saw it, but I can change the trunk if so. Please list the files of your qwt5 package simialr to this:

Code:

$ apt-file list libqwt5-qt4-dev

libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_abstract_scale.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_abstract_scale_draw.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_abstract_slider.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_analog_clock.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_array.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_arrow_button.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_clipper.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_color_map.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_compass.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_compass_rose.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_counter.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_curve_fitter.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_data.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_dial.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_dial_needle.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_double_interval.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_double_range.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_double_rect.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_dyngrid_layout.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_event_pattern.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_global.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_interval_data.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_knob.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_layout_metrics.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_legend.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_legend_item.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_legend_itemmanager.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_magnifier.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_math.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_paint_buffer.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_painter.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_panner.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_picker.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_picker_machine.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_canvas.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_curve.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_dict.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_grid.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_item.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_layout.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_magnifier.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_marker.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_panner.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_picker.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_printfilter.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_rasteritem.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_rescaler.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_scaleitem.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_spectrogram.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_svgitem.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_plot_zoomer.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_polygon.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_raster_data.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_round_scale_draw.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_scale_div.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_scale_draw.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_scale_engine.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_scale_map.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_scale_widget.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_slider.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_spline.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_symbol.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_text.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_text_engine.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_text_label.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_thermo.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_valuelist.h
libqwt5-qt4-dev: /usr/include/qwt-qt4/qwt_wheel.h
libqwt5-qt4-dev: /usr/lib/libqwt-qt4.so
libqwt5-qt4-dev: /usr/lib/x86_64-linux-gnu/qt4/plugins/designer/libqwt_designer_plugin.so
libqwt5-qt4-dev: /usr/share/doc/libqwt5-qt4-dev/README
libqwt5-qt4-dev: /usr/share/doc/libqwt5-qt4-dev/README.Debian
libqwt5-qt4-dev: /usr/share/doc/libqwt5-qt4-dev/changelog.Debian.gz
libqwt5-qt4-dev: /usr/share/doc/libqwt5-qt4-dev/copyright

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

The with-qwt option seems to only accept =no or =yes and autodetects some of the very odd differences between different distributions of qwt (some use qwt, some qwt-qt4). I'm willing to bet you have something like /usr/include/qwt5/... ? If so that's the first time I saw it, but I can change the trunk if so. Please list the files of your qwt5 package simialr to this:

You are indeed correct. Here are the package contents:

Code:


# equery files qwt:5
* Searching for qwt:5 ...
* Contents of x11-libs/qwt-5.2.1:
/usr
/usr/include
/usr/include/qwt5
/usr/include/qwt5/qwt.h
/usr/include/qwt5/qwt_abstract_scale.h
/usr/include/qwt5/qwt_abstract_scale_draw.h
/usr/include/qwt5/qwt_abstract_slider.h
/usr/include/qwt5/qwt_analog_clock.h
/usr/include/qwt5/qwt_array.h
/usr/include/qwt5/qwt_arrow_button.h
/usr/include/qwt5/qwt_clipper.h
/usr/include/qwt5/qwt_color_map.h
/usr/include/qwt5/qwt_compass.h
/usr/include/qwt5/qwt_compass_rose.h
/usr/include/qwt5/qwt_counter.h
/usr/include/qwt5/qwt_curve_fitter.h
/usr/include/qwt5/qwt_data.h
/usr/include/qwt5/qwt_dial.h
/usr/include/qwt5/qwt_dial_needle.h
/usr/include/qwt5/qwt_double_interval.h
/usr/include/qwt5/qwt_double_range.h
/usr/include/qwt5/qwt_double_rect.h
/usr/include/qwt5/qwt_dyngrid_layout.h
/usr/include/qwt5/qwt_event_pattern.h
/usr/include/qwt5/qwt_global.h
/usr/include/qwt5/qwt_interval_data.h
/usr/include/qwt5/qwt_knob.h
/usr/include/qwt5/qwt_layout_metrics.h
/usr/include/qwt5/qwt_legend.h
/usr/include/qwt5/qwt_legend_item.h
/usr/include/qwt5/qwt_legend_itemmanager.h
/usr/include/qwt5/qwt_magnifier.h
/usr/include/qwt5/qwt_math.h
/usr/include/qwt5/qwt_paint_buffer.h
/usr/include/qwt5/qwt_painter.h
/usr/include/qwt5/qwt_panner.h
/usr/include/qwt5/qwt_picker.h
/usr/include/qwt5/qwt_picker_machine.h
/usr/include/qwt5/qwt_plot.h
/usr/include/qwt5/qwt_plot_canvas.h
/usr/include/qwt5/qwt_plot_curve.h
/usr/include/qwt5/qwt_plot_dict.h
/usr/include/qwt5/qwt_plot_grid.h
/usr/include/qwt5/qwt_plot_item.h
/usr/include/qwt5/qwt_plot_layout.h
/usr/include/qwt5/qwt_plot_magnifier.h
/usr/include/qwt5/qwt_plot_marker.h
/usr/include/qwt5/qwt_plot_panner.h
/usr/include/qwt5/qwt_plot_picker.h
/usr/include/qwt5/qwt_plot_printfilter.h
/usr/include/qwt5/qwt_plot_rasteritem.h
/usr/include/qwt5/qwt_plot_rescaler.h
/usr/include/qwt5/qwt_plot_scaleitem.h
/usr/include/qwt5/qwt_plot_spectrogram.h
/usr/include/qwt5/qwt_plot_svgitem.h
/usr/include/qwt5/qwt_plot_zoomer.h
/usr/include/qwt5/qwt_polygon.h
/usr/include/qwt5/qwt_raster_data.h
/usr/include/qwt5/qwt_round_scale_draw.h
/usr/include/qwt5/qwt_scale_div.h
/usr/include/qwt5/qwt_scale_draw.h
/usr/include/qwt5/qwt_scale_engine.h
/usr/include/qwt5/qwt_scale_map.h
/usr/include/qwt5/qwt_scale_widget.h
/usr/include/qwt5/qwt_slider.h
/usr/include/qwt5/qwt_spline.h
/usr/include/qwt5/qwt_symbol.h
/usr/include/qwt5/qwt_text.h
/usr/include/qwt5/qwt_text_engine.h
/usr/include/qwt5/qwt_text_label.h
/usr/include/qwt5/qwt_thermo.h
/usr/include/qwt5/qwt_valuelist.h
/usr/include/qwt5/qwt_wheel.h
/usr/lib
/usr/lib/libqwt.so -> libqwt.so.5.2.1
/usr/lib/libqwt.so.5 -> libqwt.so.5.2.1
/usr/lib/libqwt.so.5.2 -> libqwt.so.5.2.1
/usr/lib/libqwt.so.5.2.1
/usr/lib/qt4
/usr/lib/qt4/plugins
/usr/lib/qt4/plugins/designer
/usr/lib/qt4/plugins/designer/libqwt_designer_plugin.so
/usr/share
/usr/share/doc
/usr/share/doc/qwt-5.2.1
/usr/share/doc/qwt-5.2.1/CHANGES.bz2
/usr/share/doc/qwt-5.2.1/README.bz2

In fact, just before reading your message, I found a broken symlink /usr/include/qwt pointing to the old qwt6 directory. I replaced it with one pointing to qwt5, tested it, and it seems to work, at least to start with.

To be safe I did make clean, ran configure again, and am building everything over again -- make omc && make mosh && make qtclients (I figure qtclients should build correctly now). On my somewhat slow machine it will take some time, so I can't tell yet if it the problems have been solved.

It would be nice, for convenience, to check this directory automatically, especially since there is a version-specific dependency on libqwt.

Re: Installing OpenModelica from sources on Linux

I will see if I can apply some autoconf magic to make this work. Previous assumptions that the include suffix /usr/include/qwt5 and library names libqwt.so are the same fail in the current autoconf...

Re: Installing OpenModelica from sources on Linux

Which won't work because Qt4 headers are required to preprocess the qwt headers. Now I remember why I hate trying to autoconf this library current/sad

Re: Installing OpenModelica from sources on Linux

https://trac.openmodelica.org/OpenModel … eset/12289 - checking if the header is qwt5 using grep for now. Should help a little. You could also try to remove that qwt symlink and try the latest trunk if you want to see if I broke anything for you current/smile

Re: Installing OpenModelica from sources on Linux

Sigh... now something else is broken:

Code:

g++ -c -pipe -w -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I/usr/include/qwt -I/usr/local/paradiseo/include/paradiseo/ -I/usr/local/paradiseo/include/paradiseo/utils/ -I. -I.. -I../.. -I../Core -I../GUI -I../Vld -I../Core/Dymola -I../Core/FileData -I../Core/Infos -I../Core/Modelica -I../Core/OMC -I../Core/OpenModelica -I../Core/Problems -I../Core/Tools -I../Core/Units -I../GUI/Dialogs -I../GUI/Plots -I../GUI/Resources -I../GUI/Scene -I../GUI/Tabs -I../GUI/Tools -I../GUI/Views -I../GUI/Widgets -I../Core/Optim -I../Core/Optim/EA -I../Core/Optim/MILP -I../Core/Problems/BlockSubs -I../Core/Optim/EA/Checkpoints -I../Core/Optim/EA/Chromosome -I../Core/Optim/EA/Crossover -I../Core/Optim/EA/Evaluations -I../Core/Optim/EA/Init -I../Core/Optim/EA/Monitor -I../Core/Optim/EA/Mutations -I../Core/Optim/EA/NSGA2 -I../Core/Optim/EA/Results -I../Core/Optim/EA/SPEA2 -I../Core/Optim/EA/SPEA2Adaptative -I../Core/Optim/EA/SA1 -I../OMOptimBasis -I../OMOptimBasis/FileData -I../OMOptimBasis/GUI -I../OMOptimBasis/GUI/Tools -I../OMOptimBasis/GUI/Dialogs -I../OMOptimBasis/GUI/Widgets -I../OMOptimBasis/Infos -I../OMOptimBasis/Units -I../OMOptimBasis/Tools -I../OMOptimBasis/Problems -I. -I. -o Optimization.o ../Core/Problems/Optimization.cpp

In Datei, eingefügt von ../Core/Optim/EA/EA:2,
                 von ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/NSGA2/NSGA2.h:45:14: Fehler: eo: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:46:16: Fehler: moeo: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:47:34: Fehler: es/eoRealInitBounded.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:48:25: Fehler: es/eoRealOp.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:51:35: Fehler: do/make_continue_moeo.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:53:37: Fehler: do/make_checkpoint_moeo.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:55:29: Fehler: do/make_ea_moeo.h: Datei oder Verzeichnis nicht gefunden
In Datei, eingefügt von ../Core/Optim/EA/SPEA2Adaptative/SPEA2Adapt.h:62,
                 von ../Core/Optim/EA/EA:4,
                 von ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/SPEA2Adaptative/SPEA2AdaptMutation.h:47:23: Fehler: es/eoReal.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/SPEA2Adaptative/SPEA2AdaptMutation.h:48:25: Fehler: utils/eoRNG.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/SPEA2Adaptative/SPEA2AdaptMutation.h:49:32: Fehler: utils/eoRealBounds.h: Datei oder Verzeichnis nicht gefunden
In Datei, eingefügt von ../Core/Optim/EA/SPEA2Adaptative/SPEA2Adapt.h:63,
                 von ../Core/Optim/EA/EA:4,
                 von ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/Init/EAAdaptReinitStdDev.h:18:20: Fehler: eoInit.h: Datei oder Verzeichnis nicht gefunden
In file included from ../Core/Optim/EA/Results/EAStdResult.h:56,
                 from ../Core/Optim/EA/NSGA2/NSGA2.h:64,
                 from ../Core/Optim/EA/EA:2,
                 from ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/Evaluations/EAStdOptimizationEval.h:58: Fehler: expected template-name before »<« token
../Core/Optim/EA/Evaluations/EAStdOptimizationEval.h:58: Fehler: expected »{« before »<« token
../Core/Optim/EA/Evaluations/EAStdOptimizationEval.h:58: Fehler: expected unqualified-id before »<« token
In file included from ../Core/Optim/EA/NSGA2/NSGA2.h:64,
                 from ../Core/Optim/EA/EA:2,
                 from ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/Results/EAStdResult.h:63: Fehler: »moeoUnboundedArchive« has not been declared
../Core/Optim/EA/Results/EAStdResult.h:63: Fehler: expected »,« or »...« before »<« token
../Core/Optim/EA/Results/EAStdResult.h:68: Fehler: »moeoUnboundedArchive« has not been declared
../Core/Optim/EA/Results/EAStdResult.h:68: Fehler: expected »,« or »...« before »<« token
../Core/Optim/EA/Results/EAStdResult.h: In static member function »static OptimResult* EAStdResult<EOT>::buildOptimResult(Project*, Optimization*, QList<BlockSubstitutions*>, int)«:
../Core/Optim/EA/Results/EAStdResult.h:70: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:163: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:214: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:225: Fehler: »moeoRealObjectiveVector« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:225: Fehler: »moeoObjectiveVectorTraits« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:225: Fehler: »resObjVector« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:240: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
In file included from ../Core/Optim/EA/NSGA2/NSGA2.h:66,
                 from ../Core/Optim/EA/EA:2,
                 from ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/Chromosome/EOStd.h: At global scope:
../Core/Optim/EA/Chromosome/EOStd.h:52: Fehler: expected initializer before »<« token
../Core/Optim/EA/Chromosome/EOStd.h:57: Fehler: expected template-name before »<« token
../Core/Optim/EA/Chromosome/EOStd.h:57: Fehler: expected »{« before »<« token
../Core/Optim/EA/Chromosome/EOStd.h:57: Fehler: expected unqualified-id before »<« token
make[2]: *** [Optimization.o] Fehler 1
make[2]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make[1]: *** [OMOptimLib] Fehler 2
make[1]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make: *** [omoptim] Fehler 2

Looks like paradisEO... but this worked before!

Here's /usr/local/paradiseo:

Code:

# ls -liah /usr/local/paradiseo/

insgesamt 36K
2511877 drwxr-xr-x  7 root root 4,0K  8. Jun 00:44 .
2218204 drwxr-xr-x 16 root root 4,0K  3. Jul 20:41 ..
2515956 -rw-r--r--  1 root root 6,0K  8. Jun 00:33 install.cmake
2547588 drwxr-xr-x  6 root root 4,0K  8. Jun 00:38 libxml2
2511878 drwxr-xr-x  8 root root 4,0K  8. Jun 00:44 mpich2
2540206 drwxr-xr-x 11 root root 4,0K  8. Jun 00:28 paradiseo-eo
2547846 drwxr-xr-x  7 root root 4,0K  7. Jun 20:19 paradiseo-mo
2531574 drwxr-xr-x  7 root root 4,0K  7. Jun 20:19 paradiseo-moeo

Which one does it want?

My path:

Code:

/usr/local/paradiseo/libxml2/bin:/usr/local/paradiseo/mpich2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.4.5:/usr/local/bin:/usr/local/rml/bin

Re: Installing OpenModelica from sources on Linux

Okay, I have no idea what changed, but clearly, make is looking in strange places for the paradiseo headers, because neither of these directories exists:

Code:

I/usr/local/paradiseo/include/paradiseo/ -I/usr/local/paradiseo/include/paradiseo/utils/

In fact, no include directory exists in the paradiseo install at all, which makes me wonder where it is coming from.

This worked before (I was able to build omc successfully) so I am really puzzled.

Re: Installing OpenModelica from sources on Linux

I managed to get things working for "make omc" by making a symlink to the actual paradiseo-eo directories at /usr/local/include/paradiseo, but...

The autoconf stuff for paradiseo cannot be right.

It is telling make to look in paradiseo-prefix/include/paradiseo, and the paradiseo installer never makes an include directory. It also expects to find all the paradiseo components in one directory tree, but the paradiseo installer for 1.3 puts these in separate trees:

paradiseo-eo
paradiseo-moeo

The result is that it is impossible to have a setup in which make has access to all the paradiseo components required to build qtclients (I'd sure like to know how other people are getting this to work). The qtclients build breaks because of this:

Code:

g++ -c -pipe -w -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I/usr/include/qwt -I/usr/local/paradiseo/include/paradiseo -I/usr/local/paradiseo/include/paradiseo/utils -I. -I.. -I../.. -I../Core -I../GUI -I../Vld -I../Core/Dymola -I../Core/FileData -I../Core/Infos -I../Core/Modelica -I../Core/OMC -I../Core/OpenModelica -I../Core/Problems -I../Core/Tools -I../Core/Units -I../GUI/Dialogs -I../GUI/Plots -I../GUI/Resources -I../GUI/Scene -I../GUI/Tabs -I../GUI/Tools -I../GUI/Views -I../GUI/Widgets -I../Core/Optim -I../Core/Optim/EA -I../Core/Optim/MILP -I../Core/Problems/BlockSubs -I../Core/Optim/EA/Checkpoints -I../Core/Optim/EA/Chromosome -I../Core/Optim/EA/Crossover -I../Core/Optim/EA/Evaluations -I../Core/Optim/EA/Init -I../Core/Optim/EA/Monitor -I../Core/Optim/EA/Mutations -I../Core/Optim/EA/NSGA2 -I../Core/Optim/EA/Results -I../Core/Optim/EA/SPEA2 -I../Core/Optim/EA/SPEA2Adaptative -I../Core/Optim/EA/SA1 -I../OMOptimBasis -I../OMOptimBasis/FileData -I../OMOptimBasis/GUI -I../OMOptimBasis/GUI/Tools -I../OMOptimBasis/GUI/Dialogs -I../OMOptimBasis/GUI/Widgets -I../OMOptimBasis/Infos -I../OMOptimBasis/Units -I../OMOptimBasis/Tools -I../OMOptimBasis/Problems -I. -I. -o Optimization.o ../Core/Problems/Optimization.cpp

In Datei, eingefügt von ../Core/Optim/EA/EA:2,
                 von ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/NSGA2/NSGA2.h:46:16: Fehler: moeo: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:51:35: Fehler: do/make_continue_moeo.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:53:37: Fehler: do/make_checkpoint_moeo.h: Datei oder Verzeichnis nicht gefunden
../Core/Optim/EA/NSGA2/NSGA2.h:55:29: Fehler: do/make_ea_moeo.h: Datei oder Verzeichnis nicht gefunden
In file included from ../Core/Optim/EA/Results/EAStdResult.h:56,
                 from ../Core/Optim/EA/NSGA2/NSGA2.h:64,
                 from ../Core/Optim/EA/EA:2,
                 from ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/Evaluations/EAStdOptimizationEval.h:58: Fehler: expected template-name before »<« token
../Core/Optim/EA/Evaluations/EAStdOptimizationEval.h:58: Fehler: expected »{« before »<« token
../Core/Optim/EA/Evaluations/EAStdOptimizationEval.h:58: Fehler: expected unqualified-id before »<« token
In file included from ../Core/Optim/EA/NSGA2/NSGA2.h:64,
                 from ../Core/Optim/EA/EA:2,
                 from ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/Results/EAStdResult.h:63: Fehler: »moeoUnboundedArchive« has not been declared
../Core/Optim/EA/Results/EAStdResult.h:63: Fehler: expected »,« or »...« before »<« token
../Core/Optim/EA/Results/EAStdResult.h:68: Fehler: »moeoUnboundedArchive« has not been declared
../Core/Optim/EA/Results/EAStdResult.h:68: Fehler: expected »,« or »...« before »<« token
../Core/Optim/EA/Results/EAStdResult.h: In static member function »static OptimResult* EAStdResult<EOT>::buildOptimResult(Project*, Optimization*, QList<BlockSubstitutions*>, int)«:
../Core/Optim/EA/Results/EAStdResult.h:70: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:163: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:214: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:225: Fehler: »moeoRealObjectiveVector« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:225: Fehler: »moeoObjectiveVectorTraits« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:225: Fehler: »resObjVector« wurde in diesem Gültigkeitsbereich nicht definiert
../Core/Optim/EA/Results/EAStdResult.h:240: Fehler: »arch« wurde in diesem Gültigkeitsbereich nicht definiert
In file included from ../Core/Optim/EA/NSGA2/NSGA2.h:66,
                 from ../Core/Optim/EA/EA:2,
                 from ../Core/Problems/Optimization.cpp:42:
../Core/Optim/EA/Chromosome/EOStd.h: At global scope:
../Core/Optim/EA/Chromosome/EOStd.h:52: Fehler: expected initializer before »<« token
../Core/Optim/EA/Chromosome/EOStd.h:57: Fehler: expected template-name before »<« token
../Core/Optim/EA/Chromosome/EOStd.h:57: Fehler: expected »{« before »<« token
../Core/Optim/EA/Chromosome/EOStd.h:57: Fehler: expected unqualified-id before »<« token
make[2]: *** [Optimization.o] Fehler 1
make[2]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make[1]: *** [OMOptimLib] Fehler 2
make[1]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make: *** [omoptim] Fehler 2

Can the autoconf script be fixed so that it reflects the directory layout for paradiseo 1.3?

At this point I am stuck again -- I do not know how to fix this problem myself.

Re: Installing OpenModelica from sources on Linux

Do you plan on using OMOptim_ Configuring without paradiseo is always an option. And we do use paradiseo 1.3. I'll see if I can fix it. Where are your headers installed to?

Re: Installing OpenModelica from sources on Linux

I tried running the bash-script of paradiseo but as always it fails me. And it seems it now won't compile on modern GCC anyway. I'll just stick to the bianry package I made ages ago (https://build.openmodelica.org/apt/pool … md64.deb). But you are correct in that configure.in probably does not reflect the structure of the paradiseo installer since I never got that running...

From the debian build-script:

Code:


       # paradiseo cannot be compiled using gcc-4.5+
        (cd paradiseo-eo; CC=gcc-4.4 CXX=g++-4.4 cmake . -Dconfig=../install.cmake)
        (cd paradiseo-moeo; CC=gcc-4.4 CXX=g++-4.4 cmake . -Dconfig=../install.cmake)
        (cd paradiseo-mo; CC=gcc-4.4 CXX=g++-4.4 cmake . -Dconfig=../install.cmake)
        $(MAKE) -C paradiseo-eo VERBOSE=1
        mkdir -p ../paradiseo-eo/build/lib/
        # Yes, paradiseo builds outside its source directory! It's crazy!
        cp paradiseo-eo/lib/*.a ../paradiseo-eo/build/lib/
        $(MAKE) -C paradiseo-moeo VERBOSE=1
        $(MAKE) -C paradiseo-mo VERBOSE=1
        cp paradiseo-*/lib/*.a $(DEST)/usr/lib/paradiseo
        (cd paradiseo-eo/src/ && for f in `find . -name "*.h"`; do mkdir -p `dirname $(DEST)/usr/include/paradiseo/$$f`; cp $$f $(DEST)/usr/include/paradiseo/$$f; done)
        (cd paradiseo-moeo/src/ && for f in `find . -name "*.h"`; do mkdir -p `dirname $(DEST)/usr/include/paradiseo/$$f`; cp $$f $(DEST)/usr/include/paradiseo/$$f; done)
        (cd paradiseo-mo/src/ && for f in `find . -name "*.h"`; do mkdir -p `dirname $(DEST)/usr/include/paradiseo/$$f`; cp $$f $(DEST)/usr/include/paradiseo/$$f; done)
        cp paradiseo-eo/src/eo $(DEST)/usr/include/paradiseo/
        cp paradiseo-eo/src/utils/checkpointing $(DEST)/usr/include/paradiseo/utils/
        cp paradiseo-eo/src/other/external_eo $(DEST)/usr/include/paradiseo/other/
        cp paradiseo-moeo/src/moeo $(DEST)/usr/include/paradiseo/

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

Do you plan on using OMOptim_ Configuring without paradiseo is always an option. And we do use paradiseo 1.3. I'll see if I can fix it. Where are your headers installed to?

I am "still" running with gcc 4.4. The bash build script to paradiseo fails for me, too, but I think that's just an error in the script -- as far as I could tell, the build completes successfully.

I would like to try out the optimization, especially if others are using it.

After the installation, the installation directory looks like this:

Code:

2511877 drwxr-xr-x  8 root root 4,0K  5. Jul 22:16 .

2218204 drwxr-xr-x 16 root root 4,0K  3. Jul 20:41 ..
2530661 drwxr-xr-x  2 root root 4,0K  5. Jul 22:17 include
2515956 -rw-r--r--  1 root root 6,0K  8. Jun 00:33 install.cmake
2547588 drwxr-xr-x  6 root root 4,0K  8. Jun 00:38 libxml2
2511878 drwxr-xr-x  8 root root 4,0K  8. Jun 00:44 mpich2
2540206 drwxr-xr-x 12 root root 4,0K  5. Jul 21:49 paradiseo-eo
2547846 drwxr-xr-x  7 root root 4,0K  7. Jun 20:19 paradiseo-mo
2531574 drwxr-xr-x  7 root root 4,0K  7. Jun 20:19 paradiseo-moeo

In general, headers are in src/ in the respective directories of each subpackage (-eo, -mo, -moeo).

Re: Installing OpenModelica from sources on Linux

So make install does not put the files in /usr/local?

Re: Installing OpenModelica from sources on Linux

Here's what the contents of src/ look like on my machine, you can let me know if it looks the way it is supposed to:

Code:

insgesamt 880K

2546998 drwxr-xr-x 13 root root 4,0K  7. Jun 19:53 .
2540206 drwxr-xr-x 12 root root 4,0K  5. Jul 21:49 ..
2547438 -rw-r--r--  1 root root 1,5K  8. Jun 00:28 apply.h
2547364 -rw-r--r--  1 root root 1,6K  8. Jun 00:28 CMakeLists.txt
2547341 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 do
2547260 -rw-r--r--  1 root root 5,6K  8. Jun 00:28 eo
2547424 -rw-r--r--  1 root root 1,6K  8. Jun 00:28 eoAlgo.h
2547098 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoBinaryFlight.h
2547224 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoBitParticle.h
2547255 -rw-r--r--  1 root root 2,5K  8. Jun 00:28 eoBreed.h
2547427 -rw-r--r--  1 root root 3,8K  8. Jun 00:28 eoCellularEasyEA.h
2547449 -rw-r--r--  1 root root 2,6K  8. Jun 00:28 eoCloneOps.h
2547338 -rw-r--r--  1 root root 2,8K  8. Jun 00:28 eoCombinedContinue.h
2547267 -rw-r--r--  1 root root 2,8K  8. Jun 00:28 eoCombinedInit.h
2547386 -rw-r--r--  1 root root 9,1K  8. Jun 00:28 eoConstrictedVariableWeightVelocity.h
2547419 -rw-r--r--  1 root root 8,0K  8. Jun 00:28 eoConstrictedVelocity.h
2547001 -rw-r--r--  1 root root 1,8K  8. Jun 00:28 eoContinue.h
2547382 -rw-r--r--  1 root root 8,2K  8. Jun 00:28 eoCounter.h
2547099 -rw-r--r--  1 root root 1,9K  8. Jun 00:28 eoCtrlCContinue.cpp
2547387 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoCtrlCContinue.h
2547337 -rw-r--r--  1 root root 2,6K  8. Jun 00:28 eoDetSelect.h
2547119 -rwxr-xr-x  1 root root 2,4K  8. Jun 00:28 eoDetTournamentSelect.h
2547121 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoDistribUpdater.h
2547254 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoDistribution.h
2547380 -rw-r--r--  1 root root 4,3K  8. Jun 00:28 eoDominanceMap.h
2547365 -rw-r--r--  1 root root 8,0K  8. Jun 00:28 eoEasyEA.h
2547125 -rw-r--r--  1 root root 6,7K  8. Jun 00:28 eoEasyPSO.h
2547251 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoEDA.h
2547437 -rw-r--r--  1 root root 2,3K  8. Jun 00:28 eoEvalContinue.h
2547120 -rw-r--r--  1 root root 1,9K  8. Jun 00:28 eoEvalFuncCounter.h
2547266 -rw-r--r--  1 root root 1,9K  8. Jun 00:28 eoEvalFunc.h
2547442 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoEvalFuncPtr.h
2547273 -rw-r--r--  1 root root 8,0K  8. Jun 00:28 eoExtendedVelocity.h
2547421 -rw-r--r--  1 root root 2,6K  8. Jun 00:28 eoFactory.h
2547358 -rw-r--r--  1 root root 2,1K  8. Jun 00:28 eoFitContinue.h
2547118 -rw-r--r--  1 root root 2,0K  8. Jun 00:28 eoFitnessScalingSelect.h
2547257 -rw-r--r--  1 root root 8,0K  8. Jun 00:28 eoFixedInertiaWeightedVelocity.h
2547241 -rw-r--r--  1 root root 1,8K  8. Jun 00:28 eoFlight.h
2546999 -rw-r--r--  1 root root 6,1K  8. Jun 00:28 eoFlOrBinOp.h
2547426 -rw-r--r--  1 root root 3,5K  8. Jun 00:28 eoFlOrMonOp.h
2547271 -rw-r--r--  1 root root 5,9K  8. Jun 00:28 eoFlOrQuadOp.h
2547357 -rw-r--r--  1 root root 5,9K  8. Jun 00:28 eoFunctor.h
2547262 -rw-r--r--  1 root root  272  8. Jun 00:28 eoFunctorStore.cpp
2547340 -rw-r--r--  1 root root 2,2K  8. Jun 00:28 eoFunctorStore.h
2547265 -rw-r--r--  1 root root 3,1K  8. Jun 00:28 eoG3Replacement.h
2547210 -rw-r--r--  1 root root 2,1K  8. Jun 00:28 eoGaussRealWeightUp.h
2547096 -rw-r--r--  1 root root 3,4K  8. Jun 00:28 eoGenContinue.h
2547248 -rw-r--r--  1 root root 3,5K  8. Jun 00:28 eoGeneralBreeder.h
2547389 -rw-r--r--  1 root root 6,6K  8. Jun 00:28 eoGenOp.h
2547243 -rw-r--r--  1 root root 4,8K  8. Jun 00:28 EO.h
2547366 -rw-r--r--  1 root root 5,6K  8. Jun 00:28 eoInit.h
2547435 -rw-r--r--  1 root root 3,8K  8. Jun 00:28 eoInitializer.h
2547252 -rw-r--r--  1 root root 7,6K  8. Jun 00:28 eoIntegerVelocity.h
2547117 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoInt.h
2547334 -rw-r--r--  1 root root 4,0K  8. Jun 00:28 eoInvalidateOps.h
2547444 -rw-r--r--  1 root root 2,6K  8. Jun 00:28 eoLinearDecreasingWeightUp.h
2547360 -rw-r--r--  1 root root 3,1K  8. Jun 00:28 eoLinearFitScaling.h
2547429 -rw-r--r--  1 root root 6,6K  8. Jun 00:28 eoLinearTopology.h
2547264 -rw-r--r--  1 root root 3,8K  8. Jun 00:28 eoMerge.h
2547422 -rw-r--r--  1 root root 3,4K  8. Jun 00:28 eoMergeReduce.h
2547420 -rw-r--r--  1 root root 3,3K  8. Jun 00:28 eoMGGReplacement.h
2547335 -rw-r--r--  1 root root  15K  8. Jun 00:28 eoNDSorting.h
2547433 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoNeighborhood.h
2547214 -rw-r--r--  1 root root 2,8K  8. Jun 00:28 eoObject.h
2547000 -rw-r--r--  1 root root 4,3K  8. Jun 00:28 eoOneToOneBreeder.h
2547261 -rw-r--r--  1 root root 4,6K  8. Jun 00:28 eoOpContainer.h
2547432 -rw-r--r--  1 root root 5,3K  8. Jun 00:28 eoOp.h
2547378 -rw-r--r--  1 root root 3,5K  8. Jun 00:28 eoOpSelMason.h
2547363 -rw-r--r--  1 root root 2,5K  8. Jun 00:28 eoOrderXover.h
2547279 -rw-r--r--  1 root root 7,4K  8. Jun 00:28 eoParetoConstraintFitness.h
2547381 -rw-r--r--  1 root root 1,5K  8. Jun 00:28 eoParetoFitness.cpp
2547002 -rw-r--r--  1 root root 6,9K  8. Jun 00:28 eoParetoFitness.h
2547258 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoParetoRanking.h
2547263 -rw-r--r--  1 root root 2,2K  8. Jun 00:28 eoParticleBestInit.h
2547097 -rw-r--r--  1 root root 4,2K  8. Jun 00:28 eoParticleFullInitializer.h
2547207 -rw-r--r--  1 root root 6,6K  8. Jun 00:28 eoPerf2Worth.h
2547377 -rw-r--r--  1 root root 1,8K  8. Jun 00:28 eoPeriodicContinue.h
2547256 -rw-r--r--  1 root root  334  8. Jun 00:28 eoPersistent.cpp
2547434 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoPersistent.h
2547206 -rw-r--r--  1 root root  323  8. Jun 00:28 eoPopAlgo.h
2547440 -rw-r--r--  1 root root 3,3K  8. Jun 00:28 eoPopEvalFunc.h
2547384 -rw-r--r--  1 root root 8,8K  8. Jun 00:28 eoPop.h
2547443 -rw-r--r--  1 root root 5,5K  8. Jun 00:28 eoPopulator.h
2547123 -rw-r--r--  1 root root  676  8. Jun 00:28 eoPrintable.cpp
2547114 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoPrintable.h
2547122 -rw-r--r--  1 root root 2,8K  8. Jun 00:28 eoPropGAGenOp.h
2547439 -rw-r--r--  1 root root 6,0K  8. Jun 00:28 eoProportionalCombinedOp.h
2547446 -rwxr-xr-x  1 root root 2,9K  8. Jun 00:28 eoProportionalSelect.h
2547431 -rw-r--r--  1 root root 1,6K  8. Jun 00:28 eoPSO.h
2547269 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoRandomRealWeightUp.h
2547392 -rw-r--r--  1 root root 3,2K  8. Jun 00:28 eoRandomSelect.h
2547213 -rw-r--r--  1 root root 3,5K  8. Jun 00:28 eoRanking.h
2547259 -rw-r--r--  1 root root 2,1K  8. Jun 00:28 eoRankingSelect.h
2547388 -rw-r--r--  1 root root 3,2K  8. Jun 00:28 eoRealBoundModifier.h
2547362 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoRealParticle.h
2547376 -rw-r--r--  1 root root 8,3K  8. Jun 00:28 eoReduce.h
2547367 -rw-r--r--  1 root root 3,8K  8. Jun 00:28 eoReduceMerge.h
2547379 -rw-r--r--  1 root root 4,8K  8. Jun 00:28 eoReduceMergeReduce.h
2547111 -rw-r--r--  1 root root 9,8K  8. Jun 00:28 eoReduceSplit.h
2547244 -rw-r--r--  1 root root 4,1K  8. Jun 00:28 eoReplacement.h
2547385 -rw-r--r--  1 root root 5,9K  8. Jun 00:28 eoRingTopology.h
2547116 -rw-r--r--  1 root root 1,5K  8. Jun 00:28 eoScalarFitnessAssembled.cpp
2547226 -rw-r--r--  1 root root 8,5K  8. Jun 00:28 eoScalarFitnessAssembled.h
2547445 -rw-r--r--  1 root root 3,6K  8. Jun 00:28 eoScalarFitness.h
2547277 -rw-r--r--  1 root root 2,0K  8. Jun 00:28 eoSecondsElapsedContinue.h
2547441 -rw-r--r--  1 root root 2,7K  8. Jun 00:28 eoSelectFactory.h
2547246 -rw-r--r--  1 root root 6,9K  8. Jun 00:28 eoSelectFromWorth.h
2547113 -rw-r--r--  1 root root 1,7K  8. Jun 00:28 eoSelect.h
2547276 -rw-r--r--  1 root root 2,8K  8. Jun 00:28 eoSelectMany.h
2547242 -rw-r--r--  1 root root 2,5K  8. Jun 00:28 eoSelectNumber.h
2547448 -rw-r--r--  1 root root 2,0K  8. Jun 00:28 eoSelectOne.h
2547048 -rw-r--r--  1 root root 2,5K  8. Jun 00:28 eoSelectPerc.h
2547275 -rw-r--r--  1 root root 4,2K  8. Jun 00:28 eoSequentialSelect.h
2547270 -rw-r--r--  1 root root 3,2K  8. Jun 00:28 eoSGAGenOp.h
2547124 -rw-r--r--  1 root root 3,3K  8. Jun 00:28 eoSGA.h
2547339 -rw-r--r--  1 root root 5,1K  8. Jun 00:28 eoSGATransform.h
2547274 -rw-r--r--  1 root root 3,7K  8. Jun 00:28 eoSharing.h
2547250 -rw-r--r--  1 root root 2,0K  8. Jun 00:28 eoSharingSelect.h
2547430 -rw-r--r--  1 root root 2,5K  8. Jun 00:28 eoShiftMutation.h
2547209 -rw-r--r--  1 root root 2,6K  8. Jun 00:28 eoSigBinaryFlight.h
2547383 -rw-r--r--  1 root root 3,0K  8. Jun 00:28 eoSimpleEDA.h
2547245 -rw-r--r--  1 root root 3,6K  8. Jun 00:28 eoSocialNeighborhood.h
2547336 -rw-r--r--  1 root root 3,6K  8. Jun 00:28 eoStandardFlight.h
2547423 -rw-r--r--  1 root root 7,5K  8. Jun 00:28 eoStandardVelocity.h
2547361 -rw-r--r--  1 root root 4,3K  8. Jun 00:28 eoStarTopology.h
2547211 -rwxr-xr-x  1 root root 4,0K  8. Jun 00:28 eoSteadyFitContinue.h
2547100 -rw-r--r--  1 root root 3,1K  8. Jun 00:28 eoSTLFunctor.h
2547046 -rwxr-xr-x  1 root root 3,5K  8. Jun 00:28 eoStochasticUniversalSelect.h
2547278 -rwxr-xr-x  1 root root 2,5K  8. Jun 00:28 eoStochTournamentSelect.h
2547115 -rw-r--r--  1 root root 6,0K  8. Jun 00:28 eoSurviveAndDie.h
2547247 -rw-r--r--  1 root root 2,5K  8. Jun 00:28 eoSwapMutation.h
2547393 -rw-r--r--  1 root root 8,7K  8. Jun 00:28 eoSyncEasyPSO.h
2547112 -rw-r--r--  1 root root 2,2K  8. Jun 00:28 eoTimeContinue.h
2547428 -rw-r--r--  1 root root 2,6K  8. Jun 00:28 eoTopology.h
2547418 -rw-r--r--  1 root root 1,5K  8. Jun 00:28 eoTransform.h
2547359 -rw-r--r--  1 root root 4,2K  8. Jun 00:28 eoTruncatedSelectMany.h
2547212 -rw-r--r--  1 root root 3,5K  8. Jun 00:28 eoTruncatedSelectOne.h
2547253 -rw-r--r--  1 root root 2,6K  8. Jun 00:28 eoTruncSelect.h
2547215 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoTwoOptMutation.h
2547391 -rw-r--r--  1 root root 8,5K  8. Jun 00:28 eoVariableInertiaWeightedVelocity.h
2547268 -rw-r--r--  1 root root 9,5K  8. Jun 00:28 eoVariableLengthCrossover.h
2547003 -rw-r--r--  1 root root 4,4K  8. Jun 00:28 eoVariableLengthMutation.h
2547208 -rw-r--r--  1 root root 4,3K  8. Jun 00:28 eoVector.h
2547047 -rw-r--r--  1 root root 4,5K  8. Jun 00:28 eoVectorParticle.h
2547436 -rw-r--r--  1 root root 2,4K  8. Jun 00:28 eoVelocity.h
2547447 -rw-r--r--  1 root root 4,0K  8. Jun 00:28 eoVelocityInit.h
2547272 -rw-r--r--  1 root root 1,6K  8. Jun 00:28 eoWeightUpdater.h
2547049 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 es
2547390 -rw-r--r--  1 root root 2,1K  8. Jun 00:28 es.h
2547394 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 ga
2547425 -rw-r--r--  1 root root 1,5K  8. Jun 00:28 ga.h
2547101 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 gp
2547225 -rw-r--r--  1 root root 3,1K  8. Jun 00:28 Makefile.am
2547249 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 MGE
2547227 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 moo
2547126 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 obsolete
2547369 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 other
2547216 drwxr-xr-x  5 root root 4,0K  7. Jun 19:53 paradisEO
2547368 -rw-r--r--  1 root root 5,4K  8. Jun 00:28 PO.h
2547004 drwxr-xr-x  4 root root 4,0K  7. Jun 19:53 pyeo
2547280 drwxr-xr-x  2 root root 4,0K  7. Jun 19:53 utils

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

So make install does not put the files in /usr/local?

I specified the target directory with --with-paradiseo=/usr/local/paradiseo -- so those directories I gave you are all after the prefix.

The absolute path on my machine looks like this:

Code:

/usr/local/paradiseo/paradiseo-eo/src

It should work if you write configure.in so that it goes by the prefix...

Re: Installing OpenModelica from sources on Linux

My main problem is just deciding where to put this structure in the deb-packages since it won't conform to the Filesystem Hierarchy Standard with /usr/local reserved for the administrator... I guess I should just make the configure script look for both.

Re: Installing OpenModelica from sources on Linux

Try r12299 and see if it configure works with it (should print soemthing like paradiseo... stock version in: /usr/local/paradiseo)

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

Try r12299 and see if it configure works with it (should print soemthing like paradiseo... stock version in: /usr/local/paradiseo)

This seems to work:

Code:

./configure --with-omniORB --prefix=/usr/local/openmodelica/ --with-paradiseo=/usr/local/paradiseo --with-qwt

checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking whether make sets $(MAKE)... yes
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for $RMLHOME... no
checking for rmlc... /usr/local/rml/bin/rmlc
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sqlite3.h usability... yes
checking sqlite3.h presence... yes
checking for sqlite3.h... yes
checking f2c.h usability... yes
checking f2c.h presence... yes
checking for f2c.h... yes
checking for rml includefiles in /usr/local/rml... yes
checking if the user wants RML -trace support... yes
checking for antlr.Tool support... ANTLR Parser Generator   Version 2.7.7 (20060906)   1989-2005
yes
checking if the user wants to compile OMShell-terminal... yes
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking readline/history.h usability... yes
checking readline/history.h presence... yes
checking for readline/history.h... yes
checking for library containing readline... -lreadline
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking for vprintf... yes
checking for _doprnt... no
checking for getcwd... yes
checking for select... yes
checking for strdup... yes
checking for strerror... yes
checking for scandir... yes
checking for library containing dlopen... -ldl
checking for library containing sqrt... -lm
checking for library containing colamd... -lcolamd
checking for library containing make_lp... -llpsolve55
checking lp_lib.h usability... no
checking lp_lib.h presence... no
checking for lp_lib.h... no
checking lpsolve/lp_lib.h usability... yes
checking lpsolve/lp_lib.h presence... yes
checking for lpsolve/lp_lib.h... yes
checking for socket... yes
checking for gethostbyname... yes
checking for sqlite3_libversion in -lsqlite3... yes
checking LAPACK flags... ok
checking kinsol/kinsol.h usability... no
checking kinsol/kinsol.h presence... no
checking for kinsol/kinsol.h... no
checking kinsol/kinsol_dense.h usability... no
checking kinsol/kinsol_dense.h presence... no
checking for kinsol/kinsol_dense.h... no
checking nvector/nvector_serial.h usability... no
checking nvector/nvector_serial.h presence... no
checking for nvector/nvector_serial.h... no
checking sundials/sundials_types.h usability... no
checking sundials/sundials_types.h presence... no
checking for sundials/sundials_types.h... no
checking sundials/sundials_math.h usability... no
checking sundials/sundials_math.h presence... no
checking for sundials/sundials_math.h... no
checking Sundials linking... failed to link KINInit
checking for CORBA... omniorb
checking if the user wants to use the Python interface... yes
checking for qmake-qt4... no
checking for qmake-mac... no
checking for qmake... qmake
checking for qmake arguments... qmake
checking for qwt... /usr/include/qwt/
checking for paradisEO... stock version in: /usr/local/paradiseo
Not compiling ModPar
Not compiling with BOOST
checking for revision... 12300
checking for OpenModelica platform name... linux-i686
checking for Modelica platform name... linux-i686
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating Compiler/Makefile
config.status: creating Compiler/omc_release/Makefile
config.status: creating Compiler/omc_debug/Makefile
config.status: creating Compiler/omc_profiler/Makefile
config.status: creating Compiler/runtime/Makefile
config.status: creating Compiler/modpar/Makefile
config.status: creating Compiler/runtime/config.unix.h
config.status: creating PythonInterface/Makefile
config.status: creating PythonInterface/OMPython/OMConfig.py
config.status: creating Parser/Makefile
config.status: creating OMNotebook/OMNotebookGUI/OMNotebook.config
config.status: creating OMNotebook/OMNotebookGUI/Makefile.unix
config.status: creating OMShell/OMShellGUI/OMShell.config
config.status: creating OMShell/OMShellGUI/Makefile.unix
config.status: creating OMEdit/OMEditGUI/Makefile.unix
config.status: creating OMEdit/OMEditGUI/OMEdit.config
config.status: creating OMPlot/OMPlotGUI/Makefile.unix
config.status: creating OMPlot/OMPlotGUI/OMPlotGUI.config
config.status: creating OMOptim/build/Makefile.unix
config.status: creating OMOptim/build/OMOptim.config
config.status: creating OMOptim/OMOptimBasis/build/Makefile.unix
config.status: creating OMOptim/OMOptimBasis/build/OMOptimBasis.config
config.status: creating testsuite/bootstrapping/LinkMain.makefile
config.status: creating SimulationRuntime/fmi/import/Makefile
config.status: creating SimulationRuntime/c/Makefile
config.status: creating SimulationRuntime/c/ModelicaExternalC/Makefile
config.status: creating SimulationRuntime/c/simulation/libf2c/makefile.u
config.status: creating SimulationRuntime/interactive/Makefile
config.status: creating mosh/src/Makefile
config.status: executing config.unix.h.fix commands

Configured OpenModelica successfully using the following options:
Simulations may use sundials suite: No

I am going to try building everything again and see what happens. The machine is slow, so this will take some time. I'll report back.

Re: Installing OpenModelica from sources on Linux

current/yikes Stakkars meg, det kan ikke være sant:

Code:

g++ -L/usr/local/paradiseo/paradiseo-eo/lib /usr/local/paradiseo/paradiseo-mo/lib /usr/local/paradiseo/paradiseo-moeo/lib -Wl,-O1 -Wl,-rpath,/usr/lib/qt4 -o OMOptim main.o qrc_OMOptim.o    -L/usr/lib/qt4 -L. -lOMOptim -L/usr/lib -lomniORB4 -lomnithread -lqwt -lmoeo -leo -leoutils -L../OMOptimBasis/build -lOMOptimBasis -lQtSvg -L/usr/lib/qt4 -L/usr/X11R6/lib -lQtXml -lQtGui -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lpthread 

g++: /usr/local/paradiseo/paradiseo-mo/lib: Datei oder Verzeichnis nicht gefunden
g++: /usr/local/paradiseo/paradiseo-moeo/lib: Datei oder Verzeichnis nicht gefunden
make[2]: *** [OMOptim] Fehler 1
make[2]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make[1]: *** [OMOptim] Fehler 2
make[1]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make: *** [omoptim] Fehler 2

Is there supposed to be a lib directory in paradiseo-mo? (As you can see, I don't have one...) Perhaps my installation didn't complete after all?

Re: Installing OpenModelica from sources on Linux

They need to be somewhere. I used the paths from our Windows package as I assumed that was a proper paradiseo installation. Its directory structure is as follows:

Code:

paradiseo-eo/src/...

paradiseo-eo/lib
paradiseo-eo/lib/libeo.a
paradiseo-eo/lib/libeoutils.a

And similar for -moeo and -mo. Do 'find /usr/local/paradiseo -name "*.a"' and I will update the paths current/hmm

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

They need to be somewhere. I used the paths from our Windows package as I assumed that was a proper paradiseo installation. Its directory structure is as follows:

Code:

paradiseo-eo/src/...

paradiseo-eo/lib
paradiseo-eo/lib/libeo.a
paradiseo-eo/lib/libeoutils.a

And similar for -moeo and -mo. Do 'find /usr/local/paradiseo -name "*.a"' and I will update the paths current/hmm

Well, then that means my paradiseo installation must be broken, after all.

Here are the libs I have:

Code:

/usr/local/paradiseo/paradiseo-moeo/build/lib/libmoeo.a

/usr/local/paradiseo/paradiseo-moeo/build/tutorial/examples/flowshop/lib/libflowshop.a
/usr/local/paradiseo/mpich2/lib/libmpe.a
/usr/local/paradiseo/mpich2/lib/libmpichcxx.a
/usr/local/paradiseo/mpich2/lib/libmpe_null.a
/usr/local/paradiseo/mpich2/lib/libampe.a
/usr/local/paradiseo/mpich2/lib/libmpich.a
/usr/local/paradiseo/mpich2/lib/libmpe_nompi_null.a
/usr/local/paradiseo/mpich2/lib/liblmpe.a
/usr/local/paradiseo/mpich2/lib/libmpichf90.a
/usr/local/paradiseo/mpich2/lib/libmpe_f2cmpi.a
/usr/local/paradiseo/mpich2/lib/libfmpich.a
/usr/local/paradiseo/mpich2/lib/libmpe_nompi.a
/usr/local/paradiseo/mpich2/lib/libtmpe.a
/usr/local/paradiseo/mpich2/lib/libmpe_collchk.a
/usr/local/paradiseo/libxml2/lib/python2.6/site-packages/libxml2mod.a
/usr/local/paradiseo/libxml2/lib/libxml2.a
/usr/local/paradiseo/paradiseo-eo/build/lib/libga.a
/usr/local/paradiseo/paradiseo-eo/build/lib/libeo.a
/usr/local/paradiseo/paradiseo-eo/build/lib/libcma.a
/usr/local/paradiseo/paradiseo-eo/build/lib/libes.a
/usr/local/paradiseo/paradiseo-eo/build/lib/libeomoo.a
/usr/local/paradiseo/paradiseo-eo/build/lib/libeoutils.a

I will try to rebuild paradiseo and see if I can get it to finish...

Re: Installing OpenModelica from sources on Linux

That's fine. I'll make configure look for both.

Re: Installing OpenModelica from sources on Linux

Ok, try r12302.

svn up
./config.status --recheck
rm -f  OMOptim/{,OMOptimBasis/}build/Makefile{,Lib}
make -j2

Re: Installing OpenModelica from sources on Linux

sjoelund.se wrote:

Ok, try r12302.

svn up
./config.status --recheck
rm -f  OMOptim/{,OMOptimBasis/}build/Makefile{,Lib}
make -j2

Okay, here's a strange error --

Code:

g++ -L/usr/local/paradiseo/paradiseo-eo/build/lib /usr/local/paradiseo/paradiseo-moeo/build/lib -Wl,-O1 -Wl,-rpath,/usr/lib/qt4 -o OMOptim main.o qrc_OMOptim.o    -L/usr/lib/qt4 -L. -lOMOptim -L/usr/lib -lomniORB4 -lomnithread -lqwt -lmoeo -leo -leoutils -L../OMOptimBasis/build -lOMOptimBasis -lQtSvg -L/usr/lib/qt4 -L/usr/X11R6/lib -lQtXml -lQtGui -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lpthread 

/usr/local/paradiseo/paradiseo-moeo/build/lib: file not recognized: Is a directory
collect2: ld gab 1 als Ende-Status zurück
make[2]: *** [OMOptim] Fehler 1
make[2]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make[1]: *** [OMOptim] Fehler 2
make[1]: Leaving directory `/home/sfbosch/src/openmodelica/trunk/OMOptim/build'
make: *** [omoptim] Fehler 2

It thinks the paradiseo-eo/build/lib directory -- which does exist, here -- is a file. (There is only one file in it -- is that as it should be?)

Re: Installing OpenModelica from sources on Linux

r12308 should do it. My bad. Also sorry for taking so long; work computer filtered the email and my home one doesn't subscribe to the folder...

Re: Installing OpenModelica from sources on Linux

I haven't finished the install yet, but I haven't forgotten it, either -- I'm in the middle of exam stress right now. I have to have a look at this again when I am done (before the end of July).

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