[Gmsh] solaris compilation problem
Christophe Geuzaine
cag32 at case.edu
Mon Apr 24 02:14:08 CEST 2006
michael wrote:
> Hello,
>
> I try to compile the 1.64.1 version on a solaris 8 sparc platfrom.
>
> When i use the gmake commande, it is return this error :
>
> gmake[1]: Leaving directory `/OPT/tmp/tmp/gmsh-1.61.3/contrib/MathEval'
> g++ -g -O2 -o bin/gmsh -Llib -lGmshFltk -lGmshParser -lGmshGraphics
> -lGmshMesh -lGmshGeo -lGmshCommon -lGmshDataStr -lGmshPlugin
> -lGmshNumeric -lGmshParallel -L/usr/local/lib -L/usr/openwin/lib
> -R/usr/openwin/lib -lfltk_images -lfltk_png -lz -lfltk_jpeg -lfltk_gl
> -lGLU -lGL -lfltk -ldl -lm -lXext -lX11 -lsocket -lnsl -lz -lGmshANN
> -lGmshMetis -lGmshNetgen -lGmshMathEval -lgsl -lgslcblas -lm -lsocket
> -lnsl -ldl
> Undefined first referenced
> symbol in file
> std::_List_node_base::swap(std::_List_node_base&,
> std::_List_node_base&)lib/libGmshMesh.a(BDS.o)
> std::_Rb_tree_increment(std::_Rb_tree_node_base*)lib/libGmshFltk.a(GUI.o)
> std::_List_node_base::hook(std::_List_node_base*)lib/libGmshMesh.a(BDS.o)
> std::basic_string<char, std::char_traits<char>, std::allocator<char>
> >::_Rep::_S_empty_rep_storagelib/libGmshGraphics.a(Geom.o)
> std::_List_node_base::unhook() lib/libGmshMesh.a(BDS.o)
> __gnu_cxx::__exchange_and_add(int volatile*,
> int)lib/libGmshGraphics.a(Geom.o)
> std::basic_streambuf<char, std::char_traits<char> >::seekoff(long long,
> std::_Ios_Seekdir, std::_Ios_Openmode)lib/libGmshNetgen.a(nglib_addon.o)
> std::_Rb_tree_increment(std::_Rb_tree_node_base
> const*)lib/libGmshMesh.a(BDS.o)
> std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*,
> std::_Rb_tree_node_base&)lib/libGmshMesh.a(BDS.o)
> std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*,
> std::_Rb_tree_node_base*,
> std::_Rb_tree_node_base&)lib/libGmshParser.a(FunctionManager.o)
> std::_List_node_base::transfer(std::_List_node_base*,
> std::_List_node_base*)lib/libGmshMesh.a(BDS.o)
> std::_Rb_tree_decrement(std::_Rb_tree_node_base*)lib/libGmshParser.a(FunctionManager.o)
> ld: fatal: Symbol referencing errors. No output written to bin/gmsh
> collect2: ld returned 1 exit status
>
>
> It seem to have a problem with the link part of the Makefile.
>
> Anyone have a suggestion ?
>
Looks like the symbols from the standard template library cannot be
resolved. Maybe you need to add libstdc++ explicitly to the link line?
What happens if you try to compile a simple program that uses some
classes from the std lib? Try e.g.
#include <vector>
#include <stdio.h>
int main()
{
std::vector<int> v(2);
v[0] = 1;
v[1] = v[0] * 2;
printf("%d %d\n", v[0], v[1]);
return 0;
}
> Thanks,
>
>
--
Christophe Geuzaine
Assistant Professor, Case Western Reserve University, Mathematics
http://www.case.edu/artsci/math/geuzaine