problems running 'make'

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
loric
Posts: 14
Joined: Mon Nov 12, 2007 2:17 pm
Location: UP - Marine Science Institute

problems running 'make'

#1 Unread post by loric »

Hi,

I'm new to the ROMS model, and I've encountered a problem running 'make'. I'm trying to decipher the error message. When I run 'make', the output is:

loric@ubuntu1://home/loric/ROMS$ make
: No such file or directory
makefile:230: INCLUDING FILE Compilers/make_macros.mk WHICH CONTAINS APPLICATION-DEPENDENT MAKE DEFINITIONS
cp -f /usr/local/include/netcdf.mod Build
cp -f /usr/local/include/typesizes.mod Build
./ROMS/Bin/sfmakedepend --cpp --fext=f90 --file=- --objdir=Build -DROMS_HEADER="upwelling.h" -I ROMS/Include -I ROMS/Nonlinear -I ROMS/SeaIce -I ROMS/Utility -I ROMS/Drivers -I ROMS/Functionals -I Master -I Compilers --silent --moddir Build ROMS/Nonlinear/bbl.F ROMS/Nonlinear/bc_2d.F ROMS/Nonlinear/bc_3d.F ROMS/Nonlinear/biology.F ROMS/Nonlinear/bulk_flux.F ROMS/Nonlinear/bvf_mix.F ROMS/Nonlinear/conv_2d.F ROMS/Nonlinear/conv_3d.F ROMS/Nonlinear/diag.F ROMS/Nonlinear/exchange_2d.F ROMS/Nonlinear/exchange_3d.F ROMS/Nonlinear/forcing.F ROMS/Nonlinear/get_data.F ROMS/Nonlinear/get_idata.F ROMS/Nonlinear/gls_corstep.F ROMS/Nonlinear/gls_prestep.F ROMS/Nonlinear/ini_fields.F ROMS/Nonlinear/initial.F ROMS/Nonlinear/interp_floats.F ROMS/Nonlinear/lmd_bkpp.F ROMS/Nonlinear/lmd_skpp.F ROMS/Nonlinear/lmd_swfrac.F ROMS/Nonlinear/lmd_vmix.F ROMS/Nonlinear/main2d.F ROMS/Nonlinear/main3d.F ROMS/Nonlinear/mpdata_adiff.F ROMS/Nonlinear/my25_corstep.F ROMS/Nonlinear/my25_prestep.F ROMS/Nonlinear/obc_volcons.F ROMS/Nonlinear/omega.F ROMS/Nonlinear/output.F ROMS/Nonlinear/pre_step3d.F ROMS/Nonlinear/prsgrd.F ROMS/Nonlinear/radiation_stress.F ROMS/Nonlinear/rho_eos.F ROMS/Nonlinear/rhs3d.F ROMS/Nonlinear/sediment.F ROMS/Nonlinear/set_avg.F ROMS/Nonlinear/set_data.F ROMS/Nonlinear/set_depth.F ROMS/Nonlinear/set_massflux.F ROMS/Nonlinear/set_tides.F ROMS/Nonlinear/set_vbc.F ROMS/Nonlinear/set_zeta.F ROMS/Nonlinear/step2d.F ROMS/Nonlinear/step3d_t.F ROMS/Nonlinear/step3d_uv.F ROMS/Nonlinear/step_floats.F ROMS/Nonlinear/t3dbc_im.F ROMS/Nonlinear/t3dmix.F ROMS/Nonlinear/tkebc_im.F ROMS/Nonlinear/u2dbc_im.F ROMS/Nonlinear/u3dbc_im.F ROMS/Nonlinear/uv3dmix.F ROMS/Nonlinear/v2dbc_im.F ROMS/Nonlinear/v3dbc_im.F ROMS/Nonlinear/wvelocity.F ROMS/Nonlinear/zetabc.F ROMS/Functionals/analytical.F ROMS/SeaIce/seaice.F ROMS/Utility/back_cost.F ROMS/Utility/back_cov.F ROMS/Utility/back_step.F ROMS/Utility/cgradient.F ROMS/Utility/checkdefs.F ROMS/Utility/checkvars.F ROMS/Utility/close_io.F ROMS/Utility/congrad.F ROMS/Utility/cost_grad.F ROMS/Utility/cost_norm.F ROMS/Utility/def_avg.F ROMS/Utility/def_diags.F ROMS/Utility/def_floats.F ROMS/Utility/def_gst.F ROMS/Utility/def_hessian.F ROMS/Utility/def_his.F ROMS/Utility/def_impulse.F ROMS/Utility/def_info.F ROMS/Utility/def_ini.F ROMS/Utility/def_mod.F ROMS/Utility/def_norm.F ROMS/Utility/def_rst.F ROMS/Utility/def_station.F ROMS/Utility/def_var.F ROMS/Utility/descent.F ROMS/Utility/distribute.F ROMS/Utility/dotproduct.F ROMS/Utility/downhill.F ROMS/Utility/extract_obs.F ROMS/Utility/extract_sta.F ROMS/Utility/gasdev.F ROMS/Utility/get_2dfld.F ROMS/Utility/get_2dfldr.F ROMS/Utility/get_3dfld.F ROMS/Utility/get_3dfldr.F ROMS/Utility/get_bounds.F ROMS/Utility/get_cycle.F ROMS/Utility/get_date.F ROMS/Utility/get_grid.F ROMS/Utility/get_gst.F ROMS/Utility/get_ngfld.F ROMS/Utility/get_ngfldr.F ROMS/Utility/get_state.F ROMS/Utility/get_varcoords.F ROMS/Utility/grid_coords.F ROMS/Utility/impulse.F ROMS/Utility/ini_adjust.F ROMS/Utility/inp_par.F ROMS/Utility/interpolate.F ROMS/Utility/metrics.F ROMS/Utility/mp_exchange.F ROMS/Utility/mp_routines.F ROMS/Utility/nf_fread2d.F ROMS/Utility/nf_fread3d.F ROMS/Utility/nf_fread4d.F ROMS/Utility/nf_fwrite2d.F ROMS/Utility/nf_fwrite3d.F ROMS/Utility/nf_fwrite4d.F ROMS/Utility/normalization.F ROMS/Utility/nrutil.F ROMS/Utility/obs_cost.F ROMS/Utility/obs_depth.F ROMS/Utility/obs_initial.F ROMS/Utility/obs_read.F ROMS/Utility/obs_scale.F ROMS/Utility/obs_write.F ROMS/Utility/oi_update.F ROMS/Utility/opencdf.F ROMS/Utility/packing.F ROMS/Utility/ran1.F ROMS/Utility/ran_state.F ROMS/Utility/regrid.F ROMS/Utility/set_2dfld.F ROMS/Utility/set_2dfldr.F ROMS/Utility/set_3dfld.F ROMS/Utility/set_3dfldr.F ROMS/Utility/set_diags.F ROMS/Utility/set_ngfld.F ROMS/Utility/set_ngfldr.F ROMS/Utility/set_scoord.F ROMS/Utility/set_weights.F ROMS/Utility/shapiro.F ROMS/Utility/state_addition.F ROMS/Utility/state_copy.F ROMS/Utility/state_dotprod.F ROMS/Utility/state_initialize.F ROMS/Utility/state_scale.F ROMS/Utility/stats_modobs.F ROMS/Utility/stiffness.F ROMS/Utility/timers.F ROMS/Utility/utility.F ROMS/Utility/white_noise.F ROMS/Utility/wpoints.F ROMS/Utility/wrt_avg.F ROMS/Utility/wrt_diags.F ROMS/Utility/wrt_floats.F ROMS/Utility/wrt_gst.F ROMS/Utility/wrt_hessian.F ROMS/Utility/wrt_his.F ROMS/Utility/wrt_info.F ROMS/Utility/wrt_ini.F ROMS/Utility/wrt_rst.F ROMS/Utility/wrt_station.F ROMS/Modules/mod_arrays.F ROMS/Modules/mod_average.F ROMS/Modules/mod_bbl.F ROMS/Modules/mod_biology.F ROMS/Modules/mod_boundary.F ROMS/Modules/mod_clima.F ROMS/Modules/mod_coupling.F ROMS/Modules/mod_diags.F ROMS/Modules/mod_eclight.F ROMS/Modules/mod_eoscoef.F ROMS/Modules/mod_floats.F ROMS/Modules/mod_forces.F ROMS/Modules/mod_fourdvar.F ROMS/Modules/mod_grid.F ROMS/Modules/mod_iounits.F ROMS/Modules/mod_kinds.F ROMS/Modules/mod_mixing.F ROMS/Modules/mod_ncparam.F ROMS/Modules/mod_nesting.F ROMS/Modules/mod_netcdf.F ROMS/Modules/mod_obs.F ROMS/Modules/mod_ocean.F ROMS/Modules/mod_parallel.F ROMS/Modules/mod_param.F ROMS/Modules/mod_scalars.F ROMS/Modules/mod_sediment.F ROMS/Modules/mod_sources.F ROMS/Modules/mod_stepping.F ROMS/Modules/mod_storage.F ROMS/Modules/mod_strings.F ROMS/Modules/mod_tides.F Master/master.F Master/ocean_control.F Master/ocean_coupler.F Master/propagator.F > Build/MakeDepend
: No such file or directory
make: *** No rule to make target `Build/MakeDepend', needed by `all'. Stop.

