Hello all,

i have been trying to get started with libMesh since a few weeks.
Everything ran very well until i enabled the complex option.
i downloaded latest version of libMesh code via svn, and compiled
petsc-3.0.0-p3 by using following configuration
--------------------------------------------------------------
$./config/configure.py --with-cc=gcc \
--with-fc=gfortran \
--with-cxx=g++ \
--with-mpi-compilers=0 \
--with-shared=1 \
--with-debugging=1 \
--download-mpich=1 \
--download-f-blas-lapack=1 \
--with-scalar-type=complex
$make all test
--------------------------------------------------------------

everything seemed to work, so i carried on configuring libmesh

-------------------------------------------------------------------------
$CXX=g++ CC=gcc F77=gfortran ./configure --enable-complex --enable-ifem
$make
-------------------------------------------------------------------------

during the compilation, it pops up the error message

-------------------------------------------------------------------------
Compiling C++ (in optimized mode) src/base/libmesh.C...
In file included from 
/home/ping/programs/petsc-3.0.0-p3/include/petsc.h:353,
from
/home/ping/programs/libmesh/include/numerics/petsc_macro.h:83,
from src/base/libmesh.C:38:
/home/ping/programs/petsc-3.0.0-p3/include/petscmath.h:92: error:
expected initializer before ‘PetscScalar’
/home/ping/programs/petsc-3.0.0-p3/include/petscmath.h:181: error:
‘PetscScalar’ does not name a type
...
‘PetscScalar’ is undefined and so on (reasonable)
...
-------------------------------------------------------------------------

i traced back to the 'petscmath.h', line 92 is simply a typedef form
'double complex' to ‘PetscScalar’, and also the comments tells that
the c compiler must support c90.
So i checked the output of libMesh configure. well the problem has
been already stated: "checking for gcc option to accept ISO C89...
none needed". I read the GNU compiler document, it says that the gcc
default standard sould be c90. since there is possibility they have
already updated to c99, i also tried to append CFALGS='ansi' (so as
std=c89, std=iso9899:1990) while configuring libMesh. The configure
reported either "checking for gcc option to accept ISO C89...
unsppored" or "checking whether we are using the GNU C compiler...
no", and compilation stops at the same spot.

i am running gcc 4.3.2 under kubuntu 8.10. am i using the wrong
compiler or just didn't configure it right? would be really
appreciated if someone can drop me a hint!!

best regards
Ping Rong

-- 
Mit freundlichen Grüßen

M.Sc. Ping Rong
Technische Universität Hamburg-Harburg
Institut für Modellierung und Berechnung

Denickestraße 17 
21073 Hamburg
DE 17 Raum 3031

Tel.: ++49 - (0)40 - 42878 2749
Fax:  ++49 - (0)40 - 42878 43533


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to