From: Santiago A. P. R. <sru...@pu...> - 2013-10-20 19:41:41
|
I'm trying to compile libmesh 0.9.2 with PGI 11.8 (I'm also trying more recent PGI versions like 13.8). I deleted that section from include/base/libmesh_augment_**std_namespace.h and now the problems went to linking. I get the trace shown below while linking meshtool-opt. This seems to be a problem while linking against VTK (which has been compiled using a different compiler) so I'll try to compile VTK using PGI and try linking again. If you think the problem can be different please let me know. Thanks for your help. ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `__CPR409__write_nodal_data__Q2_7libMesh5VTKIOFRCQ2_3std78basic_string__tm__58_cQ2_3std20char_traits__tm__2_cQ2_3std18allocator__tm__2_cRCQ2_3std43vector__tm__29_dQ2_3std18allocator__tm__2_dRCQ2_3std218vector__tm__203_Q2_3stdJ45JQ2_3std105allocator__tm__88_Q2_3stdJ45J': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:573: undefined reference to `New__19vtkUnstructuredGridSFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:580: undefined reference to `New__29vtkXMLPUnstructuredGridWriterSFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:583: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:584: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:587: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:592: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:592: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:597: undefined reference to `New__14vtkDoubleArraySFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:597: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:597: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:598: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:598: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:84: undefined reference to `SetNumberOfValues__29vtkDataArrayTemplate__tm__2_dFL_v' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:601: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:601: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:608: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:608: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:619: undefined reference to `vtkFieldData::AddArray(vtkAbstractArray *)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:619: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:619: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:620: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:620: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:620: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:636: undefined reference to `vtkXMLWriter::SetInput(vtkDataObject *)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:638: undefined reference to `vtkXMLWriter::SetDataModeToAscii(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:130: undefined reference to `vtkXMLWriter::SetCompressorType(int)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:650: undefined reference to `vtkXMLWriter::Write(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:653: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `libMesh::VTKIO::read( (std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &))': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:413: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:416: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:419: undefined reference to `vtkXMLUnstructuredGridReader::GetOutput(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:419: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:423: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:426: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:429: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:437: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o):/home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:438: more undefined references to `vtkSmartPointerBase::__dt(void)' follow ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `libMesh::VTKIO::nodes_to_vtk( (void))': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:171: undefined reference to `New__9vtkPointsSFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:172: undefined reference to `New__14vtkDoubleArraySFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:172: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:172: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:173: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:173: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:174: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o):/home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:174: more undefined references to `vtkSmartPointerBase::__dt(void)' follow ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `libMesh::VTKIO::nodes_to_vtk( (void))': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:66: undefined reference to `InsertNextTupleValue__29vtkDataArrayTemplate__tm__2_dFPCZ1Z_L' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:180: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:180: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:180: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:180: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:180: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o):/home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:180: more undefined references to `vtkSmartPointerBase::__dt(void)' follow ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `libMesh::VTKIO::cells_to_vtk( (void))': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:210: undefined reference to `New__12vtkCellArraySFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:211: undefined reference to `New__9vtkIdListSFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:211: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:211: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:213: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:213: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:214: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o):/home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:214: more undefined references to `vtkSmartPointerBase::__dt(void)' follow ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `libMesh::VTKIO::cells_to_vtk( (void))': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:222: undefined reference to `SetNumberOfIds__9vtkIdListFL' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:222: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:222: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:225: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:225: undefined reference to `vtkSmartPointerBase::__dt(void)' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:225: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o):/home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:225: more undefined references to `vtkSmartPointerBase::__dt(void)' follow ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `libMesh::VTKIO::cells_to_vtk( (void))': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:262: undefined reference to `InsertId__9vtkIdListFLT1' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:270: undefined reference to `vtkUnstructuredGrid::SetCells(int *, vtkCellArray *)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `libMesh::VTKIO::system_vectors_to_vtk( (libMesh::EquationSystems const &, vtkUnstructuredGrid *&))': /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:306: undefined reference to `New__14vtkDoubleArraySFv' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:84: undefined reference to `SetNumberOfValues__29vtkDataArrayTemplate__tm__2_dFL_v' /home/user/software/libs/libmesh/libmesh-0.9.2/src/mesh/vtk_io.C:323: undefined reference to `vtkFieldData::AddArray(vtkAbstractArray *)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkXMLWriter::SetCompressorTypeToZLib(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkXMLWriter.h:130: undefined reference to `vtkXMLWriter::SetCompressorType(int)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `WritePointer__14vtkIdTypeArrayFLT1': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkIdTypeArray.h:129: undefined reference to `WritePointer__29vtkDataArrayTemplate__tm__2_LFLT1_PZ1Z' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `InsertNextCell__12vtkCellArrayFLPCL': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkCellArray.h:248: undefined reference to `WritePointer__29vtkDataArrayTemplate__tm__2_LFLT1_PZ1Z' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkCellArray::InsertNextCell(vtkIdList *)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkCellArray.h:286: undefined reference to `WritePointer__29vtkDataArrayTemplate__tm__2_LFLT1_PZ1Z' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkDoubleArray::InsertNextTupleValue(double const *)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkDoubleArray.h:66: undefined reference to `InsertNextTupleValue__29vtkDataArrayTemplate__tm__2_dFPCZ1Z_L' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `SetNumberOfValues__14vtkDoubleArrayFL': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkDoubleArray.h:84: undefined reference to `SetNumberOfValues__29vtkDataArrayTemplate__tm__2_dFL_v' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `__ct__34vtkSmartPointer__tm__11_9vtkPointsFPZ1Z': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:36: undefined reference to `vtkSmartPointerBase::__ct(vtkObjectBase *)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkSmartPointer<vtkPoints>::__dt(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:91: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `__ct__40vtkSmartPointer__tm__17_14vtkDoubleArrayFPZ1Z': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:36: undefined reference to `vtkSmartPointerBase::__ct(vtkObjectBase *)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkSmartPointer<vtkDoubleArray>::__dt(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:91: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `__ct__38vtkSmartPointer__tm__15_12vtkCellArrayFPZ1Z': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:36: undefined reference to `vtkSmartPointerBase::__ct(vtkObjectBase *)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkSmartPointer<vtkCellArray>::__dt(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:91: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `__ct__34vtkSmartPointer__tm__11_9vtkIdListFPZ1Z': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:36: undefined reference to `vtkSmartPointerBase::__ct(vtkObjectBase *)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkSmartPointer<vtkIdList>::__dt(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:91: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `_Z1Z::New__54vtkSmartPointer__tm__31_28vtkXMLUnstructuredGridReaderSFv_26vtkSmartPointer__tm(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:113: undefined reference to `New__28vtkXMLUnstructuredGridReaderSFv' /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:113: undefined reference to `__CPR83____ct__19vtkSmartPointerBaseFP13vtkObjectBaseRCQ2_J6J11NoReference' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `__ct__54vtkSmartPointer__tm__31_28vtkXMLUnstructuredGridReaderFPZ1ZRCQ2_19vtkSmartPointerBase11NoReference': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:163: undefined reference to `__CPR83____ct__19vtkSmartPointerBaseFP13vtkObjectBaseRCQ2_J6J11NoReference' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkSmartPointer<vtkXMLUnstructuredGridReader>::__dt(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:163: undefined reference to `vtkSmartPointerBase::__dt(void)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `__ct__55vtkSmartPointer__tm__32_29vtkXMLPUnstructuredGridWriterFPZ1Z': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:36: undefined reference to `vtkSmartPointerBase::__ct(vtkObjectBase *)' ./.libs/libmesh_opt.a(libmesh_opt_la-vtk_io.o): In function `vtkSmartPointer<vtkXMLPUnstructuredGridWriter>::__dt(void)': /apps/rhel5/vtk-5.10.0/include/vtk-5.10/vtkSmartPointer.h:91: undefined reference to `vtkSmartPointerBase::__dt(void)' On Sun, Oct 20, 2013 at 9:34 AM, Roy Stogner <roy...@ic...>wrote: > > On Sun, 20 Oct 2013, Santiago Alonso Pérez Rubiano wrote: > > Hi, I'm trying to compile libmesh with PGI using the instructions outlined >> in http://libmesh.sourceforge.**net/installation.php<http://libmesh.sourceforge.net/installation.php>but I'm getting the >> following error: >> >> "./include/libmesh/libmesh_**augment_std_namespace.h", line 59: error: >> function >> "std::abs(double)" conflicts with using-declaration of function >> "abs(double)" >> inline double abs(double a) >> >> Does anyone has a clue of how to solve this? >> > > Well, the code on those lines is actually invalid C++; it appears to > be a workaround for some old PGI compiler that didn't correctly define > std::abs(double). You can probably work around the problem by just > deleting that function definition from > include/base/libmesh_augment_**std_namespace.h > > Assuming that works, would you let us know exactly what version of PGI > you're using? That way we can make the #ifdef there more specific and > come up with a permanent fix. > > Thanks, > --- > Roy |