Re: [FLASH-USERS] setup problems

From: Alexander Heger <alex@ucolick.org>
Date: Tue Oct 04 2005 - 10:14:07 CDT

Dear Steve,

I successfully compiled FLASH with g95, after some easy tweaking.

> In file logfile.F90:625
>
> write (log_lun, "(X, A30, ' : ', A20)") trim(adjustl(str_array(i,
> 1
> Warning (100): X descriptor requires leading space count in format string
> at (1)
> In file logfile.F90:628
>
> write (log_lun, "(X, A15, 22X, A8, 2X, A9, 4X, A8, 2X, A8)") trim
> 1
> Warning (100): X descriptor requires leading space count in format string
> at (1)

just at a 1 in front of the single "X" at the beginning of the bracket.
"(1X...."

>
>
> and then a number of lines like this for several functions:
>
>
> dBaseAPI.c: In function write_logfile:
> dBaseAPI.c:11: warning: incompatible implicit declaration of built-in
> function strlen
> dBaseAPI.c: In function stamp_logfile:
> dBaseAPI.c:16: warning: incompatible implicit declaration of built-in
> function strlen.

I would ignore those and others

> The code finally crashes though when linking:

the linker terminates...

> aseAPI.o(.text+0x1c): In function `write_logfile':
> dBaseAPI.c: undefined reference to `xwrite_logfile_'
> dBaseAPI.o(.text+0x44): In function `stamp_logfile':
> dBaseAPI.c: undefined reference to `xstamp_logfile_'
> dBaseAPI.o(.text+0x6f): In function `get_real_parm_from_glob_context':
> dBaseAPI.c: undefined reference to `xget_real_parm_from_glob_contex_'
> dBaseAPI.o(.text+0x9b): In function `get_int_parm_from_glob_context':
> dBaseAPI.c: undefined reference to `xget_int_parm_from_glob_context_'
> dBaseAPI.o(.text+0xd6): In function `get_str_parm_from_glob_context':
> dBaseAPI.c: undefined reference to `xget_str_parm_from_glob_context_'
> init_flash.o(.text+0x11): In function `init_flash__':
> init_flash.F90: undefined reference to `init_signal_handler__'
> driverAPI.o(.text+0x1c): In function `abort_flash':
> driverAPI.c: undefined reference to `xabort_flash_'
> checkpoint_re.o(.text+0x8fa): In function `checkpoint_filename_re__':
> checkpoint_re.F90: undefined reference to `h5_open_file_for_read__'
> checkpoint_re.o(.text+0x97e):checkpoint_re.F90: undefined reference to
> `h5_read_timers__'
> checkpoint_re.o(.text+0x9d3):checkpoint_re.F90: undefined reference to
> `h5_read_header_info__'
> checkpoint_re.o(.text+0x19e3):checkpoint_re.F90: undefined reference to
> `get_numparticles__'
> checkpoint_re.o(.text+0x1cf5):checkpoint_re.F90: undefined reference to
> `h5_read_particles__'
> checkpoint_re.o(.text+0x22a9):checkpoint_re.F90: undefined reference to
> `h5_read_tree_info__'
> checkpoint_re.o(.text+0x24bc):checkpoint_re.F90: undefined reference to
> `h5_read_grid_info__'
> checkpoint_re.o(.text+0x25fd):checkpoint_re.F90: undefined reference to
> `h5_read_unknowns__'
> checkpoint_re.o(.text+0x3ab3):checkpoint_re.F90: undefined reference to
> `h5_close_file__'
> checkpoint_wr.o(.text+0xd77): In function `checkpoint_wr__':
> checkpoint_wr.F90: undefined reference to `h5_initialize_file__'
> checkpoint_wr.o(.text+0x14f1):checkpoint_wr.F90: undefined reference to
> `h5_write_header_info__'
> checkpoint_wr.o(.text+0x1730):checkpoint_wr.F90: undefined reference to
> `h5_write_runtime_parameters__'
> checkpoint_wr.o(.text+0x299e):checkpoint_wr.F90: undefined reference to
> `h5_write_particles__'
> checkpoint_wr.o(.text+0x2a16):checkpoint_wr.F90: undefined reference to
> `h5_write_tree_info__'
> checkpoint_wr.o(.text+0x2a60):checkpoint_wr.F90: undefined reference to
> `h5_write_grid_info__'
> checkpoint_wr.o(.text+0x2b97):checkpoint_wr.F90: undefined reference to
> `h5_write_unknowns__'
> checkpoint_wr.o(.text+0x3e38):checkpoint_wr.F90: undefined reference to
> `h5_write_timers__'
> checkpoint_wr.o(.text+0x4022):checkpoint_wr.F90: undefined reference to
> `h5_close_file__'
> plotfile.o(.text+0xc6a): In function `plotfile_':
> plotfile.F90: undefined reference to `h5_initialize_file__'
> plotfile.o(.text+0x12ce):plotfile.F90: undefined reference to
> `h5_write_header_info_sp__'
> plotfile.o(.text+0x1504):plotfile.F90: undefined reference to
> `h5_write_runtime_parameters__'
> plotfile.o(.text+0x1e8f):plotfile.F90: undefined reference to
> `h5_write_tree_info_sp__'
> plotfile.o(.text+0x220c):plotfile.F90: undefined reference to
> `h5_write_grid_info_sp__'
> plotfile.o(.text+0x2be4):plotfile.F90: undefined reference to
> `h5_write_unknowns_sp__'
> plotfile.o(.text+0x2cca):plotfile.F90: undefined reference to
> `h5_write_unknowns_sp__'
> plotfile.o(.text+0x2da3):plotfile.F90: undefined reference to
> `h5_write_unknowns_sp__'
> plotfile.o(.text+0x3a78):plotfile.F90: undefined reference to
> `h5_close_file__'
> init_global_parms_checkpoint.o(.text+0x2cd): In function
> `init_global_parms_checkpoint__':
> init_global_parms_checkpoint.F90: undefined reference to
> `h5_open_file_for_read__'
> init_global_parms_checkpoint.o(.text+0x3ac):init_global_parms_checkpoint.F90:
> undefined reference to `h5_read_runtime_parameters__'
> init_global_parms_checkpoint.o(.text+0x3b8):init_global_parms_checkpoint.F90:
> undefined reference to `h5_close_file__'
> multifluidAPI.o(.text+0x1f): In function `find_fluid_index':
> multifluidAPI.c: undefined reference to `xfind_fluid_index_'
> memory_report.o(.text+0x61): In function `memory_report__':
> memory_report.F90: undefined reference to `memory_usage__'

I just added manually these extra underscores in the source code
g95 does add a second underscore on names that contain an underscore.
This can be suppressed by a compiler flag, but then it would no longer
link against MPI or HDF. (I managed to make a modified MPI version that
would link, but could not do that for HDF - the flags there are ignored.
 HDF is bad.)

Best wishes,
Alexander
Received on Tue Oct 4 10:18:39 2005

This archive was generated by hypermail 2.1.8 : Thu Aug 31 2006 - 21:20:48 CDT