|
[Sponsors] |
[foam-extend.org] Error compiling OpenFOAM-1.6-ext |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 26, 2010, 23:48 |
Error compiling OpenFOAM-1.6-ext
|
#1 | |
Member
Fábio César Canesin
Join Date: Mar 2010
Location: Florianópolis
Posts: 67
Rep Power: 16 |
I understand the error for not being able to include "parmetis.h" . .but shouldn't the script download and install partmetis also ?? ..
Code:
wmake libso scotchDecomp '/home/fabioc/OpenFOAM/OpenFOAM-1.6-ext/lib/linux64GccDPOpt/libscotchDecomp.so' is up to date. + wmake libso metisDecomp '/home/fabioc/OpenFOAM/OpenFOAM-1.6-ext/lib/linux64GccDPOpt/libmetisDecomp.so' is up to date. + wmake libso parMetisDecomp SOURCE=parMetisDecomp.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -DOMPI_SKIP_MPICXX -I/home/fabioc/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/packages/openmpi-1.4.3/platforms/linux64GccDPOpt/include -I/include/ParMETISLib -I/include -I../decompositionMethods/lnInclude -I../metisDecomp/lnInclude -I../scotchDecomp/lnInclude -IlnInclude -I. -I/home/fabioc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/home/fabioc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/parMetisDecomp.o parMetisDecomp.C:42:25: error: parmetis.h: No such file or directory parMetisDecomp.C: In member function ‘Foam::label Foam::parMetisDecomp::decompose(Foam::Field<int>&, Foam::Field<int>&, const Foam::pointField&, Foam::Field<int>&, Foam::Field<int>&, const Foam::List<int>&, Foam::List<int>&)’: parMetisDecomp.C:283: warning: use of old-style cast parMetisDecomp.C:283: warning: use of old-style cast parMetisDecomp.C:311: error: ‘ParMETIS_V3_PartGeomKway’ was not declared in this scope make: *** [Make/linux64GccDPOpt/parMetisDecomp.o] Error 1 Quote:
|
||
November 27, 2010, 10:55 |
|
#2 | |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello,
From your compilation message, we can see here : -I/include/ParMETISLib -I/include that some ThirdParty environment variables are not set. As of now, I would recommend you compile OpenFOAM-1.6-ext in multiple phases in order to make sure all the ThirdParty environment variables are set up properly before compiling the bulk of OpenFOAM. Something like that should work properly if you are using bash as your working shell: ############################################# $WM_PROJECT_DIR/ThirdParty/AllMake.stage1 # Compile stage 1 . $WM_PROJECT_DIR/etc/bashrc # This will will initialize the CMAKE_DIR env. variable $WM_PROJECT_DIR/ThirdParty/AllMake.stage2 # Compile stage 2 . $WM_PROJECT_DIR/etc/bashrc # This will will initialize the OPENMPI_DIR env. variable $WM_PROJECT_DIR/ThirdParty/AllMake.stage3 # Compile stage 3 . $WM_PROJECT_DIR/etc/bashrc # This will will initialize many 3rdParty env. variable $WM_PROJECT_DIR/ThirdParty/AllMake.stage4 # Compile stage 4 . $WM_PROJECT_DIR/etc/bashrc # This will will initialize the PARAVIEW_DIR env. variable ############################################# Then compiling the rest of OpenFOAM-1.6-ext should run a bit smoother. This is something that will be improved so that the global Allwmake will eventually take care of this for you. Thank you for your patience. Martin Quote:
|
||
November 27, 2010, 11:14 |
|
#3 |
Senior Member
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 23 |
Hello,
I skipped Stage 2, because I already have openmpi. Stage 3 gives: Code:
======================================== Starting ThirdParty AllMake: Stage3 ======================================== Package metis-5.0pre2 is already installed Done installing package metis-5.0pre2 Package ParMGridGen-1.0 is already installed Done installing package ParMGridGen-1.0 Package mesquite-2.1.2 is already installed Done installing package mesquite-2.1.2 WARNING: The OPENMPI_DIR environment variable is not set. WARNING: Please make sure your environment is properly set up for openmpi. This is necessary for compiling scotch-5.1.10b WARNING: Skipping the compilation of scotch-5.1.10b WARNING: The OPENMPI_DIR environment variable is not set. WARNING: Please make sure your environment is properly set up for openmpi. This is necessary for compiling ParMetis-3.1.1 WARNING: Skipping the compilation of ParMetis-3.1.1 ======================================== Done ThirdParty AllMake: Stage3 ======================================== Code:
Using system installed MPI: compile flags : -I/usr/include/openmpi-x86_64 -pthread -m64 link flags : -pthread -m64 -L/usr/lib64/openmpi/lib -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl libmpi dir : /usr/lib64/openmpi/lib I tried this: export OPENMPI_DIR=/usr/include/openmpi-x86_64 but then I get: Code:
In file included from dummysizes.c:80: common.h:84:28: error: mpi.h: No such file or directory This is on fedora 12: Linux dali.como.group 2.6.31.12-174.2.3.fc12.x86_64 #1 SMP Mon Jan 18 19:52:07 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
__________________
Laurence R. McGlashan :: Website |
|
November 27, 2010, 11:14 |
|
#4 |
Senior Member
|
re-source the bashrc should work.
source ~/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc It seems that the environment is not updated after installing third party packages. Junwei |
|
November 27, 2010, 11:38 |
|
#6 | |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello,
> I skipped Stage 2, because I already have openmpi. Stage 3 gives: >What does OPENMPI_DIR need to be set to, and do you know why it is not being set? The OPENMPI_DIR env. variable is not being set because you skipped stage 2. Every ThirdParty package building stage will compile one or more ThirdParty packages, but will also generates a little .csh/.sh file that the file etc/settings.[csh/sh] will need to source. This is where the package specific environment variable is being set. In order to better understand the new ThirdParty package structure, I would recommend you don't skip a stage for now in order to get a full running version of OpenFOAM-1.6-ext. It will only cost you some additional disk space and compilation time. Then, once you've reached that goal of a working installation of OpenFOAM-1.6-ext, you can tweak the ThirdParty packages section of OpenFOAM-1.6-ext in order to use system-wide packages if you feel like it. If you want to set the OPENMPI_DIR variable manually, the following paths need to be valid $OPENMPI_DIR/include $OPENMPI_DIR/bin $OPENMPI_DIR/lib This will be the same logic for all the ThirdParty package environment variables. Another useful advice if I may: please activate the environment variable FOAM_VERBOSE before sourcing the etc/bashrc or etc/cshrc. You will see a bunch of useful messages related to the initialization of the Third Party packages Martin Quote:
|
||
November 27, 2010, 12:03 |
|
#7 |
Senior Member
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 23 |
Ok, I'll install the lot for now. Something has gone wrong in stage 2:
Code:
configure: error: no vtf3.h found; check path for VTF3 package first... configure: error: no BPatch.h found; check path for Dyninst package first... configure: error: no papi.h found; check path for PAPI package first... Code:
Found '/home/userspace/lrm29/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/rpmBuild/BUILDROOT/openmpi-1.4.3-linux64GccDPOpt.x86_64' in installed files; aborting error: Bad exit status from /home/userspace/lrm29/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/rpmBuild/tmp/rpm-tmp.18cW2m (%install) RPM build errors: Bad exit status from /home/userspace/lrm29/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/rpmBuild/tmp/rpm-tmp.18cW2m (%install) Installing package: openmpi-1.4.3 Uninstalling openmpi-1.4.3 using RPM: openmpi-1.4.3-linux64GccDPOpt.x86_64 Installing openmpi-1.4.3 using RPM file: /home/userspace/lrm29/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/rpmBuild/RPMS/x86_64/openmpi-1.4.3-linux64GccDPOpt.x86_64.rpm error: open of /home/userspace/lrm29/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/rpmBuild/RPMS/x86_64/openmpi-1.4.3-linux64GccDPOpt.x86_64.rpm failed: No such file or directory Done installing package openmpi-1.4.3 ======================================== Done ThirdParty AllMake: Stage2 ========================================
__________________
Laurence R. McGlashan :: Website |
|
November 27, 2010, 13:35 |
|
#8 | |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Laurence,
From what I can see, your system installation of openmpi is currently installed with the header files located under /usr/include/openmpi-x86_64. So setting the OPENMPI_DIR variable to /usr won't be of much help if the file $OPENMPI_DIR/include/mpi.h can't be found anyways. I will find a fix for this in order to facilitate the usage of system installed packages. In order to help me help you, could you tell me how your system version of openmpi was installed on your Fedora 12 system? In the meantime, you will need to be able to compile packages like openmpi on your machine. The new ThirdParty package compilation process, including the successful compilation of openmpi 1.4.3, was tested on the following platforms: Mac OS X 10.6 (Snow Leopard) Ubuntu 10.04 32bit Ubuntu 10.10 64bit Centos 5.5 64bit OpenSUSE 11.3 64bit Fedora 14 32bit It was not tested on Fedora 12 64bit. Martin Quote:
|
||
November 27, 2010, 14:46 |
|
#9 |
Senior Member
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 23 |
What I'll do is try installing it on my Fedora 14 64 bit at home tomorrow. I should be able to do that as I know my own system inside out.
Then when I'm back at work on Monday I'll ask our system admin to have a look at our cluster installation and I'll let you know how it goes via this thread. Thanks for the prompt help so far, it's very much appreciated.
__________________
Laurence R. McGlashan :: Website |
|
November 27, 2010, 14:53 |
|
#10 | |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello again Laurence,
I can replicate a similar configuration to yours when trying to use the sys-installed version of openmpi and openmpi-dev on my Fedora 14 system. We are obviously aware of the advantage of using system installed versions of the ThirdParty packages. This was discussed before the release of OpenFOAM-1.6-ext, and we knew we would have to tackle that problem relatively quickly. Let me use this use case in order to work on a more flexible solution for the ThirdParty package. In the meantime, if you can find a way to compile openmpi on your Fedora 12 machine, you should be fine for all the libraries and packages that depends on it. Thank you for your patience. Martin Quote:
|
||
November 28, 2010, 17:56 |
|
#11 |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Hi Martin,
The new thirdparty structure is excellent, good job, Martin! and Thanks Have you seen my bug report, on OpenSUSE 11.4 64/32 bits, concerning some files missing MsqIMesh.hpp MsqIBase.hpp MsqIGeom.hpp MsqIRel.hpp ... Errors look like these: ------------------------ + wmake libso mesquiteMotionSolver SOURCE=mesquiteMotionSolver.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/daniel/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/packages/mesquite-2.1.2/platforms/linux64GccDPOpt/include -I/home/daniel/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -I/home/daniel/OpenFOAM/OpenFOAM-1.6-ext/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/daniel/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/home/daniel/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/mesquiteMotionSolver.o In file included from mesquiteMotionSolver.H:51:0, from mesquiteMotionSolver.C:27: /home/daniel/OpenFOAM/OpenFOAM-1.6-ext/ThirdParty/packages/mesquite-2.1.2/platforms/linux64GccDPOpt/include/Mesquite_all_headers.hpp:33:23: fatal error: MsqIRel.hpp: No such file or directory compilation terminated. -------------------------------- Meanwhile, I found the most time consuming stage is paraview building process, and In my two laptops it keeps stuck at the stage 4, it seems the "%install" stage cannot be successful executed for rpmbuild, so no rpm generated. I think one of the most annoying things of rpm is that its compilation always needs to start over again, this is unaccepatable for package like paraview, since it takes around several hours to finish it. I changed rpmbuild -bb to -bi option to finish. So is there any better idea to handle the paraview? I am afraid people will get crazy once stage 4 fails. And also, 1. why not delete the obsolete buildinstructions.txt file? 2. why not add ThirdParty/packages to foamPackBin script? And publish the non-Debian binary files in sourceforge?
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
|
November 28, 2010, 20:37 |
question about rpm
|
#12 |
Senior Member
Hua Zen
Join Date: Mar 2009
Posts: 138
Rep Power: 17 |
Hi
I have not tried this version, but just have a question from the information above. It seems that the OF-extend 1.6 utilize rpm during the installing process. While installing rpm package requires root privilege, does this mean that we have to use root account during the installation process? Thanks. |
|
November 28, 2010, 20:42 |
|
#13 | |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Quote:
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
||
November 29, 2010, 01:54 |
|
#14 | |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Daniel,
@the Mesquite bug: Yup, that one is fixed, thanks to Philippose Rajan. I am currently testing the fix before pushing the correction on the git repo. Thanks for the report. @the compilation of ParView: Yup again, the compilation of QT and ParaView is a very lengthy and frustrating process because you often need to adjust your workstation for the missing bits and pieces necessary to compile those two monsters. I have made a small modification to the RPM build process in order not to delete the package build directory at the end of the process. This way, the post-mortems will be easier to do, and it will be easier to fine-tune the compilation of a given package on your own machine until you get all the right dependencies installed on your compilation system. I am currently testing this as well. The changes will be pushed on the git repo shortly. Would that modification be useful to you? @the file buildinstructions.txt: Yup, we need to cleanup that file. @adding ThirdParty/packages to foamPackBin script? Simply put, I have never used foamPackBin, so it did not cross my mind to do this. That's easy to fix though. @And publish the non-Debian binary files in sourceforge? We have started talking about this. Thanks for your great input! Best, Martin Quote:
|
||
November 29, 2010, 02:06 |
|
#15 | |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Quote:
And you know, if paraview needs 2 hours to be built, the QT would need 6 hours. My point is this, QT is a much bigger monster than gcc, so let QT not be advised to build manually, ever. I have never heard a software being installed for more than half a day, lol
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
||
November 29, 2010, 11:05 |
|
#16 |
Member
matteo lombardi
Join Date: Apr 2009
Posts: 67
Rep Power: 17 |
hello,
I have got the same issue of Daniel: MsqIMesh.hpp MsqIBase.hpp MsqIGeom.hpp MsqIRel.hpp are missing. Please let us know when you push the correction on the git repo or how to fix it. Thanks a lot, Matteo |
|
November 29, 2010, 11:25 |
|
#17 |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Hi Matteo, I just copied these files from the source dir.
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
|
November 29, 2010, 11:42 |
|
#18 |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Hi Matteo, I just extracted Mesquite source, where there is a mesh/ dir. In mesh dir you will find these missing files, and then copy them to packages/mesquite../include
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
|
November 29, 2010, 11:46 |
|
#19 |
Member
matteo lombardi
Join Date: Apr 2009
Posts: 67
Rep Power: 17 |
I see.. Thanks.
Generally I am bit worried about copying files around to fix issues.. but you are right, it is worth trying and if it fix the problem, that's it.. Thanks a lot, ciao, matteo |
|
November 30, 2010, 05:49 |
|
#20 | |
Senior Member
BastiL
Join Date: Mar 2009
Posts: 530
Rep Power: 20 |
Quote:
|
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Frequently Asked Questions about Installing OpenFOAM | wyldckat | OpenFOAM Installation | 3 | November 14, 2023 12:58 |
OpenFOAM Training, London, Chicago, Munich, Houston 2016-2017 | cfd.direct | OpenFOAM Announcements from Other Sources | 0 | September 14, 2016 04:19 |
New OpenFOAM Forum Structure | jola | OpenFOAM | 2 | October 19, 2011 07:55 |
OpenFOAM 1.6 package - CentOS 5.3 x86_64 | linnemann | OpenFOAM Installation | 36 | September 2, 2009 13:46 |
OpenFOAM Version 1.6 Released | opencfd | OpenFOAM Announcements from ESI-OpenCFD | 0 | July 27, 2009 18:55 |