Yet another compiling mystery

Bug reports, work arounds and fixes

Moderators: arango, robertson

Post Reply
Message
Author
stabenau
Posts: 3
Joined: Wed Aug 11, 2010 6:22 pm
Location: National Park Service

Yet another compiling mystery

#1 Unread post by stabenau »

I've been following the installation guidelines at https://www.myroms.org/wiki/index.php/ROMS_UNSW2008 with appropriate changes in paths to match my local machine. The installation is on Ubuntu 10.04 (Lucid Lynx) platform with gfortran as the selected compiler. It doesn't compile and it ends with the "no rule to make target... MakeDepend" (see below).

Other observations: note the "--fext=f90" in the output text. I have f95 and gfortran on the system now and call for gfortran in the build.sh script so I'm not sure where the reference to f90 comes from or if it is significant.

Suggestions?
Thanks in advance.



otter:/data1/models/Projects/upwelling> build.sh
Moved to directory /data1/models/ROMS/trunk
****************
************running make clean now**********************
rm -f -r core *.ipo /data1/models/Projects/upwelling/Build /home/stabenau/make_macros.mk
*******************Running make now******************
makefile:238: INCLUDING FILE /home/stabenau/make_macros.mk WHICH CONTAINS APPLICATION-DEPENDENT MAKE DEFINITIONS
cp -f /usr/local/include/netcdf.mod /data1/models/Projects/upwelling/Build
cp -f /usr/local/include/typesizes.mod /data1/models/Projects/upwelling/Build
./ROMS/Bin/sfmakedepend --cpp --fext=f90 --file=- --objdir=/data1/models/Projects/upwelling/Build -DROMS_HEADER="upwelling.h" -I ROMS/Include -I /data1/models/Projects/upwelling -I ROMS/Nonlinear -I ROMS/Nonlinear/Biology -I ROMS/Nonlinear/Sediment -I ROMS/Utility -I ROMS/Drivers -I ROMS/Functionals -I /data1/models/Projects/upwelling -I Master -I Compilers --silent --moddir /data1/models/Projects/upwelling/Build ROMS/Nonlinear/bbl.F ROMS/Nonlinear/bc_2d.F ROMS/Nonlinear/bc_3d.F ROMS/Nonlinear/bc_bry2d.F ROMS/Nonlinear/bc_bry3d.F ROMS/Nonlinear/bulk_flux.F ROMS/Nonlinear/bvf_mix.F ROMS/Nonlinear/conv_2d.F ROMS/Nonlinear/conv_3d.F ROMS/Nonlinear/conv_bry2d.F ROMS/Nonlinear/conv_bry3d.F ROMS/Nonlinear/diag.F ROMS/Nonlinear/exchange_2d.F ROMS/Nonlinear/exchange_3d.F ROMS/Nonlinear/forcing.F ROMS/Nonlinear/frc_adjust.F ROMS/Nonlinear/get_data.F ROMS/Nonlinear/get_idata.F ROMS/Nonlinear/gls_corstep.F ROMS/Nonlinear/gls_prestep.F ROMS/Nonlinear/hmixing.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_adjust.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/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/vwalk_floats.F ROMS/Nonlinear/wetdry.F ROMS/Nonlinear/wvelocity.F ROMS/Nonlinear/zetabc.F ROMS/Nonlinear/Biology/biology.F ROMS/Nonlinear/Sediment/sed_bed.F ROMS/Nonlinear/Sediment/sed_bedload.F ROMS/Nonlinear/Sediment/sed_fluxes.F ROMS/Nonlinear/Sediment/sediment.F ROMS/Nonlinear/Sediment/sed_settling.F ROMS/Nonlinear/Sediment/sed_surface.F ROMS/Functionals/analytical.F ROMS/Utility/abort.F ROMS/Utility/array_modes.F ROMS/Utility/back_cost.F ROMS/Utility/cgradient.F ROMS/Utility/checkadj.F ROMS/Utility/checkdefs.F ROMS/Utility/checkerror.F ROMS/Utility/checkvars.F ROMS/Utility/close_io.F ROMS/Utility/congrad.F ROMS/Utility/convolve.F ROMS/Utility/cost_grad.F ROMS/Utility/def_avg.F ROMS/Utility/def_diags.F ROMS/Utility/def_dim.F ROMS/Utility/def_error.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_lanczos.F ROMS/Utility/def_mod.F ROMS/Utility/def_norm.F ROMS/Utility/def_rst.F ROMS/Utility/def_station.F ROMS/Utility/def_tides.F ROMS/Utility/def_var.F ROMS/Utility/distribute.F ROMS/Utility/dotproduct.F ROMS/Utility/extract_obs.F ROMS/Utility/extract_sta.F ROMS/Utility/frc_weak.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/ini_adjust.F ROMS/Utility/ini_hmixcoef.F ROMS/Utility/ini_lanczos.F ROMS/Utility/inp_par.F ROMS/Utility/inquire.F ROMS/Utility/interpolate.F ROMS/Utility/lubksb.F ROMS/Utility/ludcmp.F ROMS/Utility/metrics.F ROMS/Utility/mp_exchange.F ROMS/Utility/mp_routines.F ROMS/Utility/nf_fread2d_bry.F ROMS/Utility/nf_fread2d.F ROMS/Utility/nf_fread3d_bry.F ROMS/Utility/nf_fread3d.F ROMS/Utility/nf_fread4d.F ROMS/Utility/nf_fwrite2d_bry.F ROMS/Utility/nf_fwrite2d.F ROMS/Utility/nf_fwrite3d_bry.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_write.F ROMS/Utility/packing.F ROMS/Utility/posterior.F ROMS/Utility/posterior_var.F ROMS/Utility/ran1.F ROMS/Utility/random_ic.F ROMS/Utility/ran_state.F ROMS/Utility/regrid.F ROMS/Utility/rep_matrix.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_masks.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/sqlq.F ROMS/Utility/state_addition.F ROMS/Utility/state_copy.F ROMS/Utility/state_dotprod.F ROMS/Utility/state_initialize.F ROMS/Utility/state_product.F ROMS/Utility/state_scale.F ROMS/Utility/stats_modobs.F ROMS/Utility/stiffness.F ROMS/Utility/strings.F ROMS/Utility/sum_grad.F ROMS/Utility/timers.F ROMS/Utility/vorticity.F ROMS/Utility/white_noise.F ROMS/Utility/wpoints.F ROMS/Utility/wrt_avg.F ROMS/Utility/wrt_diags.F ROMS/Utility/wrt_error.F ROMS/Utility/wrt_floats.F ROMS/Utility/wrt_gst.F ROMS/Utility/wrt_hessian.F ROMS/Utility/wrt_his.F ROMS/Utility/wrt_impulse.F ROMS/Utility/wrt_info.F ROMS/Utility/wrt_ini.F ROMS/Utility/wrt_rst.F ROMS/Utility/wrt_station.F ROMS/Utility/wrt_tides.F ROMS/Utility/zeta_balance.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_coupler.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_ocean.F ROMS/Modules/mod_parallel.F ROMS/Modules/mod_param.F ROMS/Modules/mod_scalars.F ROMS/Modules/mod_sedbed.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/esmf_roms.F Master/master.F Master/ocean_control.F Master/ocean_coupler.F Master/propagator.F Master/roms_export.F Master/roms_import.F > /data1/models/Projects/upwelling/Build/MakeDepend
cp -p /home/stabenau/make_macros.mk /data1/models/Projects/upwelling/Build
cp: preserving permissions for `/data1/models/Projects/upwelling/Build/make_macros.mk': Operation not supported
make: *** No rule to make target `/data1/models/Projects/upwelling/Build/MakeDepend', needed by `all'. Stop.

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

