CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (http://www.cfd-online.com/Forums/openfoam-installation/)
-   -   OpenFoam-1.7.x on Suse 11.2 (64bit) does not compile (http://www.cfd-online.com/Forums/openfoam-installation/79516-openfoam-1-7-x-suse-11-2-64bit-does-not-compile.html)

val46 August 26, 2010 03:25

OpenFoam-1.7.x on Suse 11.2 (64bit) does not compile
 
Hi,

I'm working with OF1.7.0 on Suse 11.2 (64bit) without any problems.
Now I'm trying to make OF1.7.x work but without success.

gcc : 4.4.4 (foamInstallationcheck says 4.4.1)
qt: 4.5.3
cmake: 2.6.4
flex: 2.5.35
bison: 2.4.1



This is a small part of the error message:

Code:

tream&, Foam::triSurface const&)'                                                                                         
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::write(Foam::Ostream&) const'                                                                                                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::triSurface(Foam::triSurface const&)'                                                                                             
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::DimensionedField<Foam::SymmTensor<double>, Foam::triSurfaceGeoMesh>::typeName'                                                               
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::DimensionedField<Foam::SphericalTensor<double>, Foam::triSurfaceGeoMesh>::typeName'                                                           
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::triSurface(Foam::List<Foam::labelledTri> const&, Foam::Field<Foam::Vector<double> > const&)'                                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::triSurface(Foam::List<Foam::labelledTri>&, Foam::List<Foam::geometricSurfacePatch> const&, Foam::Field<Foam::Vector<double> >&, bool)'                                                                                                                       
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::write(Foam::fileName const&, bool) const'                                                                                         
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::decompositionMethod::New(Foam::dictionary const&)'                                                                                           
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::scalePoints(double const&)'                                                                                                       
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::IPstream::waitRequests()'                                                                                                                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::DimensionedField<Foam::Tensor<double>, Foam::triSurfaceGeoMesh>::typeName'                                                                   
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::Pstream::abort()' 
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::movePoints(Foam::Field<Foam::Vector<double> > const&)'                                                                           
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::IPstream::read(Foam::Pstream::commsTypes, int, char*, long)'                                                                                 
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::subsetMesh(Foam::List<bool> const&, Foam::List<int>&, Foam::List<int>&) const'                                                   
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::faceTriangulation::faceTriangulation(Foam::Field<Foam::Vector<double> > const&, Foam::face const&, Foam::Vector<double> const&, bool)'       
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::Particle<Foam::passiveParticle>::typeName'                                                                                                   
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::reduce(double&, Foam::sumOp<double> const&)'                                                                                                 
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::~triSurface()'                                                                                                                   
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::~triSurface()'                                                                                                                   
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::markZones(Foam::List<bool> const&, Foam::List<int>&) const'                                                                       
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::operator=(Foam::triSurface const&)'                                                                                               
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::edgeOwner() const'                                                                                                               
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::triSurface()'                                                                                                                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::triSurface(Foam::List<Foam::labelledTri> const&, Foam::List<Foam::geometricSurfacePatch> const&, Foam::Field<Foam::Vector<double> > const&)'                                                                                                                 
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::Pstream::init(int&, char**&)'                                                                                                                 
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::triSurface(Foam::triSurface const&)'                                                                                             
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::decompositionMethod::typeName'                                                                                                               
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so: undefined reference to `Foam::triSurface::clearOut()'                                                                                                                       
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::Pstream::addValidParOptions(Foam::HashTable<Foam::string, Foam::word, Foam::string::hash>&)'                                                   
collect2: ld returned 1 exit status                                                                                       
make[2]: *** [/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/IFCLookUpTableGen] Fehler 1           
make[2]: Leaving directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/utilities/thermophysical/IFCLookUpTableGen' 
make[1]: *** [IFCLookUpTableGen] Fehler 2                                                                                 
make[2]: Entering directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/utilities/thermophysical/mixtureAdiabaticFlameT'                                                                                                                       
Making dependency list for source file mixtureAdiabaticFlameT.C                                                           
make[2]: Leaving directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/utilities/thermophysical/mixtureAdiabaticFlameT'                                                                                                                       
make[2]: Entering directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/utilities/thermophysical/mixtureAdiabaticFlameT'                                                                                                                       
SOURCE=mixtureAdiabaticFlameT.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-40 -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/thermophysicalModels/specie/lnInclude -IlnInclude -I. -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/OpenFOAM/lnInclude -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/mixtureAdiabaticFlameT.o                     
g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-40 -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/thermophysicalModels/specie/lnInclude -IlnInclude -I. -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/OpenFOAM/lnInclude -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/OSspecific/POSIX/lnInclude  -fPIC Make/linux64GccDPOpt/mixtureAdiabaticFlameT.o -L/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt \         
            -lspecie -lOpenFOAM -liberty -ldl  -lm -o /home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/mixtureAdiabaticFlameT                                                                                                 
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld: warning: libPstream.so, needed by /home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so, not found (try using -rpath or -rpath-link)                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `vtable for Foam::OPstream'
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::OPstream::waitRequests()'                                                                                                                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::OPstream::~OPstream()'                                                                                                                         
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::IPstream::IPstream(Foam::Pstream::commsTypes, int, int, Foam::IOstream::streamFormat, Foam::IOstream::versionNumber)'                         
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::Pstream::exit(int)'
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::OPstream::write(Foam::Pstream::commsTypes, int, char const*, long)'                                                                           
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::IPstream::waitRequests()'                                                                                                                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::Pstream::abort()' 
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::IPstream::read(Foam::Pstream::commsTypes, int, char*, long)'                                                                                   
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::reduce(double&, Foam::sumOp<double> const&)'                                                                                                   
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::Pstream::init(int&, char**&)'                                                                                                                 
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so: undefined reference to `Foam::Pstream::addValidParOptions(Foam::HashTable<Foam::string, Foam::word, Foam::string::hash>&)'                                                   
collect2: ld returned 1 exit status                                                                                       
make[2]: *** [/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/mixtureAdiabaticFlameT] Fehler 1     
make[2]: Leaving directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/utilities/thermophysical/mixtureAdiabaticFlameT'                                                                                                                       
make[1]: *** [mixtureAdiabaticFlameT] Fehler 2                                                                             
make[1]: Das Target »application« wurde wegen Fehlern nicht aktualisiert.                                                 
make[1]: Leaving directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/utilities/thermophysical'                   
make: *** [thermophysical] Fehler 2                                                                                       
make: Das Target »application« wurde wegen Fehlern nicht aktualisiert.

Any experience with that?

Regards,
Toni



EDIT:

These are the first lines when I type in "wmake all solvers" in the applications folder:

Code:

kressnt@chml1005:~/OpenFOAM/OpenFOAM-1.7.x/applications> wmake all solvers
make[1]: Entering directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/solvers/basic'
make[2]: Entering directory `/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/solvers/basic/laplacianFoam'
g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-40 -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude -IlnInclude -I. -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/OpenFOAM/lnInclude -I/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/src/OSspecific/POSIX/lnInclude  -fPIC Make/linux64GccDPOpt/laplacianFoam.o -L/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt \                                 
            -lfiniteVolume -lOpenFOAM -liberty -ldl  -lm -o /home/kressnt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/laplacianFoam                                                                                                     
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld: warning: libtriSurface.so, needed by /home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libfiniteVolume.so, not found (try using -rpath or -rpath-link)             
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld: warning: libmeshTools.so, needed by /home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libfiniteVolume.so, not found (try using -rpath or -rpath-link)               
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld: warning: libPstream.so, needed by /home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so, not found (try using -rpath or -rpath-link)                     
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libfiniteVolume.so: undefined reference to `Foam::operator<<(Foam::Ostream&, Foam::wallPoint const&)'                                                                                       
/home/kressnt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libfiniteVolume.so: undefined reference to `Foam::cellDistFuncs::cellDistFuncs(Foam::polyMesh const&)'


val46 August 26, 2010 06:28

Problem solved
 
Looks like the problem is solved.

It seems i have a fundamental problem with my linux configuration.

I followed the install guide on openfoam.com:

Code:

source the etc/bashrc file by adding the following line to the end of your $HOME/.bashrc file:
. $HOME/OpenFOAM/OpenFOAM-1.7.x/etc/bashrc
then type “. $HOME/.bashrc” in the current terminal window

but this is not completely recognized by the system.
As I experienced before I have to type in
Code:

. $HOME/OpenFOAM/OpenFOAM-1.7.x/etc/bashrc
every time i start a shell terminal.
Otherwise the compiling fails (or the already installed version 1.7.0 is not working).

I'm not a linux expert. Thats why I don't know what to do to solve that issue.

wyldckat August 26, 2010 18:24

Greetings Toni,

I've also had those problems with openSUSE's "$HOME/.bashrc", but only with older versions, such as 10.3... and I don't remember ever being able to fix them :(

I'm assuming that your $HOME/.bashrc file had this on its end:
Code:

test -s ~/.alias && . ~/.alias || true
And now it has the sourcing line to OpenFOAM's bashrc after that.

So, lets try to figure what is going wrong with your system :) If I were in your shoes, I would:
  1. Edit the file $HOME/.bashrc;
  2. Before and after each code line (lines without # and not empty), I would type:
    Code:

    echo "Got Here 1"
    and increment the last digit for each of these lines. Example:
    Code:

    echo "Got Here 1"
    test -s ~/.alias && . ~/.alias || true
    echo "Got Here 2"
    . $HOME/OpenFOAM/OpenFOAM-1.7.x/etc/bashrc
    echo "Got Here 3"

  3. Start a new terminal and see what lines were echoed. Now, some of the possible results:
    • Nothing was outputed - then something got damaged in your system :( It might be necessary to dig deeper, possibly starting with the script file /etc/profile.
    • Everything was outputed - if this happened, then I can almost bet you forgot the space between the . and $HOME ;)
    • Only "Got Here 1" was echoed - a bit odd, but it could happen... Quick solution: just move the 1.7.x line to the line next to "Got Here 1" :D
    • Any other result would probably be a variation of the previous ones...
So, the more relevant info you can provide, the higher the probability we can help you :) But hopefully, these steps will get you right to the solution. If not... give us some more feedback so we can try to figure out what's going on!

