Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation does not give out executable file #154

Open
maouyami opened this issue Nov 26, 2024 · 4 comments
Open

Compilation does not give out executable file #154

maouyami opened this issue Nov 26, 2024 · 4 comments

Comments

@maouyami
Copy link

maouyami commented Nov 26, 2024

I followed all of the guide but it gives out a libschism.a and a depend.out file. No executable file created in the src folder.
Sorry if this question is a beginner problem, Im new to Linux and Compilation

cd /home/yami444/schism/schism-master/src/ParMetis-4.0.3/build/Linux-x86_64/libparmetis && /usr/bin/cmake -P CMakeFiles/parmetis.dir/cmake_clean_target.cmake
cd /home/yami444/schism/schism-master/src/ParMetis-4.0.3/build/Linux-x86_64/libparmetis && /usr/bin/cmake -E cmake_link_script CMakeFiles/parmetis.dir/link.txt --verbose=1
/usr/bin/ar qc libparmetis.a CMakeFiles/parmetis.dir/akwayfm.c.o CMakeFiles/parmetis.dir/ametis.c.o CMakeFiles/parmetis.dir/balancemylink.c.o CMakeFiles/parmetis.dir/comm.c.o CMakeFiles/parmetis.dir/csrmatch.c.o CMakeFiles/parmetis.dir/ctrl.c.o CMakeFiles/parmetis.dir/debug.c.o CMakeFiles/parmetis.dir/diffutil.c.o CMakeFiles/parmetis.dir/frename.c.o CMakeFiles/parmetis.dir/gkmetis.c.o CMakeFiles/parmetis.dir/gkmpi.c.o CMakeFiles/parmetis.dir/graph.c.o CMakeFiles/parmetis.dir/initbalance.c.o CMakeFiles/parmetis.dir/initmsection.c.o CMakeFiles/parmetis.dir/initpart.c.o CMakeFiles/parmetis.dir/kmetis.c.o CMakeFiles/parmetis.dir/kwayrefine.c.o CMakeFiles/parmetis.dir/match.c.o CMakeFiles/parmetis.dir/mdiffusion.c.o CMakeFiles/parmetis.dir/mesh.c.o CMakeFiles/parmetis.dir/mmetis.c.o CMakeFiles/parmetis.dir/move.c.o CMakeFiles/parmetis.dir/msetup.c.o CMakeFiles/parmetis.dir/node_refine.c.o CMakeFiles/parmetis.dir/ometis.c.o CMakeFiles/parmetis.dir/pspases.c.o CMakeFiles/parmetis.dir/redomylink.c.o CMakeFiles/parmetis.dir/remap.c.o CMakeFiles/parmetis.dir/renumber.c.o CMakeFiles/parmetis.dir/rmetis.c.o CMakeFiles/parmetis.dir/selectq.c.o CMakeFiles/parmetis.dir/serial.c.o CMakeFiles/parmetis.dir/stat.c.o CMakeFiles/parmetis.dir/timer.c.o CMakeFiles/parmetis.dir/util.c.o CMakeFiles/parmetis.dir/wave.c.o CMakeFiles/parmetis.dir/weird.c.o CMakeFiles/parmetis.dir/wspace.c.o CMakeFiles/parmetis.dir/xyzpart.c.o
/usr/bin/ranlib libparmetis.a
make[4]: Leaving directory '/home/yami444/schism/schism-master/src/ParMetis-4.0.3/build/Linux-x86_64'
[100%] Built target parmetis
make[3]: Leaving directory '/home/yami444/schism/schism-master/src/ParMetis-4.0.3/build/Linux-x86_64'
/usr/bin/cmake -E cmake_progress_start /home/yami444/schism/schism-master/src/ParMetis-4.0.3/build/Linux-x86_64/CMakeFiles 0
make[2]: *** No rule to make target 'w'.  Stop.
make[2]: Leaving directory '/home/yami444/schism/schism-master/src/ParMetis-4.0.3/build/Linux-x86_64'
make[1]: Leaving directory '/home/yami444/schism/schism-master/src/ParMetis-4.0.3'
/usr/bin/mpif90.mpich -fc=gfortran -ffree-line-length-none -O2  o/svn.ubuntu.gnu.mpich/schism_version.o o/svn.ubuntu.gnu.mpich/schism_glbl.o o/svn.ubuntu.gnu.mpich/schism_msgp.o o/svn.ubuntu.gnu.mpich/scribe_io.o o/svn.ubuntu.gnu.mpich/misc_modules.o o/svn.ubuntu.gnu.mpich/schism_io.o o/svn.ubuntu.gnu.mpich/schism_driver.o o/svn.ubuntu.gnu.mpich/gen_modules_clock.o o/svn.ubuntu.gnu.mpich/grid_subs.o o/svn.ubuntu.gnu.mpich/hydraulic_structures.o o/svn.ubuntu.gnu.mpich/schism_init.o o/svn.ubuntu.gnu.mpich/schism_step.o o/svn.ubuntu.gnu.mpich/schism_finalize.o o/svn.ubuntu.gnu.mpich/bktrk_subs.o o/svn.ubuntu.gnu.mpich/solver_subs.o o/svn.ubuntu.gnu.mpich/misc_subs.o o/svn.ubuntu.gnu.mpich/transport_TVD_imp.o o/svn.ubuntu.gnu.mpich/sflux_9c.o o/svn.ubuntu.gnu.mpich/lap.o -L./ParMetis-4.0.3 -lparmetis -lmetis  -L/usr/local/lib/ -lnetcdf -lnetcdff   -J. -I. -o _VL
Hydro/schism_step.F90:9612:71: warning: type of ‘savensend3d_scribe’ does not match original declaration [-Wlto-type-mismatch]
 9612 |                 call savensend3D_scribe(icount,1,1,nvrt,np,ww2(:,1:np))
      |                                                                       ^
