CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Installation

OF141dev undefined reference to METIS symbols on SUSE Enterprise

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   August 28, 2008, 19:27
Default Hi all, I checked out the l
  #1
Member
 
Matthias Walter
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 61
Rep Power: 8
matthias is on a distinguished road
Hi all,

I checked out the latest OF-1.4.1-dev version from svn repository. I can compile it on our Fedora systems without any problems but if I try to compile OF on a SUSE Enterprise System I'm getting always a linker error during the build of decomposePar and redistributeMeshPar .
There is no error in the decomposition libs or METIS libs and also there is no build error during the compiler run of the binaries however linking the binaries doesn't work.


g++ -m64 -Dlinux64 -DDP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -march=opteron -O3 -DNoRepository -ftemplate-depth-40 -I../decompositionMethods/lnInclude -I/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/src/finiteVolume/lnInclude -I/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/src/finiteArea/lnInclude -I/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/src/lagrangian/basic/lnInclude -I/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/src/tetDecompositionFiniteElement /lnInclude -DFACE_DECOMP -IlnInclude -I. -I/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/src/OpenFOAM/lnInclude -fPIC Make/linux64GccDPOpt/decomposeMesh.o Make/linux64GccDPOpt/decomposePar.o Make/linux64GccDPOpt/domainDecomposition.o Make/linux64GccDPOpt/distributeCells.o Make/linux64GccDPOpt/faMeshDecomposition.o Make/linux64GccDPOpt/fvFieldDecomposer.o Make/linux64GccDPOpt/faFieldDecomposer.o Make/linux64GccDPOpt/pointFieldDecomposer.o Make/linux64GccDPOpt/tetPointFieldDecomposer.o Make/linux64GccDPOpt/lagrangianFieldDecomposer.o -L/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt \
-ldecompositionMethods -lfiniteVolume -lfiniteArea -llagrangian -lmeshTools -lfaceDecompFiniteElement -lfaceDecompositionMotionSolver -lOpenFOAM -liberty -ldl -lm -o /home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/applications/bin/linux64GccDPOpt/de composePar
/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdecompositio nMethods.so: undefined reference to `METIS_PartGraphKway(int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*)'
/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdecompositio nMethods.so: undefined reference to `METIS_WPartGraphRecursive(int*, int*, int*, int*, int*, int*, int*, int*, float*, int*, int*, int*)'
/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdecompositio nMethods.so: undefined reference to `METIS_WPartGraphKway(int*, int*, int*, int*, int*, int*, int*, int*, float*, int*, int*, int*)'
/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdecompositio nMethods.so: undefined reference to `METIS_PartGraphRecursive(int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*)'
collect2: ld returned 1 exit status
make: *** [/home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/applications/bin/linux64GccDPOpt/d ecomposePar] Error 1


I used the gcc 4.1.2, gcc-4.3.1 and gcc-4.4 for compilation with the same result!
Furthermore I installed the latest binutils but also with no success. I used different flex versions and I changed the compilation, linking order of the decomposition lib (another order of the metis libs) but it didn't help!

So any suggestions are welcome!

Matthias
matthias is offline   Reply With Quote

Old   August 28, 2008, 21:08
Default Hello Matthias, What is the
  #2
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 330
Rep Power: 13
mbeaudoin will become famous soon enough
Hello Matthias,

What is the output of the 2 following commands on your system:

ldd $FOAM_LIB/$WM_OPTIONS/libdecompositionMethods.so

and

nm -a $FOAM_LIB/$WM_OPTIONS/libmetis.so | grep METIS_

Martin
mbeaudoin is offline   Reply With Quote

Old   August 29, 2008, 08:29
Default Hello Matthias, The output
  #3
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 330
Rep Power: 13
mbeaudoin will become famous soon enough
Hello Matthias,

The output of your commands looks normal enough.