Best regards,
Bruno

gwierink August 27, 2010 04:32

Hi Toni,

Perhaps you already had a look, but maybe Alberto Passalacqua's page is of some help ...

val46 August 27, 2010 04:43

Hi Bruno,

thanks for your very detailed reply.

Quote:

I'm assuming that your $HOME/.bashrc file had this on its end:
Code:
test -s ~/.alias && . ~/.alias || true
And now it has the sourcing line to OpenFOAM's bashrc after that.
Correct!

Here is what I did:

Code:

echo "Got Here 1"
export EDITOR=/usr/bin/kwrite

echo "Got Here 2"
test -s ~/.alias && . ~/.alias || true
echo "Got Here 3"
#. $HOME/OpenFOAM/OpenFOAM-1.7.0/etc/bashrc
. $HOME/OpenFOAM/OpenFOAM-1.7.x/etc/bashrc
echo "Got Here 4"

And guess what... the output is

Code:

Got Here 1
Got Here 2
Got Here 3
Got Here 4

Quote:

Everything was outputed - if this happened, then I can almost bet you forgot the space between the . and $HOME
As you can see in the code the space is there ;-)

The very very very VERY "fascinating" thing is now: It works!
Without changing a thing it works. I don't have to type in the OF bashrc path by hand anymore.
Not sure what to think of that honestly.

Regards,
Toni


All times are GMT -4. The time now is 08:27.