Hydro/misc_subs.F90:6207:35: note: type mismatch in parameter 7
 6207 |       subroutine savensend3D_scribe(icount,imode,ivs,nvrt0,npes,savevar1,savevar2)
      |                                   ^
Hydro/misc_subs.F90:6207:35: note: ‘savensend3d_scribe’ was previously declared here
Hydro/schism_init.F90:2111:68: warning: type of ‘mpi_allreduce’ does not match original declaration [-Wlto-type-mismatch]
 2111 |       call mpi_allreduce(iabort,iabort_gb,1,itype,MPI_SUM,comm,ierr)
      |                                                                    ^
Hydro/misc_subs.F90:2181:84: warning: type of ‘mpi_allreduce’ does not match original declaration [-Wlto-type-mismatch]
 2181 |         call mpi_allreduce(prwt_xchng,prwt_xchng_gb,1,MPI_LOGICAL,MPI_LOR,comm,ierr)
      |                                                                                    ^
Core/schism_io.F90:121:77: note: ‘mpi_allreduce’ was previously declared here
  121 |       call mpi_allreduce(wtimer(0,1),wavg1,mxtimer+1,rtype,MPI_SUM,comm,ierr)
      |                                                                             ^
Core/schism_io.F90:121:77: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
Hydro/schism_init.F90:1698:57: warning: type of ‘mpi_bcast’ does not match original declaration [-Wlto-type-mismatch]
 1698 |         call mpi_bcast(buf4,ns_global,rtype,0,comm,istat)
      |                                                         ^
Hydro/schism_step.F90:504:50: warning: type of ‘mpi_bcast’ does not match original declaration [-Wlto-type-mismatch]
  504 |           call mpi_bcast(wx2,1,rtype,0,comm,istat)
      |                                                  ^
Hydro/sflux_9c.F90:2347:59: warning: type of ‘mpi_bcast’ does not match original declaration [-Wlto-type-mismatch]
 2347 |         call mpi_bcast(data_tmp,nx*ny,mpi_real,0,comm,iret)
      |                                                           ^
