Linking error with METIS library Log Out | Topics | Search
Moderators | Edit Profile

Discussion about George's Research » METIS - Serial Graph Partitioning » General Usage Questions » Linking error with METIS library « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Dim Coumou
Posted From: 129.132.137.177
Posted on Tuesday, June 21, 2005 - 06:59 am:   

I have installed the last version of METIS on a SUSE 9.1 linux system. Compiled everything with intel's icc compiler and written a c++ test program to test it. When I compile this, I keep getting the following error:

Partitioner.o(.text+0x2c4): In function `csp::Partitioner::MetisPartition(std::vector<std::vector<unsigned,> >, std::allocator<std::vector<unsigned,> > > >) const':
: undefined reference to `METIS_PartMeshNodal(int*, int*, int*, int*, int*, int*, int*, int*, int*)'
make: *** [run.exe] Error 1

I am calling METIS_PARTMESHNODAL as follows:

METIS_PARTMESHNODAL(&ne,&nn,&elmnts[0],&etype,&numflag,&n,&edgecut,&epart[0],&np art[0]);

where all arguments are integers. This should be correct not, or am I doing something stupid here? Thanks in advance for any suggestions.
Top of pagePrevious messageNext messageBottom of page Link to this message

Anonymous
Posted From: 216.52.7.226
Posted on Wednesday, June 22, 2005 - 07:27 pm:   

Most likely this is a linking problem between C++
and C. You are calling C from C++.

So you need to use declaration in C++ file:

extern "C" {

extern int METIS_PartMeshNodal(int*, int*, int*, int*, int*, int*, int*, int*, int*);
};

This is most likely the cause of your problem.

Add Your Message Here
Posting is currently disabled in this topic. Contact your discussion moderator for more information.

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration