Dear FOAMers! I am despairing
I am despairing of the installation of the OpenFOAM development version (http://openfoam-extend.wiki.sourceforge.net/), and from what I read in this board, I'm not the only one.
When I check out the svn version (svn co https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/tags/Core/Op enFOAM-1.4.1_dev_07_11_14/), first of all several directory names don't fit the buildinstructions.txt.
After correcting these directory names as I think is best, and sourcing the bashrc to setup the environment, compilation is possible and runs for a few hours, but none of the icoFoam and other solvers are generated.
In the logfiles I find several linker errors like "-lsampling not found". These are libraries of OpenFOAM-1.4.1, so I wonder if OpenFOAM-1.4.1_dev has to be built on top of OpenFOAM-1.4.1 and not standalone?
Finally compilation of mico, paraFoam and FoamX produce a whole bunch of error messages. Do I have to disable their compilation (how?) if I downloaded the binaries of gcc, paraview and j2sdk from http://www.opencfd.co.uk/openfoam/linux.html#linux?
Is it so hard to update the build instructions every few years? Most of my fellow students have given up using openfoam, because they received no help in this board. Now they use FreeFEM++ and have other problems, because it is less powerful.
Can one of the experienced openfoam users please spend an afternoon to build the development version from the openfoam-extend site in a clean environment (no preinstalled openfoam, parafoam, mico,...) following the included buildinstructions.txt? And then please correct what appears to be nonsense, and explain which of the ~5000 error messages can be ignored.
I'd really appreciate this.
Hello Bernd, You seem to be
You seem to be massively frustrated with the build process, for which I apologies. The build instructions have been updated a few weeks ago and only last week I have done the installation of OpenFOAM-1.4.1-dev from scratch on a brand new machine accoring to the instructions with precisely zero errors.
My guess is that the reason for your frustration are missing packages on your system, for things like flex++ - discussed in detail in this forum. Here I cannot help you - look at the actual error, tell me what it is, and I will help you. Unfortunately, it is unreasonable to document all packages you need to install before you start compiling OpenFOAM for all machines and all users.
OpenFOAM-1.4.1-dev is a complete and self-contained version and you do not need to unpack or build it on top of anything else. I would be grateful if you could please concentrate on the problem, go through it step by step and tell me what your FIRST error message is. Once we sort this out, you can contribute to the open source effort by documenting things that I failed to explain in buildInstructions.txt. Deal?
I am sorry to hear people are giving up on OpenFOAM because they cannot build it - you cannot expect 800 thousand lines of free code and free support as well.
How about it?
P.S. I do get annoyed with comments like "please correct what appears to be nonsense" and for this reason I intend to demonstrate how you were supposed to spot and resolve each of your errors in turn.
P.S. I do not like anonymous p
P.S. I do not like anonymous posters - who are you?
Dear Hrvoje, I can understand
I can understand that you are upset with my tone and apologize that I overreacted in a moment of repeated frustration. I'll happily add installation instructions to the wiki that can help users like me, if somebody explains to me how to compile the dev version with zero errors.
>The build instructions have been updated a few weeks ago and only last week I have done the
>installation of OpenFOAM-1.4.1-dev from scratch on a brand new machine accoring to the
>instructions with precisely zero errors.
The instructions in the very file that I mentioned above contain the same inconsistencies since several months, and also the buildinstructions.txt in the svn trunk have not improved. Please tell me where to find the new instructions.
>My guess is that the reason for your frustration are missing packages on your system, for things
>like flex++ - discussed in detail in this forum.
This may be, but flex++ and bison are installed.
>Here I cannot help you - look at the actual error, tell me what it is, and I will help you.
>Unfortunately, it is unreasonable to document all packages you need to install before you start
>compiling OpenFOAM for all machines and all users.
As soon as I know what I am supposed to do for compilation, I'll list the beginning of the error messages.
>I am sorry to hear people are giving up on OpenFOAM because they cannot build it - you
>cannot expect 800 thousand lines of free code and
free support as well.
Sure. But most other successful GPL projects have several authors who try to make the documentation useful to new users. This is necessary to attract a larger community in the first place to make the whole project expand faster. Openfoam may be different, because it targets not a huge user group.
Concerning my anonymity: In my opinion the name is sufficient to map discussion entries to my person. On top of that I only want to mention that I am a student of computer science who got interested in CFD some months ago and was very satisfied with Openfoam until he wanted to use the extended version.
>I am sorry to hear people are
>I am sorry to hear people are giving up on OpenFOAM >because they cannot build it - you cannot expect >800 thousand lines of free code and free support as >well.
I disagree. An open code without documentation is a closed code for most of the people.
A user can decide to adopt OpenFOAM for various reasons, but the main two I think are due to its openness (control of the code) and to the independence it should offer.
I don't include cost reduction, even though it's a factor, because I know various groups that tried to switch to OF and gave up because they didn't see the advantage when they made the comparison with commercial tools. To make it short, summing the time required to learn OpenFOAM to the cost of the almost always necessary support seemed to them less convenient than simply buying a well documented commercial package.
At the moment OpenFOAM is formally open, meaning that the code is accessible. But this is true for simple tasks, for which a solver already exists. For the rest it's exactly as a closed code, because having the source and the doxygen documentation is simply not enough for most of us, me included. OpenFOAM appears attractive due to the simple syntax of the transport equations and the possibility to use unstructured grids, but it immediately becomes impractical when a new user tries to implement new boundary conditions, new models and so on.
This misses the point of gaining independence in the use of the code.
With this I'm not saying that the documentation of the code should be free, or that it should be absolutely complete. But something has to be done in that direction, and it can't be only community based. The community is small, or at least it's small the cooperative community (I don't know the number of OpenFOAM users, but the contributions to the wiki are of just a few, for example!), and also for long time users a lot of aspects of the code are still unknown. Plus, useless to hide it, many just take and don't give back.
Most of the successful open source project have a company behind and a strong active community which work together for the success of the software. I think it's possible to do something like this also with OpenFOAM, but it requires to cooperation of both parts, and, at the beginning, a sort of "investment in the transmission of knowledge", which can't really be done only with a discussion board.
To start the process, I perfectly understand that some money is necessary, and I think there are various possible way to support the developers to write more documentation, especially oriented to the development of new solvers and additional features, if they're willing to.
Just some ideas:
- A fund raising in the community.
- Open donations (This possibility was available, then removed. Probably it wasn't that successful, but it was the beginning of the open life of OF).
- A small amount of money added to the price of paid support.
- Limit the development for a release cycle and work on documentation.
Just what I think,
Hi Alberto First, I appreci
First, I appreciate your constructive appraoch. You have always come up with good and practical appraoches. I hope that some of the listed ideas find their home so that more and more people get interested.
OpenFOAM is without any doubt a wonderful oppurtunity for the CFD community. It is, as you have already said, very attractive at the startup phase but becomes a nightmare when you really want to do something productive.
There is no doubt that documentation is the most crucial part but at the same time the most frequently asked question is why there is none at first place. Well asking that question is very easy but anybody who has undertaken the task of documenting a moderate sized code knows how much time and resources it takes to accomplish such a task.
OpenFOAM documentation is possible but its absence should not be blamed upon them. I was myself so frustrated in the begining that I called up the people at ICON UK Ltd and thought of buying the support. Why ICON because my numerous emails to the openfoam went unanswered. After all it does not costs a fortune. If I am not wrong the price is 6000 Euros for 50 hours spread over 1 year. What deterred me is the terms and conditions as it had to be a one time payment. I was mentally prepared to go for it if the money could be spread over monthly installments.
The developers should understand that their code is being used mostly by Master's and Phd students. No student can afford that kind of support. Also no masters student is going to need that level of support. The developers know that more the number of successful Master's and Phd works bigger is the user base. But how can the financial aspect be brought into picture because there is no free lunch.
Here I strongly support the ideas proposed by Alberto. Create a common fund raising or common support account where one could get support proportional to their contribution. That will not deter a small user who in the absence of support just gives up. Also lets make a fundraising appeal to the forum particularly for the documentation and see how serious people are about it.
There are some points I would like to bring into notice. First, the forum is full of basic questions which are being asked repeatedly and there are so many questions which are unanswered. The search spits out so many responses but only 10-20% of these are useful or have any useful information. If we could somehow come up with a solution to make it leaner. Secondly, a valid email address should be made compulsory at the registration.
Hope we will be able to solve these issues with the spirit of Open Source.
With Best Regards
Hi Jaswinder, first of all,
first of all, thanks for your support.
I would like to clarify that I don't really mean to discharge the responsibility of the missing documentation only on developers. I really think it's a shared responsibility. But I also hardly see how users can document something without clearly knowing it themselves.
If I support the idea of "community sponsored" projects, if they're of common interest, I disagree with the "proportionality" criterion. I really think that if the community decides to sponsor a project, the results of that project should be then open to everyone. This is the spirit of a community that works. I don't think a form of community paid support where anyone can ask what he like would work. In my opinion the first step in that direction is to support a sort of "OpenFOAM programming for dummies", to significantly lower the slope of the learning curve.
About the discussion board cleaning, we have a nice and well maintained (thanks to Bernhard) wiki which is always in need of love. So, transferring there the knowledge spread in the discussions would be a starting point.
Hi, I would like to add my th
I would like to add my thoughts to the current discussion. As new OpenFOAM user I found the learning curve quite steep even though I have extended experience as software developer and did my master's thesis on a CFD code. According to me the main problem is exactly the lack of documentation. I understand that one cannot expect to have all the questions answered on the forum however there should be a way to provide a better start to new users. I believe that all the energies wasted in frustrating attempts could be better employed in adding test cases and tutorials to the wiki. I plan to give some contribution to the wiki myself once I get to a decent point as a OpenFOAM user and I think a lot of people like me will be more able to contribute to the project when given the opportunity to do so.
I am also frustrated with the
I am also frustrated with the installation process, especially with the three approaches:
- Official documentation
- Guide on the wiki page
- Hrvoje's guide
(I do not mean to criticize, as they are all product of individuals that tried to help out).
I am now at my third attempt. The forum and some individuals have been helpful so far, but I'm still not there yet :-)
I would be very willing to contribute to the installation documentation. I think that newbies that benefit from other's advice do have a moral obligation to give back to the community. One way is to improve the documentation on the very topic that they received help on.
The Wiki page may be the place to start with that effort. I'll try to add to the FAQ - with questions at least :-)
Hi, I'd like to add my own
I'd like to add my own couple of thoughts to this thread. Mainly, that the open source "mentality" as I understand it is something like this: if the feature you want doesn't exist yet, do it yourself. In this case, that feature happens to be documentation and while it would be nice to already have the features done, this is just where OpenFOAM is right now.
I'd like to recommend the wiki become the repository for all these contributions because that's the quickest place everyone can get to. It also means that not everyone needs to actually *write* material to contribute to the project. People can help edit, test and organize other contributions to the documentation project.
As for getting the dev version compiled, when I was having loads of trouble with dependencies, etc, my usual method was to create a logfile ("./Allwmake > logfile") and then grep for errors (grep Error logfile > errorLog) and then step through one at a time. Usually, you can enter an error message into google and someone's answered the issue already somewhere on the internet. That takes a lot of work and is not "productive" time, but it will eventually get you compiled. I just barely know C++ and I was able to get everything running, so I know it's possible.
Hello, I've been following
I've been following OpenFOAM since the beginning of its open life, and I'm a bit skeptical about the "do it yourself" approach applied to documentation.
My main objection is that I don't think a community user can learn OF in a reasonable time for its purposes and then document what he learnt.
I really think a stricter cooperation between developers and community, with maybe a more open development approach, is necessary. The community alone, exactly as the developers alone can't do it. Of course this puts the problem of funding, but as I said, there are various ways to at least try to solve it.
Hello, And ofcourse, as alw
And ofcourse, as always... a very Good Evening too :-)!
Since this whole discussion started up because of compilation issues with the OpenFOAM-1.4.1-dev SVN Version, I thought I would just let it be known, that I (rather.. my very tired laptop).. just completed a successful compilation of OpenFOAM-1.4.1-dev downloaded from SVN last evening.
The only issues I had were:
1. There was no Make folder in the "zlib-1.2.3" folder, which was quickly solved by copying the Make folder from the "zlib-1.2.1" folder.
2. I had to change some of the entries in .bashrc, and .OpenFOAM-1.4.1-dev\bashrc to use openmpi-1.2.6
3. I had to rerun the compilation a second time (which has always been the case for me so far... and the second time goes through... as expected, much faster), I think because of foamFlex++, or maybe it was something to do with the ordering of the library dependencies
4. I had to change the java home path to reflect the java I use on my system (again... as always)
In addition, I do not use the paraview libraries which come with OpenFOAM because I use ParaView 3.3.0, with the native reader.
I do not use dxFoam... because I don't use DX
foamInstallationTest gave me a clean sheet, and currently I am running some test cases.... so far everything looking normal, and as expected.
And as a side note... I use GCC 4.1.2 rather than GCC 4.2.0... so I always need to do the relevant changes for that.
Have a nice day!
>1. There was no Make folder i
>1. There was no Make folder in the "zlib-1.2.3" folder, which was quickly solved by copying the Make folder from the "zlib-1.2.1" folder.
I'll try this next time. Instead I installed the zlib-dev package on my system. Which is preferable?
>2. I had to change some of the entries in .bashrc, and .OpenFOAM-1.4.1-dev\bashrc to use openmpi-1.2.6
I had a huge number of errors during compilation of "SSI modules" within the lam directories. Is there an explanation why lam doesn't work on 32bit linux (Ubuntu7.10)? And why do the Makefiles try to compile both lam-7.1.2 and lam 7.14?
>3. I had to rerun the compilation a second time (which has always been the case for me so far... and the second time goes through... as expected, much faster),
Thanks, this was the most useful remark ever! Now I have at least a few of the openfoam applications built successfully.
>I think because of foamFlex++, or maybe it was something to do with the ordering of the library dependencies
What is the relation to foamFlex++? Ad why should the problem be solved during the second build?
>4. I had to change the java home path to reflect the java I use on my system (again... as always)
Java is still one of the problematic things. Do I definitely need java 1.4.2 or java 1.5? I have java 6, which is recognized in /usr, but I haven't been able to get FoamX working.
Hello, You should be ok wit
You should be ok with Hrv's latest building instructions.
You can also find on the Wiki a guide I have written on how to compile OpenFOAM from scratch.
I have compiled OpenFOAM on many Linux platforms over the years, so this guide is basically my own compilation recipe.
Other people have contributed to the document as well, so I guess this guide is still pretty much up-to-date.
Has Hrv pointed out, the most usual compilation problems comes from missing packages from your base Linux installation.
My advice is to install openSU
My advice is to install openSUSE and try again the compilation procedure -- I think openSUSE is the distribution that OpenFOAM developers work with.
In the past I had some problems with Ubuntu and Debian, there were some incompatibilities with OpenFOAM that I wasnt able to overcome.
>You should be ok with Hrv's l
>You should be ok with Hrv's latest building instructions.
No, I'm not. See Philippose Rajans post for details which don't work.
>You can also find on the Wiki a guide I have written on how to compile OpenFOAM from scratch.
I have already started and will continue correcting that guide whereever other forum users pointed out solutions to the same problems which I have encountered.
>My advice is to install openSUSE and try again the compilation procedure -- I think openSUSE is the distribution that OpenFOAM developers work with.
If OpenFOAM compiles only on a single distribution, this is not much better than proprietary software which is only available for windows. Fortunately it is not that bad, because there seem to be some users who are successfully using OpenFOAM on all kinds of systems.
If however Albertos ideas about some funding came true, I'd advise something else: pay a working group to clean up the build process, so that
- building is possible in any directory without editing cshrc files in different locations. Autotools or CMake should be taken into consideration.
- building is tested on a few (to be defined) architectures and systems, not depending on the developers individual configurations
- required packages are identified and excluded from or offered independently from the OpenFOAM installation
Besides the documentation a "./configure; make; make install" installation workflow may make OpenFOAM usable.
Bernd, With all due respect I
Bernd, With all due respect I think you are being a little unreasonable. Problems such as these are very commonplace especially when dealing with development codes. Why don't you simply post what errors you are facing during the compile so that they can be solved one at a time.
Folks like Henry and Hrv were busy, are busy and will be busy with work. Yet they take some time off every now and then and post responses to common problems. It is important to remember that they are the major devs working on improving numerical methods, adding new solvers, fixing bugs etc. We owe our gratitude to them for such wonderful work.
For the record, I have used Martin Beaudoin's excellent build instructions to compile stock OpenFOAM 1.4.1 on over 15 different GNU/Linux clusters (archs: i686, x86_64, PPC64) with no major problems whatsoever.
It would help if you could explain what problem you are working on so that more experienced folks may be able to tell you whether you really need the bleeding edge OpenFOAM code?
Let's all calm down - this is
Let's all calm down - this is in fact very positive. I do not know how to set up a confiure/make/make install system, but other people do. So, splitting the task into people who can help with build errors (me) and the ones who can automate the build is a good idea.
This is definitely the way to get contribution from a wider community, and making the compilation easier is definitely positive. I promise to do my bit.
>Bernd, With all due respect I
>Bernd, With all due respect I think you are being a little unreasonable.
>Problems such as these are very commonplace especially when dealing with development codes.
In my opinion OpenFOAM is too valuable to remain in this status. A little effort put into setting up reasonable build tools will be returned thousandfold. If I get help soon to solve my early installation problems, I'll try to achieve this. But all those comments about who respects whom how much make me feel like I'm fed up again before I start.
>Why don't you simply post what errors you are facing during the compile so that they can be solved one at a time.
Because Phillipose has mentioned a few things that solved some of the problems, so that I don't consider it useful to post 5000 errors that won't appear in the next build log. Unfortunately each compilation runs for some 6 hours, so that I can only start one each evening. Furthermore my harddrive died last night so that I first need a new one.
If you are up to answering questions, please start with those in my post from Tuesday, April 29, 2008 - 02:16 pm.
>It would help if you could explain what problem you are working on so that more experienced folks may be able to tell you whether you really need the bleeding edge OpenFOAM code?
Great suggestion. And if we find out that I really need the extended code, I'll have to simplify my problem so that I can use the 1.4.1 release instead. Everybody knows that software works best if only its developers use it.
This wanted to be a _construct
This wanted to be a _constructive_ discussion, not a fight between who is happy of the status quo and who would like something more.
It's not really a question of respect for Henry, Hrv and the other developers. I don't think this is under discussion: they have huge merits, and it's under our eyes everyday we use OF.
The point is to find a way to improve the project at a community level.
About the compilation/packaging problems, a nice solution for the stable version (or a relatively stable snapshot of the development version) might be to offer pre-compiled packages for some of the most used distributions. I don't know much about the topic, but it might be interesting to consider the OpenSUSE build service. It's a service to generate packages (RPM's, .deb, ...) for various distributions (openSUSE, SLE, RH, Ubuntu, ...) and to provide them to the users. If it's interesting I can collect some more information through some friends I have in the openSUSE community.
|All times are GMT -4. The time now is 06:00.|