I'm trying to decipher what files are meant by the 'No such file or directory' statements, as well as the last error. I simply tried following the steps in the online tutorial, to set the UPWELLING test case. However, I'm using the gfortran compiler and I've set the appropriate macro in the makefile. Still, I get this error. Can I appeal for any advice on this matter?

Thanks.

Loric

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

#2 Unread post by kate »

It is failing in the "make depend" phase. The "no such file" is from sfmakedepend. Assuming you have that file, it is not finding a perl executable. Do you have perl on your system? What does "perl --version" give you?

loric
Posts: 14
Joined: Mon Nov 12, 2007 2:17 pm
Location: UP - Marine Science Institute

#3 Unread post by loric »

Hi Kate,

Thanks for the reply. I've checked for the file 'sfmakedepend', and it's there in the ROMS/Bin directory. After running 'perl --version', it seems to be installed and the message I get is:

This is perl, v5.8.8 built for i486-linux-gnu-thread-multi

Copyright 1987-2006, Larry Wall

There's one more thing about the ROMS directory I failed to mention. There's something wrong with our servers and I could not checkout the ROMS trunk directly to our linux machine. I had to do the checkout under Windows XP and then copied the directories. Is there a possibility that this contributes to the problem?

jprinehimer
Posts: 20
Joined: Fri Oct 20, 2006 3:34 pm
Location: VIMS