Core/scribe_io.F90:209:72: note: ‘mpi_bcast’ was previously declared here
  209 |       call mpi_bcast(np,nproc_compute,itype,nscribes-1,comm_scribe,ierr)
      |                                                                        ^
Core/scribe_io.F90:209:72: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
Core/scribe_io.F90:100:60: warning: type of ‘mpi_recv’ does not match original declaration [-Wlto-type-mismatch]
  100 |       call mpi_recv(dt,1,rtype,0,100,comm_schism,rrqst,ierr)
      |                                                            ^
Core/schism_msgp.F90:512:61: note: ‘mpi_recv’ was previously declared here
  512 |     call mpi_recv(ibgn,1,itype,idrcv,itrcv,comm,istatus,ierr)
      |                                                             ^
Core/schism_msgp.F90:512:61: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
Core/schism_msgp.F90:4061:103: warning: type of ‘mpi_irecv’ does not match original declaration [-Wlto-type-mismatch]
 4061 |     call mpi_irecv(e2di_2t_data,1,e2di_2t_recv_type(i),nbrrank_2t(i),17,comm,e2di_2t_recv_rqst(i),ierr)
      |                                                                                                       ^
Core/schism_msgp.F90:704:70: warning: type of ‘mpi_irecv’ does not match original declaration [-Wlto-type-mismatch]
  704 |     call mpi_irecv(nesend(i),1,itype,nbrrank(i),10,comm,rrqst(i),ierr)
      |                                                                      ^
Core/scribe_io.F90:1313:109: warning: type of ‘mpi_irecv’ does not match original declaration [-Wlto-type-mismatch]
 1313 |               call mpi_irecv(var3dnode(:,:,i),np(i)*nvrt,MPI_REAL4,i-1,200+itotal,comm_schism,rrqst2(i),ierr)
      |                                                                                                             ^
Core/schism_msgp.F90:4094:106: note: ‘mpi_irecv’ was previously declared here
 4094 |     call mpi_irecv(e3d_2t_data,1,e3d_2t_tr_recv_type(i),nbrrank_2t(i),18,comm,e3d_2t_tr_recv_rqst(i),ierr)
      |                                                                                                          ^
Core/schism_msgp.F90:4094:106: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
Core/schism_msgp.F90:4067:103: warning: type of ‘mpi_isend’ does not match original declaration [-Wlto-type-mismatch]
 4067 |     call mpi_isend(e2di_2t_data,1,e2di_2t_send_type(i),nbrrank_2t(i),17,comm,e2di_2t_send_rqst(i),ierr)
      |                                                                                                       ^
Core/schism_msgp.F90:709:70: warning: type of ‘mpi_isend’ does not match original declaration [-Wlto-type-mismatch]
  709 |     call mpi_isend(nerecv(i),1,itype,nbrrank(i),10,comm,srqst(i),ierr)
      |                                                                      ^
Hydro/misc_subs.F90:6272:61: warning: type of ‘mpi_isend’ does not match original declaration [-Wlto-type-mismatch]
 6272 |      &200+nsend_varout,comm_schism,srqst7(nsend_varout),ierr)
      |                                                             ^
Core/schism_msgp.F90:4100:106: note: ‘mpi_isend’ was previously declared here
 4100 |     call mpi_isend(e3d_2t_data,1,e3d_2t_tr_send_type(i),nbrrank_2t(i),18,comm,e3d_2t_tr_send_rqst(i),ierr)
      |                                                                                                          ^
