[petsc-users] multiple definition of `main' with intel compilers

Satish Balay balay at mcs.anl.gov
Thu May 21 16:53:14 CDT 2020


Please copy/paste complete [compile] commands from:

src/snes/tutorials/
make clean
make ex19
make ex5f

Likely the link command used in your code is different than what is used here - triggering errors.

Satish

On Thu, 21 May 2020, Alfredo Jaramillo wrote:

> hello Satish, no the tests seem to be ok altough some error related to mpd.
> 
> ==============THE TESTS===================
> 
> Running check examples to verify correct installation
> Using PETSC_DIR=/scratch/simulreserv/softwares/petsc-3.13.0 and
> PETSC_ARCH=x64-O3-3.13-intel2016-64
> Possible error running C/C++ src/snes/tutorials/ex19 with 1 MPI process
> See http://www.mcs.anl.gov/petsc/documentation/faq.html
> mpiexec_sdumont11: cannot connect to local mpd
> (/tmp/mpd2.console_alfredo.jaramillo); possible causes:
>   1. no mpd is running on this host
>   2. an mpd is running but was started without a "console" (-n option)
> Possible error running C/C++ src/snes/tutorials/ex19 with 2 MPI processes
> See http://www.mcs.anl.gov/petsc/documentation/faq.html
> mpiexec_sdumont11: cannot connect to local mpd
> (/tmp/mpd2.console_alfredo.jaramillo); possible causes:
>   1. no mpd is running on this host
>   2. an mpd is running but was started without a "console" (-n option)
> 1,5c1,3
> < lid velocity = 0.0016, prandtl # = 1., grashof # = 1.
> <   0 SNES Function norm 0.0406612
> <   1 SNES Function norm 4.12227e-06
> <   2 SNES Function norm 6.098e-11
> < Number of SNES iterations = 2
> ---
> > mpiexec_sdumont11: cannot connect to local mpd
> (/tmp/mpd2.console_alfredo.jaramillo); possible causes:
> >   1. no mpd is running on this host
> >   2. an mpd is running but was started without a "console" (-n option)
> /scratch/simulreserv/softwares/petsc-3.13.0/src/snes/tutorials
> Possible problem with ex19 running with hypre, diffs above
> =========================================
> 1,9c1,3
> < lid velocity = 0.0625, prandtl # = 1., grashof # = 1.
> <   0 SNES Function norm 0.239155
> <     0 KSP Residual norm 0.239155
> <     1 KSP Residual norm < 1.e-11
> <   1 SNES Function norm 6.81968e-05
> <     0 KSP Residual norm 6.81968e-05
> <     1 KSP Residual norm < 1.e-11
> <   2 SNES Function norm < 1.e-11
> < Number of SNES iterations = 2
> ---
> > mpiexec_sdumont11: cannot connect to local mpd
> (/tmp/mpd2.console_alfredo.jaramillo); possible causes:
> >   1. no mpd is running on this host
> >   2. an mpd is running but was started without a "console" (-n option)
> /scratch/simulreserv/softwares/petsc-3.13.0/src/snes/tutorials
> Possible problem with ex19 running with mumps, diffs above
> =========================================
> Possible error running Fortran example src/snes/tutorials/ex5f with 1 MPI
> process
> See http://www.mcs.anl.gov/petsc/documentation/faq.html
> mpiexec_sdumont11: cannot connect to local mpd
> (/tmp/mpd2.console_alfredo.jaramillo); possible causes:
>   1. no mpd is running on this host
>   2. an mpd is running but was started without a "console" (-n option)
> Completed test examples
> 
> ===============================
> 
> I entered in src/snes/tutorials/ and executed "make ex5f". The binary exf5
> was created
> 
> 
> 
> On Thu, May 21, 2020 at 6:37 PM Satish Balay <balay at mcs.anl.gov> wrote:
> 
> > Do you get this error when building PETSc examples [C and/or fortran] -
> > when you build them with the corresponding petsc makefile?
> >
> > Can you send the log of the example compiles?
> >
> > Satish
> >
> > ---
> >
> > [the attachment got deleted - don't know by who..]
> >
> > DENIAL OF SERVICE ALERT
> >
> > A denial of service protection limit was exceeded. The file has been
> > removed.
> > Context: 'configure.log.7z'
> > Reason: The data size limit was exceeded
> > Limit: 10 MB
> > Ticket Number : 0c9c-5ec6-f30f-0001
> >
> >
> > For further information, contact your system administrator.
> > Copyright 1999-2014 McAfee, Inc.
> > All Rights Reserved.
> > http://www.mcafee.com
> >
> >
> >
> > On Thu, 21 May 2020, Alfredo Jaramillo wrote:
> >
> > > dear PETSc team,
> > >
> > > I have compiled PETSc with a 2016 version of the intel compilers. The
> > > installation went well, but when I tried to compile my code the following
> > > error appears in the final step of compilation (linking with ld)
> > >
> > > ../build/linux_icc/obj_linux_icc_opt/main.o: In function `main':
> > > main.c:(.text+0x0): multiple definition of `main'
> > >
> > /opt/intel/parallel_studio_xe_2016_update2/compilers_and_libraries_2016.2.181/linux/compiler/lib/intel64/libifcore_pic.a(for_main.o):for_main.c:(.text+0x0):
> > > first defined here
> > >
> > /opt/intel/parallel_studio_xe_2016_update2/compilers_and_libraries_2016.2.181/linux/compiler/lib/intel64/libifcore_pic.a(for_main.o):
> > > In function `main':
> > > for_main.c:(.text+0x3e): undefined reference to `MAIN__'
> > >
> > > I searched for this and I found that the option "-nofor_main" should be
> > > added when compiling with ifort, but our code is written only in C an
> > C++.
> > > The FORTRAN compiler is used when PETSc compiles MUMPS. So I dont know if
> > > this would work for this case.
> > >
> > > The configure.log file and the log of the compilation giving the error
> > are
> > > attached to this message. These logs were obtained in a cluster, I'm
> > > getting the same error on my personal computer with a 2020 version of the
> > > Intel Parallel Studio.
> > >
> > > thank you for any help on this
> > > Alfredo
> > >
> >
> >
> 



More information about the petsc-users mailing list