The "undefined references" are indeed defined in libmetis.so, which itself is dragged along by the library libdecompositionMethods.so. So your linker should be able to finalize the compilation.

Last questions because I don't have a clue for you:

What version of SUSE Enterprise System are you using?

Are you compiling on a real PC or on a virtual machine (VMWare, etc)?

What is the output of:

which ldd
ldd --version

which g++
g++ --version


Martin
mbeaudoin is offline   Reply With Quote

Old   August 29, 2008, 10:04
Default Hi Martin, g++ --version:
  #4
Member
 
Matthias Walter
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 61
Rep Power: 8
matthias is on a distinguished road
Hi Martin,

g++ --version:
g++ (GCC) 4.3.1
Copyright (C) 2008 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.

ldd --version :
ldd (GNU libc) 2.4
Copyright © 2006 Free Software Foundation, Inc.
Dies ist freie Software; in den Quellen befinden sich die Lizenzbedingungen.
Es gibt KEINERLEI Garantie; nicht einmal für die TAUGLICHKEIT oder
VERWENDBARKEIT FÜR EINEN ANGEGEBENEN ZWECK.
Written by Roland McGrath and Ulrich Drepper.


ld --version:
GNU ld (GNU Binutils) 2.18
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

uname -a :
Linux 2.6.16.54-0.2.5.PTF.283002.0-smp #1 SMP Mon Jan 21 13:29:51 UTC 2008 x86_64 x86_64 x86_64 GNU/Linux


Yes I use a real PC and no virtual machine!
It is strange!

Matthias
matthias is offline   Reply With Quote

Old   August 29, 2008, 10:13
Default @Martin Maybe this informat
  #5
Member
 
Matthias Walter
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 61
Rep Power: 8
matthias is on a distinguished road
@Martin

Maybe this information helps, it seems that the linker doesn't include libmetis and libparmetis:

nm /home/b/mvimixer/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdecompositio nMethods.so | grep METIS
U ParMETIS_V3_PartGeomKway
U _Z19METIS_PartGraphKwayPiS_S_S_S_S_S_S_S_S_S_
U _Z20METIS_WPartGraphKwayPiS_S_S_S_S_S_S_PfS_S_S_
U _Z24METIS_PartGraphRecursivePiS_S_S_S_S_S_S_S_S_S_
U _Z25METIS_WPartGraphRecursivePiS_S_S_S_S_S_S_PfS_S _S_


Matthias
matthias is offline   Reply With Quote

Old   August 29, 2008, 10:55
Default @Matthias: Your setup looks
  #6
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 330
Rep Power: 13
mbeaudoin will become famous soon enough
@Matthias:

Your setup looks fine.

Your version of ld is newer than mine, but I am using openSuse 10.3, not SUSE Enterprise.

As for the undefined symbols in libdecompositionMethods.so, this is quite normal, those symbols are defined in libmetis.so, and marked as required in libdecompositionMethods.so, but undefined in that library.

The linker "ld" should find those missing symbols when dynamically loading libmetis.so because this library is required by libdecompositionMethods.so.

Out of curiosity, have you tried to explicitely add the library libmetis and libparmetis in the options file for decomposePar?

You said that you were able to complete the compilition on your Fedora systems; what version of ld do you have on those systems?

Martin
mbeaudoin is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Undefined reference mateusz_slowikowski OpenFOAM Running, Solving & CFD 7 February 27, 2015 15:35
Undefined reference to %60yyFlexLexeryywrapb arjaan OpenFOAM Installation 12 October 29, 2008 12:25
Undefined reference to %60yyFlexLexeryywrapb zhoubinwx OpenFOAM Bugs 1 May 28, 2008 05:57
Undefined reference mateusz_slowikowski OpenFOAM Running, Solving & CFD 3 March 11, 2008 13:19
MPICH : undefined reference to.. Vincent CD-adapco 3 March 24, 2005 13:30


All times are GMT -4. The time now is 07:25.