Core/schism_msgp.F90:4100:106: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
ar -ru libschism.a o/svn.ubuntu.gnu.mpich/schism_version.o o/svn.ubuntu.gnu.mpich/schism_glbl.o o/svn.ubuntu.gnu.mpich/schism_msgp.o o/svn.ubuntu.gnu.mpich/scribe_io.o o/svn.ubuntu.gnu.mpich/misc_modules.o o/svn.ubuntu.gnu.mpich/schism_io.o o/svn.ubuntu.gnu.mpich/schism_driver.o o/svn.ubuntu.gnu.mpich/gen_modules_clock.o o/svn.ubuntu.gnu.mpich/grid_subs.o o/svn.ubuntu.gnu.mpich/hydraulic_structures.o o/svn.ubuntu.gnu.mpich/schism_init.o o/svn.ubuntu.gnu.mpich/schism_step.o o/svn.ubuntu.gnu.mpich/schism_finalize.o o/svn.ubuntu.gnu.mpich/bktrk_subs.o o/svn.ubuntu.gnu.mpich/solver_subs.o o/svn.ubuntu.gnu.mpich/misc_subs.o o/svn.ubuntu.gnu.mpich/transport_TVD_imp.o o/svn.ubuntu.gnu.mpich/sflux_9c.o o/svn.ubuntu.gnu.mpich/lap.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar: creating libschism.a

@jamal919
Copy link
Member

jamal919 commented Nov 26, 2024

Please update the description of your issue with which commands you have actually used. It is not clear what you have actually done. Have you used GNU make? Cmake? Which OS? What is your compiler vendor and version? Which guide is it - the online manual (link)? All these will help to debug the problem. Please use the code blocks feature in the markdown editor of GitHub when pasting codes (I have updated the original one).

If I am to guess though, based on the outputs you have shared, you are using gnu make (not cmake) to build your executables. If you use gnu make, as clearly stated in the official manual - https://schism-dev.github.io/schism/master/getting-started/compilation.html#gnu-make - one needs to issue the command "make pschism" to build the executable (it used to be "make psc" at some point).

@maouyami
Copy link
Author

maouyami commented Nov 27, 2024

Thank you for replying!

My OS is Pop OS 22.04 LTS (which is a distro based on Ubuntu) with MPICH, so I followed the online manual, making my own Make.defs file based on the Make.Defs.Ubuntu.gnu.mpich file. And yes, i used GNU make to compile the model. Im sure i did "make pschism" and tried "make psc", nothing came out except libschism.a, o folder and depend.out

I dont know if this helps but this is my full log:
error.txt

Also Im using Ryzen 5 3500H Processor.

Please update the description of your issue with which commands you have actually used. It is not clear what you have actually done. Have you used GNU make? Cmake? Which OS? What is your compiler vendor and version? Which guide is it - the online manual (link)? All these will help to debug the problem. Please use the code blocks feature in the markdown editor of GitHub when pasting codes (I have updated the original one).

If I am to guess though, based on the outputs you have shared, you are using gnu make (not cmake) to build your executables. If you use gnu make, as clearly stated in the official manual - https://schism-dev.github.io/schism/master/getting-started/compilation.html#gnu-make - one needs to issue the command "make pschism" to build the executable (it used to be "make psc" at some point).

@maouyami
Copy link
Author

maouyami commented Nov 27, 2024

Nevermind, I realized it was the file named _VL. But whenever i tried with the verification tests (can be found at http://www.ccrm.vims.edu/schism/schism_verification_tests), for example the Test_CORIE, it will not run but pops up an error. I turned on OLDIO.

((base) yami444@kuroki:~/schism/schism_verification_tests/Test_CORIE$ mpirun -np NPROC ./schism_test_OLDIO_VL 0: ABORT: INIT: nbins_veg_vert<=0 Abort(0) on node 0 (rank 0 in comm 496): application called MPI_Abort(comm=0x84000000, 0) - process 0

Some error log files also appeared in the outputs folder too.

@jamal919
Copy link
Member

There are several points.

  1. I think you will have to change NPROC to a number corresponding to your machine. If your machine have 10 cores, then you can go upto 10.
  2. Sometimes, the verification tests are not uptodate with the latest version of the code. In the verification test, inside params.nml, you might not find nbins_veg_vert, which is introduced in 0fec598. Check sample_inputs/params.nml from your version of code to see what value is provided there.

Turning on/off OLDIO should not have any impact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants