Dummy object file

Dummy object file


I have just installed the Intel Fortran Compiler for Linux and the mpich. I am trying to build an application called flash (available at www.flash.uchicago.edu). I get problems at the link stage. The linker (ld) can't recognize the object file format. Below is the end of the make output when building flash. The strange thing is those "object files" contents are only:

Intel IPO compilation -- dummy object file

How is the linker supposed to deal with that??

Thanks for any help.

****Last part of make output:
mpif90 -o flash2 Cosmology.o CosmologicalFunctions.o Friedmann.o RedshiftHydro.o ExpansionTimestep.o global_run
time_dec.o dBaseDeclarations.o dBaseDataByPointer.o dBaseErrors.o dBaseDataByNumber.o dBaseKey.o dBaseDataByNam
e.o dBaseData.o dBaseBoundaryData.o dBaseBoundaryDataByName.o dBaseBoundaryDataByPointer.o dBaseTree.o dBase.o
dBaseProperties.o dBaseCoords.o dBaseCoordsByNumber.o dBaseCoordsByName.o runtime_scratch.o dBaseAPI.o dBaseAPI
-bridges.o dBaseIncludes.o physicaldata.o workspace.o tree.o flash.o signal_handler.o init_flash.o end_flash.o
read_parameters.o runtime_parameters.o physical_constants.o init_global_parms.o abort_flash.o init_from_scratch
.o init_from_checkpoint.o convert_var_prim_to_cons.o convert_var_cons_to_prim.o driverAPI.o driverAPI-bridges.o
evolve.o timestep.o tstep_temperature.o tstep_temperature_precompute.o init_form.o Gravity.o InitGravity.o Gr
avAccelAllBlocks.o GravAccelOneBlock.o GravAccelOneLevel.o GravAccelOneRow.o GravPotentialAllBlocks.o GravPoten
tialOneLevel.o GravPotentialOneBlock.o GravityTimestep.o GravAccelOneZone.o hydro.o init_hydro.o tstep_hydro.o
tstep_diffuse.o mhd_sweepbegin.o mhd_sweepend.o shock_detect.o limiters.o hydro_1dModule.o hydro_1d.o update_s
oln.o force.o geom.o hydro_sweep.o diffuse.o grdvel.o avisco.o PPMModule.o PPMInit.o intrfc.o rieman.o riemann
_hlle.o states.o coeff.o detect.o flaten.o interp.o cma_flatten.o monot.o PPMData.o output_initial.o output.o o
utput_final.o checkpoint.o plotfile.o extrema.o wr_integrals.o getPlotVars.o getParticlePlotVars.o user_var.o u
ser_diag.o init_global_parms_checkpoint.o get_output_filename.o getvarlabels.o abundance_renorm.o abundance_res
trict.o init_mat.o multifluid.o eos3d.o eos1d.o eos.o conductivity.o init_eos.o init_block.o init_mesh.o init_p
arallel.o grid.o mesh_interface.o MarkRefLib.o tot_bnd.o user_bnd.o update_grid_refinement.o mark_grid_refineme
nt.o ref_marking.o divide_domain.o create_block.o find_neighbors
.o batchsend.o batchsend_dbl.o amr_bsort.o amr_
close.o amr_cp_loc.o amr_cp_remote.o amr_derefine_blocks.o amr_diagonal_patch.o amr_edge_average.o amr_edge_ave
rage_udt.o amr_edge_average_vdt.o amr_edge_diagonal_check.o amr_face_cp_loc.o amr_face_cp_remote.o amr_flux_con
serve.o amr_flux_conserve_udt.o amr_flux_conserve_vdt.o amr_guardcell.o amr_guardcell_c_to_f.o amr_guardcell_cc
_c_to_f.o amr_guardcell_cc_srl.o amr_guardcell_fc_c_to_f.o amr_guardcell_fc_srl.o amr_guardcell_srl.o amr_initi
alize.o amr_mark_edges.o amr_morton.o amr_prolong.o amr_prolong_cc.o amr_prolong_cc_fun_init.o amr_prolong_face
_fun.o amr_prolong_face_fun_init.o amr_prolong_fc.o amr_prolong_fc_divbconsist.o amr_prolong_fun_init.o amr_pro
long_gen_face_fun.o amr_prolong_gen_unk_fun.o amr_prolong_gen_work_fun.o amr_prolong_unk_fun.o amr_prolong_work
_fun.o amr_redist_blk.o amr_refine_blocks.o amr_refine_derefine.o amr_restrict.o amr_restrict_bnd_data.o amr_re
strict_cc.o amr_restrict_eblock_marker.o amr_restrict_edge.o amr_restrict_edge_data.o amr_restrict_fc.o amr_res
trict_fc_fun.o amr_restrict_red.o amr_restrict_unk_fun.o amr_restrict_unk_fun_recip.o amr_restrict_work_fun.o a
mr_restrict_work_fun_recip.o AdvanceParticles.o InitParticles.o InitParticlePositions.o MapMeshToParticles.o
MapParticlesToMesh.o ParticleData.o ParticleModule.o ParticleTimestep.o ParticleComm.o ParticleCommData.o radia
tionModule.o source_termsModule.o burn.o heat.o cool.o ioniz.o init_burn.o init_heat.o init_cool.o init_ioniz.
o tstep_burn.o tstep_heat.o tstep_cool.o tstep_ioniz.o init_src.o stir.o init_stir.o string_tools.o profiling.
o perfmon.o logfile.o get_argument.o current_date_time.o get_opt.o memory_usage.o memory_report.o storeaddress
.o visualization.o buildstamp.o flash_release.o buildstats.o flashModules.o
/usr/bin/ld:Cosmology.o: file format not recognized; treating as linker script
/usr/bin/ld:Cosmology.o:1: parse error
make[1]: *** [flash2] Error 1
make[1]: Leaving directory `/home/h/top2/ra019837/flash/FLASH2.3/object'
make: *** [default] Error 2

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I'm going with the assumption you used either -ipo or -fast when you built the object files with Intel Fortran.

IPO, or Inter-Procedural Optimization, requires that you use the Intel Fortran driver to link, rather than mpif90. Moreover, if you do use Intel Fortran to link, you need to specify -ipo again so it knows to do the right thing.

If you must use mpif90 for the link step, you'll need to rebuild your object files, and this time don't use either -ipo or -fast. (Note: -fast is a sort of meta-switch that implicitly turns on -ipo)

Let us know how this turns out, OK?

- Lorri

Yes, I was using the -fast option. I added -ipo and -ipo_obj and it worked fine, even using mpif90. Thanks for your help.

Leave a Comment

Please sign in to add a comment. Not a member? Join today