|
[Sponsors] |
OpenFOAM on MinGW crosscompiler hosted on Linux |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 26, 2008, 14:45 |
Hi Alex,
I think you have t
|
#61 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
Hi Alex,
I think you have to step back a little. If your objective is to modify or write your own OpenFOAM solver then using the MinGW port is going to be a tough call. OpenFOAM is really all about the Unix environment - the MinGW port (cross compiling) is recognition of this fact. I do not consider the MinGW port suitable for solver development. If you are going to pursue OpenFOAM on Windows I suggest you try the latest version of OpenFOAM (1.5.x) and the latest MinGW patch: http://www.symscape.com/openfoam-1-5-x-on-windows The setting of WM_* variables prior to sourcing the OpenFOAM scripts is a 1.5.x feature. Also I suggest you don't manually set the WM_* compiler flags. Having successfully built your MinGW cross compiler in a local directory you need to add the installed bin directory to your path (.bashrc, export PATH=$HOME/projects/win32compiler/gcc4.2.3/install/bin:$PATH). Having done this, you need to test the MinGW compiler on a simple helloworld program. Make sure it compiles and the resulting executable runs under Wine (Window emulator for Linux) or Windows. I haven't tried foamInstallationTest, but I doubt it accounts for cross compilers, so the best way to test OpenFOAM is to try building and watch for errors. Be aware that the MinGW port only compiles the command line tools and solvers of OpenFOAM. It does not support parallel or Paraview.
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 26, 2008, 20:28 |
Hi Richard
Good news, and n
|
#62 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi Richard
Good news, and not-so-good news... :-) First things first : I successfully created the cross compiler and tested in in a hello world app... The exe runs successfully under wine and under win... In that part, no prob. But when I apply you patch to the ./OpenFOAM-1.5 it runs with some mistakes... : alex@iskandhar:~/OpenFOAM/OpenFOAM-1.5> patch -p0 < v1-mingw-openfoam-1-5-x.patch patching file wmake/wmakeLnInclude patching file wmake/wmake patching file wmake/Makefile patching file applications/utilities/postProcessing/dataConversion/foamToVTK/Make/options patching file applications/utilities/miscellaneous/foamDebugSwitches/Make/options Hunk #1 FAILED at 1. 1 out of 1 hunk FAILED -- saving rejects to file applications/utilities/miscellaneous/foamDebugSwitches/Make/options.rej patching file applications/utilities/mesh/generation/blockMesh/curvedEdges/lineEdge.C patching file applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/options patching file applications/solvers/combustion/Xoodles/Xoodles.C patching file applications/solvers/compressible/rhoCentralFoam/BCs/Make/options patching file applications/solvers/compressible/rhopSonicFoam/BCs/Make/options patching file applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/Make/options patching file applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/Make/optio ns patching file applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options patching file src/edgeMesh/Make/options patching file src/postProcessing/forces/Make/options patching file src/postProcessing/postCalc/Make/options patching file src/postProcessing/fieldAverage/Make/options patching file src/postProcessing/foamCalcFunctions/Make/options patching file src/topoChangerFvMesh/Make/options patching file src/decompositionAgglomeration/decompositionMethods/Make/files patching file src/decompositionAgglomeration/decompositionMethods/Make/options patching file src/decompositionAgglomeration/Allwmake patching file src/conversion/ensight/part/ensightPartIO.C patching file src/conversion/ensight/part/ensightPart.C patching file src/conversion/Make/options patching file src/autoMesh/Make/options Hunk #1 FAILED at 14. 1 out of 1 hunk FAILED -- saving rejects to file src/autoMesh/Make/options.rej patching file src/errorEstimation/Make/options patching file src/OSspecific/Unix/regularExpression.C patching file src/OSspecific/Unix/Unix.C patching file src/OSspecific/Unix/regularExpression.H patching file src/OSspecific/Unix/Make/files patching file src/OSspecific/Unix/Make/options patching file src/OSspecific/MSwindows/MSwindows.H patching file src/OSspecific/MSwindows/signals/sigFpe.H patching file src/OSspecific/MSwindows/signals/sigInt.H patching file src/OSspecific/MSwindows/signals/sigQuit.C patching file src/OSspecific/MSwindows/signals/sigSegv.C patching file src/OSspecific/MSwindows/signals/sigQuit.H patching file src/OSspecific/MSwindows/signals/sigSegv.H patching file src/OSspecific/MSwindows/signals/sigFpe.C patching file src/OSspecific/MSwindows/signals/sigInt.C patching file src/OSspecific/MSwindows/fileStat.H patching file src/OSspecific/MSwindows/timer.C patching file src/OSspecific/MSwindows/regularExpression.C patching file src/OSspecific/MSwindows/printStack.C patching file src/OSspecific/MSwindows/cpuTime/cpuTime.C patching file src/OSspecific/MSwindows/cpuTime/cpuTime.H patching file src/OSspecific/MSwindows/timer.H patching file src/OSspecific/MSwindows/deelx.h patching file src/OSspecific/MSwindows/regularExpression.H patching file src/OSspecific/MSwindows/OSspecific.C patching file src/OSspecific/MSwindows/clockTime/clockTime.H patching file src/OSspecific/MSwindows/clockTime/clockTime.C patching file src/OSspecific/MSwindows/MSwindows.C patching file src/OSspecific/MSwindows/fileStat.C patching file src/OSspecific/MSwindows/Make/files patching file src/OSspecific/MSwindows/Make/options patching file src/fvMotionSolver/Make/options patching file src/dynamicFvMesh/Make/options patching file src/Allwmake patching file src/thermophysicalModels/basic/Make/options patching file src/thermophysicalModels/combustion/Make/options patching file src/thermophysicalModels/thermophysicalFunctions/Make/options patching file src/thermophysicalModels/liquidMixture/Make/options patching file src/thermophysicalModels/barotropicCompressibilityModel/Make/options patching file src/thermophysicalModels/chemistryModel/Make/options patching file src/thermophysicalModels/solidMixture/Make/options patching file src/thermophysicalModels/specie/Make/options patching file src/thermophysicalModels/laminarFlameSpeed/Make/options patching file src/thermophysicalModels/liquids/Make/options patching file src/thermophysicalModels/radiation/Make/options patching file src/thermophysicalModels/pdfs/Make/options patching file src/thermophysicalModels/Allwmake patching file src/thermophysicalModels/solids/Make/options patching file src/transportModels/interfaceProperties/Make/options patching file src/transportModels/incompressible/Make/options patching file src/dynamicMesh/Make/options patching file src/lagrangian/basic/Make/options patching file src/lagrangian/dieselSpray/parcel/parcel.H patching file src/lagrangian/dieselSpray/Make/options patching file src/lagrangian/intermediate/Make/options patching file src/lagrangian/molecularDynamics/potential/Make/options patching file src/lagrangian/molecularDynamics/molecule/Make/options patching file src/lagrangian/solidParticle/Make/options patching file src/OpenFOAM/global/global.C patching file src/OpenFOAM/include/OSspecific.H patching file src/OpenFOAM/containers/Lists/PtrList/PtrList.C patching file src/OpenFOAM/db/dlLibraryTable/dlLibraryTable.C patching file src/OpenFOAM/db/IOobject/IOobject.C patching file src/OpenFOAM/db/IOobject/IOobject.H patching file src/OpenFOAM/db/IOobject/IOobjectI.H patching file src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C patching file src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C patching file src/OpenFOAM/primitives/strings/fileName/fileNameI.H patching file src/OpenFOAM/primitives/uint/uintIO.C patching file src/OpenFOAM/primitives/random/Random.C patching file src/OpenFOAM/primitives/ulong/ulongIO.C patching file src/OpenFOAM/primitives/Lists/stringListTemplates.C patching file src/OpenFOAM/primitives/Scalar/doubleFloat.H Hunk #1 succeeded at 35 (offset 3 lines). patching file src/OpenFOAM/Make/files patching file src/OpenFOAM/Make/options patching file src/engine/Make/options patching file src/finiteVolume/Make/options patching file src/ODE/Make/options patching file src/randomProcesses/Make/options patching file src/triSurface/Make/options patching file src/sampling/Make/options patching file src/Pstream/dummy/Make/options patching file src/turbulenceModels/LES/LESdeltas/Make/options patching file src/turbulenceModels/LES/compressible/Make/options patching file src/turbulenceModels/LES/LESfilters/Make/options patching file src/turbulenceModels/LES/incompressible/Make/options patching file src/turbulenceModels/RAS/compressible/Make/options patching file src/turbulenceModels/RAS/incompressible/Make/options patching file src/meshTools/triSurface/octreeData/octreeDataTriSurfaceTreeLeaf.H patching file src/meshTools/Make/files patching file src/meshTools/Make/options patching file svn_ignore.txt patching file etc/bashrc patching file etc/bashrc-mingw32 patching file etc/settings.sh Ends like this... and directories that should have been created, like /home/alex/OpenFOAM/OpenFOAM-1.5/applications/bin/mingw32 simply do not exist... same applies to /home/alex/OpenFOAM/OpenFOAM-1.5/lib/mingw32 the only ones that exist are the default /home/alex/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt and /home/alex/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt Also, the created /etc/bashrc-mingw32 states that the $WM_PROJECT_VERSION is 1.5.x, which does not actually exist... but this is a minor modification ... I think that the most serious issue here is that after sourcing /etc/bashrc-mingw32, echo $WM_COMPILER STILL is Gcc... when it should be ( forgive me if I am saying the stupidest thing ever ... !!! ) mingw32-gcc... shouldn't it..!? Anyway... I thinh i am making some progress here... will now try to use the same cross compiler setup to build OF-1.4.1 About OF develoment... I do not plan to develop stuff for OF under a win platform... I know tha this is way too difficult... I intend to PORT lots of stuff that me and my colleagues have developped for OF under linux to Win executables... and I think this should be possible by hand editing the wmake files within each involved directories prior to launching the ./Allwmake... am I right here..?? Thanks for Yout time, Best regards Alex |
|
December 27, 2008, 12:51 |
Hi Again,
I made a new try
|
#63 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi Again,
I made a new try on a Suse 10.2, followed your "Howto" in Symscape home page relating to OpenFOAM-1.4.1. I have set the path variable to HOME/projects/win32compiler/gcc4.2.3/install/bin, edited the /.OpenFOAM-1.4.1/bashrc-mingw32 And launched ./Allwmake... Some dlls effectively get compiled in the /home/alex/OpenFOAM/OpenFOAM-1.4.1/lib/linuxmingw32DPOpt directory... But from time to time some errors pop out in the shell, like /home/alex/projects/win32compiler/gcc4.2.3/install/bin/../lib/gcc/mingw32/4.2.3/ ../../../../mingw32/bin/ld: cannot find -ldynamicMesh collect2: ld returned 1 exit status make: *** [/home/alex/OpenFOAM/OpenFOAM-1.4.1/lib/linuxmingw32DPOpt/libdynamicFvMesh.dll] Error 1 + wmake libso topoChangerFvMesh SOURCE=topoChangerFvMesh/topoChangerFvMesh.C ; mingw32-g++ -Dlinux -DDP -DWIN32.... I Have noticed that the error that pops out is always error one of make... Somehow, make fails to find some required library... is this normal in the win32 build proccess...? This is a bit awkward... how can it find libraries it it is still building them... :-D ? Anyway, think i've made some progress here... ...but that stupid ***MAKE ... error 1 still puzzles me... is it natural... ? I guess not... :-( Best regards... Alex |
|
December 27, 2008, 18:02 |
Hi
In the result of the ./A
|
#64 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi
In the result of the ./Allwmake the only thing that was built in OpenFOAM-1.4.1 was liblMlib.dll, libMGridGen.dll and libz.dll, no libPStream.dll was ever built inside the /dummy folder, no exe's were built in the /home/alex/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxmingw32DPOpt Somehow, the compiling produces all the *.o files and builds the dependency lists... but the final step... This is a typical example : /home/alex/projects/win32compiler/gcc4.2.3/install/bin/../lib/gcc/mingw32/4.2.3/ ../../../../mingw32/bin/ld: cannot find -lfiniteVolume collect2: ld returned 1 exit status make: *** [/home/alex/OpenFOAM/OpenFOAM-1.4.1/lib/linuxmingw32DPOpt/liberrorEstimation.dll ] Error 1 Fails... and no linking is made... There is some trick here that is eluding me... I even tried inside /src wmake libso OpenFOAM, hoping to build the dlls first before ./Allwmake but the build did not take place because libPStream.dll was not present... I am stuck here... Will try one more time without removing lnInclude directories before the build... Dunno what else to do... :-( Best regards Alex |
|
December 27, 2008, 20:13 |
Hi Alex,
I think your patch
|
#65 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
Hi Alex,
I think your patching of OpenFOAM 1.5 failed because you need to use 1.5.x from the git repository: http://opencfd.co.uk/openfoam/download.html Back to your 1.4.1 build. Any error during the building of the foundation libraries (e.g., OpenFOAM.dll) will prevent the dlls from building and all subsequent libraries and executables will then fail to link. The order of building ensures dependents are built in the correct order. I would guess that you might be missing the step: 7) Copy wmkdep and dirToString from wmake/rules/linuxGcc to wmake/rules/linuxmingw32. from: http://www.symscape.com/openfoam-on-windows It's crucial that wmkdep and dirToString be built using the standard Linux gcc compiler. You have to start a standard Linux gcc build and these tools will be built - you don't have to compile any further. Hope this helps.
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 27, 2008, 20:19 |
One more thing. There won't be
|
#66 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
One more thing. There won't be a libPStream.dll.
I suggest you concentrate on building OpenFOAM.dll - stop the build if it fails, there's no point in going any further. Once it does build it's likely that everything will be build correctly.
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 28, 2008, 00:41 |
Hi Richard
Did exactly what
|
#67 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi Richard
Did exactly what you said: I even ./Allwmake before removing the inInclude directories, to ensure that everything was in place... After patching, I copied the only two executables of wmake/rules/linuxGcc to wmake/rules/linuxmingw32 : wmkdep and dirToString I modified and sourced bashrc-mingw32, and then ./Allwmake The first ***make error 1 came early in the proccess : + cd wmake + ./makeWmake make: Nothing to be done for `all'. + cd src + ./Allwmake + cd /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows + wmakeLnInclude . /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to ./lnInclude + cd /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM + wmakeLnInclude . /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to ./lnInclude + wmake libso zlib-1.2.1 /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/zlib-1.2.1/lnInclude ln: creating symbolic link `./zfstream.h' to `../contrib/iostream3/zfstream.h': File exists SOURCE=adler32.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/adler32.o SOURCE=compress.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/compress.o SOURCE=crc32.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/crc32.o SOURCE=deflate.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/deflate.o SOURCE=gzio.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/gzio.o SOURCE=infback.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/infback.o SOURCE=inffast.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/inffast.o SOURCE=inflate.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/inflate.o SOURCE=inftrees.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/inftrees.o SOURCE=trees.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/trees.o SOURCE=uncompr.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/uncompr.o SOURCE=zutil.c ; mingw32-gcc -m32 -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -O3 -DNDEBUG -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/zutil.o Creating library file: /home/alex/OpenFOAM/OpenFOAM-1.4.1/lib/linuxmingw32DPOpt/libz.a `/home/alex/OpenFOAM/OpenFOAM-1.4.1/lib/linuxmingw32DPOpt/libz.dll' is up to date. + wmake libo OSspecific/MSwindows /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude Making dependency list for source file OSspecific.C Making dependency list for source file printStack.C Making dependency list for source file regularExpression.C Making dependency list for source file signals/sigFpe.C Making dependency list for source file signals/sigSegv.C Making dependency list for source file signals/sigInt.C Making dependency list for source file signals/sigQuit.C Making dependency list for source file timer.C Making dependency list for source file fileStat.C Making dependency list for source file cpuTime/cpuTime.C Making dependency list for source file clockTime/clockTime.C SOURCE=OSspecific.C ; mingw32-g++ -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -O3 -DNDEBUG -DNoRepository -ftemplate-depth-40 -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/OSspecific.o SOURCE=printStack.C ; mingw32-g++ -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -O3 -DNDEBUG -DNoRepository -ftemplate-depth-40 -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/printStack.o SOURCE=regularExpression.C ; mingw32-g++ -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -O3 -DNDEBUG -DNoRepository -ftemplate-depth-40 -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/regularExpression.o deelx.h: In member function 'int CConditionElxT<chart>::MatchNext(CContext*) const [with CHART = char]': deelx.h:1330: warning: 'condition_yes' may be used uninitialized in this function deelx.h:1330: warning: 'ncsize' may be used uninitialized in this function SOURCE=signals/sigFpe.C ; mingw32-g++ -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -O3 -DNDEBUG -DNoRepository -ftemplate-depth-40 -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/sigFpe.o signals/sigFpe.C: In function 'void clearFpe()': signals/sigFpe.C:52: error: '_clearfp' was not declared in this scope signals/sigFpe.C:53: error: '_controlfp' was not declared in this scope signals/sigFpe.C: In member function 'void Foam::sigFpe::set()': signals/sigFpe.C:137: error: '_controlfp' was not declared in this scope signals/sigFpe.C:139: error: '_EM_ZERODIVIDE' was not declared in this scope signals/sigFpe.C:139: error: '_EM_INVALID' was not declared in this scope signals/sigFpe.C:139: error: '_EM_OVERFLOW' was not declared in this scope signals/sigFpe.C:140: error: '_MCW_EM' was not declared in this scope make: *** [Make/linuxmingw32DPOpt/sigFpe.o] Error 1 + [ = OPENMPI -a ! -r /root/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linuxGccDPOpt/lib/libm pi.a -a ! -r /root/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linuxGccDPOpt/lib/libm pi.so ] + [ = LAM -a ! -r /lib/libmpi.a -a ! -r /lib/libmpi.so ] + [ = MPICH -a ! -r /lib/libmpich.a -a ! -r /lib/libmpich.so ] + [ mingw32 = mingw32 ] + ln -s /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/Pstream/dummy/IPread.C OpenFOAM/db/IOstreams/Pstreams/IPreadDummy.C + ln -s /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/Pstream/dummy/OPwrite.C OpenFOAM/db/IOstreams/Pstreams/OPwriteDummy.C + ln -s /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/Pstream/dummy/Pstream.C OpenFOAM/db/IOstreams/Pstreams/PstreamDummy.C + wmake libso OpenFOAM /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude Making dependency list for source file primitives/uint/uintIO.C Making dependency list for source file primitives/ulong/ulongIO.C Making dependency list for source file primitives/random/Random.C Making dependency list for source file db/IOstreams/Fstreams/IFstream.C Making dependency list for source file db/IOstreams/Fstreams/OFstream.C Making dependency list for source file db/IOstreams/Pstreams/PstreamDummy.C Making dependency list for source file db/IOstreams/Pstreams/IPreadDummy.C Making dependency list for source file db/IOstreams/Pstreams/OPwriteDummy.C Making dependency list for source file db/IOobject/IOobject.C Making dependency list for source file db/dlLibraryTable/dlLibraryTable.C Making dependency list for source file graph/writers/jplotGraph/jplotGraph.C Making dependency list for source file graph/writers/xmgrGraph/xmgrGraph.C Making dependency list for source file graph/writers/gnuplotGraph/gnuplotGraph.C Making dependency list for source file graph/writers/rawGraph/rawGraph.C Making dependency list for source file graph/graph.C Making dependency list for source file graph/curve/curve.C Making dependency list for source file algorithms/MeshWave/FaceCellWaveName.C Making dependency list for source file algorithms/MeshWave/MeshWaveName.C Making dependency list for source file interpolations/patchToPatchInterpolation/PatchToPatchInterpolationName.C Making dependency list for source file meshes/preservePatchTypes/preservePatchTypes.C Making dependency list for source file meshes/bandCompression/bandCompression.C make: *** No rule to make target `lnInclude/cpuTime.H', needed by `fields/GeometricFields/pointFields/pointFields.dep'. Stop. + [ mingw32 = mingw32 ] + cp /usr/include/FlexLexer.h /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/. + wmake libso lagrangian/basic /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/lagrangian/basic/lnInclude make: *** No rule to make target `/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/cpuTime.H', needed by `indexedParticle/indexedParticleCloud.dep'. Stop. + wmake libso triSurface /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/triSurface/lnInclude Making dependency list for source file triSurface/interfaces/NAS/readNAS.C Making dependency list for source file triSurfaceFields/triSurfaceFields.C Making dependency list for source file tools/labelledTri/sortLabelledTri.C Making dependency list for source file triSurface/surfacePatch/surfacePatchIOList.C Making dependency list for source file triSurface/surfacePatch/surfacePatch.C Making dependency list for source file triSurface/geometricSurfacePatch/geometricSurfacePatch.C Making dependency list for source file triSurface/triSurfaceTools/triSurfaceTools.C Making dependency list for source file triSurface/interfaces/VTK/writeVTK.C Making dependency list for source file triSurface/interfaces/AC3D/writeAC.C Making dependency list for source file triSurface/interfaces/AC3D/readAC.C Making dependency list for source file triSurface/interfaces/DX/writeDX.C Making dependency list for source file triSurface/interfaces/TRI/readTRI.C Making dependency list for source file triSurface/interfaces/TRI/writeTRI.C Making dependency list for source file triSurface/interfaces/OFF/writeOFF.C Making dependency list for source file triSurface/interfaces/OFF/readOFF.C Making dependency list for source file triSurface/interfaces/SMESH/writeSMESH.C Making dependency list for source file triSurface/interfaces/OBJ/writeOBJ.C Making dependency list for source file triSurface/interfaces/OBJ/readOBJ.C Making dependency list for source file triSurface/interfaces/GTS/readGTS.C Making dependency list for source file triSurface/interfaces/GTS/writeGTS.C Making dependency list for source file triSurface/interfaces/STL/readSTLBINARY.C Making dependency list for source file triSurface/interfaces/STL/readSTLASCII.L Making dependency list for source file triSurface/interfaces/STL/readSTL.C Making dependency list for source file triSurface/interfaces/STL/writeSTL.C Making dependency list for source file triSurface/stitchTriangles.C Making dependency list for source file triSurface/triSurfaceAddressing.C make: *** No rule to make target `/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/cpuTime.H', needed by `triSurface/triSurface.dep'. Stop. + wmake libso edgeMesh /home/alex/OpenFOAM/OpenFOAM-1.4.1/wmake/wmakeLnInclude: linking include files to /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/edgeMesh/lnInclude Making dependency list for source file featureEdgeMesh.C Making dependency list for source file edgeMeshIO.C Making dependency list for source file edgeMesh.C SOURCE=edgeMesh.C ; mingw32-g++ -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -O3 -DNDEBUG -DNoRepository -ftemplate-depth-40 -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/edgeMesh.o SOURCE=edgeMeshIO.C ; mingw32-g++ -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -O3 -DNDEBUG -DNoRepository -ftemplate-depth-40 -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/edgeMeshIO.o SOURCE=featureEdgeMesh.C ; mingw32-g++ -Dlinux -DDP -DWIN32 -DLITTLE_ENDIAN -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -O3 -DNDEBUG -DNoRepository -ftemplate-depth-40 -IlnInclude -I. -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude -I/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -c $SOURCE -o Make/linuxmingw32DPOpt/featureEdgeMesh.o /home/alex/projects/win32compiler/gcc4.2.3/install/bin/../lib/gcc/mingw32/4.2.3/ ../../../../mingw32/bin/ld: cannot find -lOpenFOAM collect2: ld returned 1 exit status make: *** [/home/alex/OpenFOAM/OpenFOAM-1.4.1/lib/linuxmingw32DPOpt/libedgeMesh.dll] Error 1 I guess there is no point in continuing without figuring out what happened... Tomorrow will make another try with a brand new OF-1.4.1 install without compiled stuff... is it possible that extraneous files inside OpenFOAM-1.4.1 might be causing this... ? Thanks for yr help :-) Best regards Alex |
|
December 28, 2008, 13:37 |
Hi Alex,
I see two problems
|
#68 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
Hi Alex,
I see two problems from your build log: 1) "signals/sigFpe.C:52: error: '_clearfp' was not declared in this scope" - this function should be available in your MinGW compiler includes - might be worth cheking for it. Could still be a problem with the cross compiler. I suggest trying to compile a test program with a call to _clearfp. I think this could be related to the float.h mod in step 2 from: http://www.symscape.com/openfoam-on-windows Add #include_next <float.h> to the end of "lib/gcc/mingw32/4.2.3/include/float.h" and remove it from "mingw32/include/float.h" to include the right "float.h". 2) "make: *** No rule to make target `/home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/cpuTime.H', needed by `triSurface/triSurface.dep'. Stop." - I think cpuTime.H should be in /home/alex/OpenFOAM/OpenFOAM-1.4.1/src/OSspecific/MSwindows/lnInclude. This could be caused by the failure of OpenFOAM.dll to compile. I think there is a chance that the extraneous files might be the cause of the second problem, but not the first. Hope this helps.
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 28, 2008, 16:06 |
Hi Again Richard...
Probabl
|
#69 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi Again Richard...
Probably the patch file was corrupted... I did the drill all over again, imported a new patch from symscape and its rolling now... Will tell you when it ends... :-) Thanks for all yr help :-) Alex |
|
December 28, 2008, 16:14 |
Hi Alex,
The */lnInclude di
|
#70 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
Hi Alex,
The */lnInclude directories are generated during the allwamke build and filled with symbolic links to the relevant header/source files within a top level directory such as OpenFOAM. Sometimes if the build fails the links won't be generated, so try restarting the build, assuming you are starting from a clean build. Also I think the link generation is performed as a separate process (non-blocking), so a restart might be necessary anyway.
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 28, 2008, 17:05 |
Hi Richard,
So far so good.
|
#71 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi Richard,
So far so good... the allwmake.log file is 400k and there is no error so far... Just two more questions... Suppose I wanted to port some utilities that i have created in OpenFOAM, to windows, I would have to tweak the allwmake files in each relevant directory BEFORE applying the patch or AFTER ? Makes more meaning tweaking them before, since the patched dependencies and makefiles will then have the information of the build structure on My Own version of OpenFOAM execs included... am I right here...? One more thing... suppose I wanto to Build an win version of OpenFOAM-1.5-dev from http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/ Professor Jasak's tweaked OpenFOAM... How sould i do...? I am not familiar with git repositories... Thx once more Alex |
|
December 28, 2008, 18:25 |
Hi Alex,
Great news, finall
|
#72 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
Hi Alex,
Great news, finally. Patching only works for a known (state) version of the original source - it can't anticipate changes. So you'd have to apply the patch before making your changes/additions and then ensure those changes are compatible with Windows. In your favor is the fact that most of the Windows specific code is encapsulated in the OSspecific source. OpenFOAM executables typically don't need any special Windows modifications. I don't have any experience with OpenFOAM-1.5-dev so I can't help you there. I'm no expert on git either, but I think you should be able to find out enough to check out and keep a local version update using: git clone http://repo.or.cz/r/OpenFOAM-1.5.x.git git pull http://repo.or.cz/r/OpenFOAM-1.5.x.git reference: http://opencfd.co.uk/openfoam/download.html
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 28, 2008, 18:37 |
So...
The build proccess en
|
#73 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
So...
The build proccess ended... and successfully built all the dlls, but failed to build all the exes... Built 42 dlls and 72 exes... Shouldnt it have built all the 187 binaries like in the linux environment...? or is this a normal completion due to the impossibilities of building all the libs as you reported in Symscape web page...? BTW, I already know how to work with git... its simple... only I had never used it before... Best regards Alex PS the last lines of my allwmake.log are these : setSet.C:50:31: error: readline/readline.h: No such file or directory setSet.C:51:30: error: readline/history.h: No such file or directory setSet.C: In function 'int main(int, char**)': setSet.C:696: error: 'read_history' was not declared in this scope setSet.C:742: error: 'readline' was not declared in this scope setSet.C:748: error: 'add_history' was not declared in this scope setSet.C:749: error: 'write_history' was not declared in this scope make[3]: *** [Make/linuxmingw32DPOpt/setSet.o] Error 1 make[2]: *** [Optional] Error 2 make[1]: *** [manipulation] Error 2 make: *** [mesh] Error 2 + [ 0 = 1 -a = doc ] but alex@iskandhar:~/OpenFOAM$ find . -name setSet* ./OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/setSet ./OpenFOAM-1.4.1/applications/utilities/mesh/manipulation/Optional/setSet ./OpenFOAM-1.4.1/applications/utilities/mesh/manipulation/Optional/setSet/setSet .C ./OpenFOAM-1.4.1/applications/utilities/mesh/manipulation/Optional/setSet/setSet .dep Seems that there is no source files with the definition of setSet... ... and that the version of OpenFOAM that I have downloaded from the UK mirror was incomplete... :-( Alex |
|
December 28, 2008, 18:52 |
... Must I restart the whole t
|
#74 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
... Must I restart the whole thing ( install, remove inIncludes, remove /src/../OSspecific, patch, copy wmkdep and dirToString, change and source bashrc-mingw32, and rebuild ) after fixing up the setSet thing, or can I resume it from the stopping point...?
I mean, all the dlls are already built,... Best regards Alex |
|
December 28, 2008, 22:10 |
I would suggest starting from
|
#75 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
I would suggest starting from scratch again with the complete original source. It's likely that if you try anything else the source is going to be newer than the build objects/dlls anyway and force a complete rebuild.
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 29, 2008, 06:42 |
Hi Richard
Left the whole t
|
#76 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi Richard
Left the whole thing rolling again all night, in another machine I have at home... It is a Suse 10.2 with 2Gb memory... the wmake went allright, built the dlls, and started to build the exes, .. and stopped exactly at the same point... Trying to build setSet, and complaning about readline not being defined in that scope... And I Used OpenFOAM-1.4.1 sources unpackes form my engineering software DVD collection... not from any mirror... Do You think this may be being caused by that foamFlex++ stuff...? ... because... everything rolls until this particular bit of code... ... and it is too much coincidence that it is cranked in both sources... ...Shouldnt it have compiled 182 binaries, like in Unix...? Best regards Alex |
|
December 29, 2008, 10:24 |
I doubt it's Flexx++, it would
|
#77 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
I doubt it's Flexx++, it would mention Flex in the error message if it was.
You should have most of the Unix binaries give or take a couple (e.g., ccm++ filter that depends on CGNS). I'm at a loss...sorry
__________________
Symscape, Computational Fluid Dynamics for all |
|
December 29, 2008, 11:44 |
Hi Richard,
Just one more t
|
#78 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Hi Richard,
Just one more thing... Shouldn't readline.* and setSet.* be defined inside OpenFOAM-1.4.1/src instead of being inside ./OpenFOAM-1.4.1/applications/utilities/mesh/manipulation/Optional/... ? I used the "Standard Install" of OpenFOAM... Unpack *.general.tar.gz", ".linuxDPOpt.tar.gz" cd linux, and unpack "gcc.tar.gz", "paraview.tar.gz" and "jsdk.tar.gz" source .OpenFOAM-1.4.1/bashrc... and that's all I did not compile OF from source... could this be the cause of allwmake not finding those files, or resolving those dependencies...? Where do those files readline.* history.* setSet.* live in your OpenFOAM...? I guess the probl lies here... Best regards.. Alex |
|
December 29, 2008, 12:14 |
Think I found one solution ( h
|
#79 |
Senior Member
Alexandre Pereira
Join Date: Mar 2009
Posts: 155
Rep Power: 17 |
Think I found one solution ( hopefully ) about readline...
found this http://openfoamwiki.net/index.php/Ho...mpile_OpenFOAM I guess that I will have to tweak $WM_PROJECT_DIR/applications/utilities/mesh/manipulation/Optional/Allwmake ... I only Have no clue yet about history.h... So... readline lives in /usr/include/readline/readline.h, and history lives in /usr/include/readline/history.h... .. thats is what -find told me... Will try the drill again in a few hours... Hope I do not have to tweak many other Allmakes along the way... :-( and start all over again... :-(( Thanks for yr help Best regards Alex |
|
December 29, 2008, 17:32 |
Hi Alex,
I think your readl
|
#80 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
Hi Alex,
I think your readline problems are because "/usr/include/readline/readline.h" exists, whereas on my system it doesn't. It appears MinGW doesn't support readline (at least by default), so sourcing the "/usr/.." version is wrong. I suggest that you edit "/applications/utilities/mesh/manipulation/Optional/Allwmake", replacing: if [ -f /usr/include/readline/readline.h ]; then with: if [ "mingw32" != "$WM_COMPILER" -a -f /usr/include/readline/readline.h ]; then No need to repatch etc, just make this change and recompile. Hopefully that should see you through to the end.
__________________
Symscape, Computational Fluid Dynamics for all |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
OpenFOAM 15x MinGW Windows Port | gocarts | OpenFOAM Installation | 1 | April 17, 2009 11:41 |
divide by zero FPE issue in OpenFOAM 141 MingW port | allenzhao | OpenFOAM Installation | 9 | September 22, 2008 18:13 |
OpenFOAM on SuSE Linux 100 | musahossein | OpenFOAM Installation | 4 | June 20, 2008 17:47 |
OpenFoam and Linux | Tomislav Maric | Main CFD Forum | 13 | October 25, 2007 05:45 |
OpenFOAM and linux distros | billy | OpenFOAM | 8 | September 8, 2005 02:43 |