Re: compile error: dlls missing

92 views
Skip to first unread message

Per Abrahamsen

unread,
Jun 10, 2013, 3:26:41 AM6/10/13
to Christof Kluß, daisy...@googlegroups.com
Unless you need OpenMI, I suggest compiling with "make daisy" (Unix) or "make daisy.exe" (MS Windows) which just build the command line executable, without OpenMI support.

-- Per


On Fri, Jun 7, 2013 at 10:23 AM, Christof Kluß <christo...@googlemail.com> wrote:
Hi,

I want to compile Daisy, but some dlls seems to be missing

OpenMI\daisy_dotnet.dll

libdeps\OpenMI.Standard.dll
libdeps\Oatc.OpenMI.Sdk.Backbone.dll
libdeps\Oatc.OpenMI.Sdk.Wrapper.dll
libdeps\Oatc.OpenMI.Sdk.DevelopmentSupport.dll
...

The "*OpenMI*dll might be the same as
http://code.google.com/p/openmimodels/source/browse/trunk/source/SimpleModelWrapper/bin/#bin%2FDebug

but were I get the daisy_dotnet.dll? Or should it be compiled? I am grateful for every suggestion.

thx
Christof

--
 
---
You received this message because you are subscribed to the Google Groups "Daisy soil plant atmosphere system model" group.
To unsubscribe from this group and stop receiving emails from it, send an email to daisy-model...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Christof Kluß

unread,
Jun 23, 2013, 2:04:34 PM6/23/13
to daisy...@googlegroups.com, Christof Kluß, aher...@gfo.uni-kiel.de
Hi Per

thx, works fine. Some infos for Windows that maybe help others... I had some problems to set it up with Eclipse and MinGW

MinGW and MSYS

as described under http://code.google.com/p/daisy-model/wiki/Programmers you will need
boost, UFconfig, CXSparse and SuiteSparse_config I unpacked them to C:\MinGW
than change dir to "C:\MinGW\CXSparse". "make CC=gcc" will build the library "libcxsparse.a" in "C:\MinGW\CXSparse\Lib" . If you have changed the following things in the Daisy Makefile you should be able to create a daisy.exe

SHELL = sh # maybe not needed

USE_PROFILE = true # if you want to use profiling...

BOOSTINC = -isystem C:/MinGW/boost_1_53_0
SETUPDIR = C:/DaisySVN  # change to your main Daisy Directory
MAKENSIS = "C:/Program Files/NSIS/makensis.exe"
MINGWHOME = C:/MinGW
...
CXSPARSELIB = -LC:/MinGW/CXSparse/Lib -lcxsparse
...
If you want use gprof the Linker needs the pg Flag too, so
LINK = $(PREFIX)g++ $(PROFILE) $(DEBUG) -o

now "make daisy.exe" should create an executable Daisy file

You do not need to build Boost, but if you want... change to "C:\MinGW\boost_1_53_0\tools\build\v2\engine" and type "bootstrap.bat gcc". Copy (or set PATH to) "bjam.exe" and "b2.exe" from "C:\MinGW\boost_1_53_0\tools\build\v2\engine\bin.ntx86" to "C:\MinGW\boost_1_53_0" and change to this directory. Then run "bjam --build-dir=build toolset=gcc stage". The created libs will be in "C:\MinGW\boost_1_53_0\stage\lib"

Eclipse as IDE
If you want to use Eclipse as IDE for C you can use CDT (http://www.eclipse.org/cdt/downloads.php). Choose "Makefile Projekt with existing code" and in Project > Properties > C/C++ Build enable "Generate Makefiles automatically" and choose your dir that contains the Daisy Makefile (i.e. ${workspace_loc:/DaisySVN})

Now you should be able to build Daisy with Eclipse. For profiling "Linux Tools Projekt" seems to be a good choice (http://wiki.eclipse.org/Linux_Tools_Project), most of the tools works with Windows. Also Cppcheck (http://cppcheck.sourceforge.net/) and www.doxygen.org

if you have tips to simplify the work, please report them ;)

thx again
Christof

Christof Kluß

unread,
Jun 23, 2013, 2:28:37 PM6/23/13
to daisy...@googlegroups.com, Christof Kluß, aher...@gfo.uni-kiel.de
Hi Per

probably unimportant messages (or false positives) from cppcheck (at this point I do not have the background which files are realy important and which are completely irrelevant for daisy.exe. I do not need GUI features (QT etc.)) ;)
  • (cppcheck error) Memory leak: v    nrutil.C line 28, 38, 48, 58, 68   
  • (cppcheck error) Null pointer dereference    lexer_table.C   line 727, 718   
  • (cppcheck error) Reference to auto variable returned.  vcheck.C line 889

while I try around, I've seen some problems on files, possibly they are not necessary in the trunk?

  • crop_old.C
  • crop_sold.C
  • action_divide.C
  • action_merge.C
  • cs.h (could be C:\MinGW\CXSparse\Include\cs.h in Makefile?)
  • btest.C
  • bugmain.C
  • hydraulic_old.C
  • hydraulic_old2.C
  • many QT files (there seems to be QT4 and old QT3 (all q*) ones?)
  • q*.C, q*.h, maybe ui*.C, ui*.h, vis*
  • w32reg.C and w32reg.h ??

