Opened 4 weeks ago

Closed 2 weeks ago

#201 closed defect (fixed)

Missing functions in XIOS3 Head

Reported by: acc Owned by: ymipsl
Priority: major Component: XIOS
Version: 3.0 Keywords:
Cc:

Description

Our Cray is failing at the link stage when compiling the current Head of the XIOS3 branch (rev 2700). The complaint is:

ftn -o xios_server.exe /work/n01/shared/nemo/XIOS3_r2700/obj/server_main.o -L/work/n01/shared/nemo/XIOS3_r2700/lib -l__fcm__xios_server -L /opt/cray/pe/netcdf-hdf5parallel/4.9.0.1/crayclang/14.0/lib -L/opt/cray/pe/hdf5-parallel/1.12.2.1/crayclang/14.0/lib  -lnetcdf -lnetcdff -lhdf5_hl -lhdf5 -lz -lcurl -lstdc++
/opt/cray/pe/cce/15.0.0/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld: /work/n01/shared/nemo/XIOS3_r2700/lib/lib__fcm__xios_server.a(iextract_axis.o): in function `xios_is_valid_extract_axis$iextract_axis_':
The Cpu Module:(.text+0x5c): undefined reference to `cxios_extract_axis_valid_id'
/opt/cray/pe/cce/15.0.0/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld: /work/n01/shared/nemo/XIOS3_r2700/lib/lib__fcm__xios_server.a(iextract_axis.o): in function `xios_get_extract_axis_handle$iextract_axis_':
The Cpu Module:(.text+0x24): undefined reference to `cxios_extract_axis_handle_create'
fcm_internal load failed (256)
gmake: *** [/work/n01/shared/nemo/XIOS3_r2700/Makefile:10288: xios_server.exe] Error 1
gmake -f /work/n01/shared/nemo/XIOS3_r2700/Makefile -j 16 -s all failed (2) at /mnt/lustre/a2fs-work1/work/n01/shared/nemo/XIOS3_r2700/tools/FCM_NEW/bin/../lib/FCM1/Build.pm line 611.
Build failed on Mon Jan  6 15:15:50 2025.

which seems to be a genuine bug since the C definitions of those functions are missing. This can be solved by creating a

src/interface/c/icextract.cpp 

file which is a copy of

src/interface/c/iczoom.cpp 

with the names updated (extract instead of zoom) and the deprecation warnings removed.

Strangely, I have colleagues whom claim this revision compiled ok on a different (intel) platform without needing this addition (TBC). ?

Attachments (1)

icextract_axis.cpp (1.5 KB) - added by jderouillat 3 weeks ago.

Download all attachments as: .zip

Change History (5)

comment:1 Changed 3 weeks ago by jderouillat

Logs reporting the same problem have been sent to me for the CRAY environment.

Copying src/interface/c/icextract.cpp from src/interface/c/iczoom.cpp may produced multiple definition of extract_domain functions.

You'll find in attachment a icextract_axis.cpp which contains the 2 functions cxios_extract_axis_handle_create and cxios_extract_axis_valid_id.

Changed 3 weeks ago by jderouillat

comment:2 Changed 3 weeks ago by jderouillat

Unfortunately my access to a such environment expired for a few days, can you test the compilation with this additional file copied in src/interface/c ?

I confirm that it's ok on Intel. I'm working with the XIOS3 head without encountering this problem, while it has been introduced 2 months ago.

comment:3 Changed 2 weeks ago by jderouillat

The integration of the file icextract_axis.cpp has been validated using the CRAY environment by a third party, and in our usual environments.
Commited in 2705.

Don't hesitate to reopen the ticket if it's not ok for you.

comment:4 Changed 2 weeks ago by jderouillat

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.