[petsc-users] problem linking(?) a third party fortran code that uses petsc
Diana Valencia
valencia at astro.utoronto.ca
Thu Sep 24 19:21:36 CDT 2015
Hi,
I am trying to compile a third party software written in fortran90 that uses petsc. There is the option of compiling the code with or without petsc. Without it I have no problems, however when I use petsc, I encounter this:
After building the subroutines the error is:
gfortran -fdefault-real-8 -fdefault-double-8 -w -O2 -o stagyy main.o advdif.o communication.o continents.o evocore.o geometry.o init.o io.o iter.o melting.o miscellaneous.o MPDATA.o multi.o refstate.o phase_change.o poisson.o prolongate_restrict.o relax_all.o relax_cell.o relax_point.o residues.o tracers.o v_advection.o vee_cycle.o viscosity.o crw.o geoid.o implicit_diffusion.o linpack.o plot.o wrtpng.o blas123.o lapack.o nxs_dummy.o PETScimple_mod.o xdmf_hdf5_io_dummy.o bcs_mod.o composition_mod.o control_mod.o continents_mod.o vgrid_mod.o init_mod.o io_mod.o iter_mod.o melting_mod.o meltingfns_mod.o multi_mod.o phase_change_mod.o plot_mod.o precision_mod.o refstat_mod.o stencil_mod.o timestep_mod.o timing_mod.o tracers_mod.o viscosity_mod.o thermochem_mod.o platesLea_mod.o /opt/X11/lib/libpng.dylib
Undefined symbols for architecture x86_64:
"_kspcreate_", referenced from:
___petscimple_MOD_simplepetsc_create_everything in PETScimple_mod.o
"_kspdestroy_", referenced from:
___petscimple_MOD_simplepetsc_destroy_everything in PETScimple_mod.o
"_kspgetpc_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_kspsetfromoptions_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_kspsetoperators_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_kspsettype_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_kspsolve_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_matassemblybegin_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_matassemblyend_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_matcreateseqaij_", referenced from:
___petscimple_MOD_simplepetsc_create_everything in PETScimple_mod.o
"_matdestroy_", referenced from:
___petscimple_MOD_simplepetsc_destroy_everything in PETScimple_mod.o
"_matsetvalues_", referenced from:
___petscimple_MOD_simplepetsc_insert_compactrow in PETScimple_mod.o
"_mpi_comm_size_", referenced from:
___petscimple_MOD_initialize in PETScimple_mod.o
"_pcfactorsetmatsolverpackage_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_pcsettype_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_petscfinalize_", referenced from:
___petscimple_MOD_finalize in PETScimple_mod.o
"_petscinitialize_", referenced from:
___petscimple_MOD_initialize in PETScimple_mod.o
"_veccreateseqwitharray_", referenced from:
___petscimple_MOD_simplepetsc_create_everything in PETScimple_mod.o
"_vecdestroy_", referenced from:
___petscimple_MOD_simplepetsc_destroy_everything in PETScimple_mod.o
"_vecplacearray_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
"_vecresetarray_", referenced from:
___petscimple_MOD_simplepetsc_solve in PETScimple_mod.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [stagyy] Error 1
My machine is OS X 10.10 and I am working with 64 bytes. I configured petsc with the following flags:
./configure --with-fc=gfortran --with-fortran-datatypes --with-x=0 --download-mpich --download-parmetis --download-superlu --download-superlu_dist --download-blacs --download-scalapack --download-mumps --download-umfpack --download-ml --with-debugging=no --download-f-blas-lapack=yes
Any help is greatly appreciated!!
Thanks
Diana
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150924/197eddde/attachment.html>
More information about the petsc-users
mailing list