Daisy contains extremely many large files, so it would be cool for freshmen, if not more necessary files would no longer be in the trunk ;)

Regards Christof

Christof Kluß

unread,
Jun 24, 2013, 4:23:10 AM6/24/13
to daisy...@googlegroups.com, Christof Kluß, aher...@gfo.uni-kiel.de
Hi

something more, maybe helpful... for Windows MinGW Qt4 support (not necessary, only for GUI). Qt4 sources from http://qt-project.org/downloads (tar xvf  qt-everywhere-opensource-src-4.8.4.tar.gz) to "C:\MinGW\"
  • tar xvf  qt-everywhere-opensource-src-4.8.4.tar.gz
  • mv qt-everywhere*4.8.4 qt4.8.4 (only for a shorter name...)
  • include "C:\MinGW\qt4.8.4\bin" in your Windows PATH (System Properties, Advanced, Environment Variables)
  • configure
  • make   (choose the opensource version)
(http://qt-project.org/doc/qt-4.8/install-win.html) now include "C:/MinGW/qt4.8.4/include" and "C:/MinGW/boost_1_53_0" in Eclipse (Project > Properties > Path and Symbols) GNU C and GNU C++ to get rid off the error messages (because some includes cannot be found...) and change the Qt4 include dir in the Daisy Makefile:
  • Q4INCLUDE = -isystem C:/MinGW/qt4.8.4/include
  • Q4HOME = C:/MinGW/qt4.8.4/
Qt4 probably now should work, but I do not know the "make target". (Per, is there an overview for the make targets in the Makefile?). Perhaps it would work with the binary version of Qt4 from the same website, too. But it is certainly safest to build everything with the same gcc. (MinGW from http://sourceforge.net/projects/mingwbuilds/files/latest/download )

Furthermore it is helpful in Eclipse to set (C/C++ General > Paths and Symbols)
  • under Libraries add: cxsparse
  • under Library Paths add: C:/MinGW/CXSparse/Lib

Best

Christof

Am Sonntag, 23. Juni 2013 20:04:34 UTC+2 schrieb Christof Kluß:

Per Abrahamsen

unread,
Jun 26, 2013, 11:51:05 AM6/26/13
to Christof Kluß, daisy...@googlegroups.com, aher...@gfo.uni-kiel.de
On Sun, Jun 23, 2013 at 8:28 PM, Christof Kluß <christo...@googlemail.com> wrote:

  • (cppcheck error) Memory leak: v    nrutil.C line 28, 38, 48, 58, 68   
  • (cppcheck error) Null pointer dereference    lexer_table.C   line 727, 718   
  • (cppcheck error) Reference to auto variable returned.  vcheck.C line 889

I believe these are all false positives.

 

while I try around, I've seen some problems on files, possibly they are not necessary in the trunk?

  • crop_old.C
  • crop_sold.C
  • action_divide.C
  • action_merge.C
  • cs.h (could be C:\MinGW\CXSparse\Include\cs.h in Makefile?)
  • btest.C
  • bugmain.C
  • hydraulic_old.C
  • hydraulic_old2.C
  • many QT files (there seems to be QT4 and old QT3 (all q*) ones?)
  • q*.C, q*.h, maybe ui*.C, ui*.h, vis*
  • w32reg.C and w32reg.h ??

Daisy contains extremely many large files, so it would be cool for freshmen, if not more necessary files would no longer be in the trunk ;)

 

Some of these are listed under DISABLED in the Makefile and may eventually be reenabled, the rest are platform dependent files.

-- Per

jokul...@web.de

unread,
Oct 1, 2013, 8:48:33 AM10/1/13
to daisy...@googlegroups.com
Hi,

I would like to run Daisy in the Eclipse environment and so follow the explanations of Christof. Unfortunately I am not able to get a working daisy.exe.  When I made a make, I got the message "...ld.exe: skipping incompatible libcxsparse.a when searching for -lcxsparse" So I downloaded the most recent version of CXSparse and compared it to the applied one - there are both the same...

I am working on a 64bit Windows system.

What can I do ?

Thanks for your help in advance !

Klemens



Am Montag, 10. Juni 2013 09:26:41 UTC+2 schrieb Per Abrahamsen:

Per Abrahamsen

unread,
Oct 1, 2013, 11:14:39 AM10/1/13
to jokul...@web.de, daisy...@googlegroups.com
Make sure you compile CXSparse with the same compiler (and compiler options) as the compile the rest of Daisy.

jokul...@web.de

unread,
Oct 2, 2013, 5:11:05 AM10/2/13
to daisy...@googlegroups.com, jokul...@web.de
Thanks for your answer, Per !

So far I used only very simple Fortran makefiles, so that I am not aware of complicated makefiles.
I followed the explanations of Christof where cxsparse is compiled as "make CC=gcc", so gcc is used for compiling both, Daisy and cxsparse.

But which are the relevant compiler options I could play with ?

Thanks in advance !

Klemens
Reply all
Reply to author
Forward
0 new messages