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)
Change History (5)
comment:1 Changed 3 weeks ago by jderouillat
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
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.