Re: Yet another compiling mystery

#2 Unread post by kate »

Before ROMS compiles anything, it sets up a scratch space for all the .f90, .mod and .o working files. It copies the NetCDF module files there, then runs a script to generate the makefile dependencies. It is this step which failed. Do you have Perl5 installed?

The -fext=f90 is being passed to the Perl script and says that the intermediate files have a .f90 extension.

stabenau
Posts: 3
Joined: Wed Aug 11, 2010 6:22 pm
Location: National Park Service

Re: Yet another compiling mystery

#3 Unread post by stabenau »

I have perl 5.10.1 installed at /usr/bin/perl.

I recognized this is not a "ROMS bug" and have cross posted to "ROMS Installation". Still seeking assistance.

User avatar
arango
Site Admin
Posts: 1367
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: Yet another compiling mystery

#4 Unread post by arango »

cp: preserving permissions for `/data1/models/Projects/upwelling/Build/make_macros.mk': Operation not supported
I think that you may have problems writing to that particular disk partition: /data1/... I will check your user access (protections) to any of those sub-directories.

stabenau
Posts: 3
Joined: Wed Aug 11, 2010 6:22 pm
Location: National Park Service

Re: Yet another compiling mystery

#5 Unread post by stabenau »

Thanks for the quick reply - it turns out it was a simple and as complicated as a permissions issue on /data1. In this case it is related to ACL's (Access control lists). The file 'make_macros.mk' is temporarily written to my home directory, which is a mounted network drive and uses ACLs, then is copied to /data1, which is a local drive formatted ext3 without ACLs. The SOLUTION (for future forum users):

Edit fstab to include ACLs on the appropriate drive. In my case:

Code: Select all

cp -v /etc/fstab /etc/fstab.old

cd /etc
vi fstab

...and my changes to the setup for /data1 are below....
#/dev/sda1      /data1                  ext3    defaults        0 2
/dev/sda1       /data1                  ext3    rw,acl          0 2

...then remount the drive...
mount -v -o remount /data1

Save changes and go back to compiling ROMS.

Post Reply