#4 Unread post by jprinehimer »

I think your problem is because you checked out the code from Windows and the line endings are Windows style. I've seen errors like this before when I've checked out from a Windows machine onto a shared-drive and tried to run on a Unix/Linux box. It's pretty cryptic and a pain to debug. You can use a utility like dos2unix or recode to change all the files to the correct line endings. Or, better yet, do a checkout from a Unix box. I think even a checkout using the Cygwin version of svn should give you Unix line endings.

This brings up a question I've had for awhile. In svn a property is set so that the user checks out a file for the appropriate operating system. I believe this property is svn:eol-style=native. My question is why is this set on the ROMS sources? I understand the utility of native line endings in general, but doesn't every compiler we use (even Cygwin and Mac compliers) understand Unix line endings? Which ones don't?

I've had this issue both at compile time (with the sources) and, after I thought I'd fixed it, at run-time (with the input files). I've personally spent a few days trying to figure it out. If there's no need for non-Unix line endings, why don't we keep the sources as Unix-style and these cryptic debugging issues would not come up.

- J.Paul

Corrections: recode was originally convert, an image conversion program not a text file converter. Thanks Aaron.
Last edited by jprinehimer on Thu Feb 07, 2008 3:07 pm, edited 1 time in total.

loric
Posts: 14
Joined: Mon Nov 12, 2007 2:17 pm
Location: UP - Marine Science Institute

#5 Unread post by loric »

Thank you for all your replies. Yes, maybe the error really has to do with the copying from Windows to Linux. I'll try a checkout straight from linux, assuming we get to fix our server connections.

abever
Posts: 23
Joined: Tue Feb 17, 2004 6:15 pm
Location: Anchor QEA, LLC

#6 Unread post by abever »

I think you can use the recode command in linux to change them all to the correct line endings.

loric
Posts: 14
Joined: Mon Nov 12, 2007 2:17 pm
Location: UP - Marine Science Institute

#7 Unread post by loric »

Thanks for the recode tip, I'll be trying that as it would come in handy for other things as well. Anyway, just wanted to let everybody know that I've checked ROMS out straight to our linux box and the compilation is successful, with none of the errors I started this topic with. So I guess that's still the best way :) Thank you all for your help!

Post Reply