[ncl-talk] [ncl-install] Segmentation fault when compiling NCL from source on Amazon Linux 2 (ARM64)
Dave Allured - NOAA Affiliate
dave.allured at noaa.gov
Fri Sep 3 16:39:10 MDT 2021
I think fontc is a standalone program that is used only during the NCL
build process. You may be able to sidestep the program issue completely,
by simply copying over the compiled fontcap files from a different build.
Look at one of the X86 binary distributions, or a working install on any
X86 system. I suspect that the only compatibility issue is endianness of
16- and 32-bit integers. ARM64 and X86 should both be little endian; not
sure because I lack ARM experience.
On Wed, Sep 1, 2021 at 11:37 AM Michael Graf via ncl-install <
ncl-install at mailman.ucar.edu> wrote:
> Dear all,
>
> Thanks for adding me to the NCL mailing list.
>
> I am trying to compile the latest NCL Version 6.6.2 from scratch on Amazon
> Linux 2 (ARM64 architecture). Everything works fine except that a
> segmentation fault occurs when the fontcaps are compiled respectively when
> the fontc binary is processing fontcaps (see output below). No other error
> occurs. The ncl binary is compiled and it can be started without problems,
> but when I run a plotting script a segmentation fault occurs that is
> probably related to the compilation error in fontcap.
>
> I also compiled a minimal version with as few dependencies as possible (no
> GDAL, HDF5, NETCDF-4 and so on) to rule out that they cause the problem
> without any effect. I have also randomly tried different compiler options
> for the compilation in the folder fontcap, but the error always remains the
> same. I suspect that the compiler is causing the problem, but there is no
> alternative on Amazon Linux 2 so far. I'm using gfortran (version 7.3.1)
> and
> gcc (version 7.3.1), but here only Fortran77 code seems to be compiled.
>
> It would be great if somebody has a hint how to overcome this problem.
> Maybe
> there is another option, so that I don't have to build it from scratch. The
> installation with conda does not work on ARM64.
>
> Best, Michael
>
> ************************************************************************
> Making ./common/src/fontcap
> make[4]: Entering directory
> `/home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap'
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> cfaamn.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> cfrdln.o cfrdln.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> cfwrit.o cfwrit.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> ffgttk.o ffgttk.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> ffinfo.o ffinfo.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> ffphol.o ffphol.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> ffppkt.o ffppkt.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> ffprcf.o ffprcf.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> ffprsa.o ffprsa.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> fftbkd.o fftbkd.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> fftkin.o fftkin.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> sffndc.o sffndc.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> sfgtin.o sfgtin.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> sfgtkw.o sfgtkw.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> sfprcf.o sfprcf.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> sfskbk.o sfskbk.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -c
> -o
> sftbkd.o sftbkd.f
> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp -O -o
> fontc cfaamn.o cfrdln.o cfwrit.o ffgttk.o ffinfo.o ffphol.o ffppkt.o
> ffprcf.o ffprsa.o fftb
> kd.o fftkin.o sffndc.o sfgtin.o sfgtkw.o sfprcf.o sfskbk.o sftbkd.o
> -L../../.././common/src/libncarg_c -lncarg_c -L/usr/local/ncarg_gdal/lib
> -L/usr/local/lib
> Processing fontcap font1
>
> Program received signal SIGSEGV: Segmentation fault - invalid memory
> reference.
>
> Backtrace for this error:
> #0 0x40001dcb99a3
> #1 0x40001dcb888f
> #2 0x40001dc90667
> #3 0x403bdc
> #4 0x403c63
> #5 0x4032af
> #6 0x400efb
> #7 0x401213
> #8 0x40001df5ace3
> #9 0x400d07
> make[4]: *** [font1] Segmentation fault
> make[4]: Leaving directory
> `/home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap'
>
> ************************************************************************
> gfortran -g -fbacktrace -Wall -fcheck=all -o fontc cfaamn.o cfrdln.o
> cfwrit.o ffgttk.o ffinfo.o ffphol.o ffppkt.o ffprcf.o ffprsa.o
> fftbkd.o fftkin.o sffndc.o
> sfgtin.o sfgtkw.o sfprcf.o sfskbk.o sftbkd.o
> -L../../.././common/src/libncarg_c -lncarg_c -L/usr/local/ncarg/lib
> -L/usr/local/lib
> Processing fontcap font1
>
> Program received signal SIGSEGV: Segmentation fault - invalid memory
> reference.
>
> Backtrace for this error:
> #0 0x40001a29595b in ???
> #1 0x40001a29488f in ???
> #2 0x40001a26c667 in ???
> #3 0x40723c in ???
> #4 0x4072e7 in ???
> #5 0x405c97 in sfgtwk_
> at /home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/sfgtkw.f:95
> #6 0x4061cb in sfprcf_
> at /home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/sfprcf.f:108
> #7 0x40119b in cfaamn
> at /home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/cfaamn.f:304
> #8 0x401633 in main
> at /home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/cfaamn.f:358
> make: *** [font1] Segmentation fault
>
> ************************************************************************
> gfortran -g -fsanitize=address,undefined -o fontc cfaamn.o cfrdln.o
> cfwrit.o ffgttk.o ffinfo.o ffphol.o ffppkt.o ffprcf.o ffprsa.o
> fftbkd.o fftkin.o sffndc.o
> sfgtin.o sfgtkw.o sfprcf.o sfskbk.o sftbkd.o
> -L../../.././common/src/libncarg_c -lncarg_c -L/usr/local/ncarg/lib
> -L/usr/local/lib
> Processing fontcap font1
> ASAN:DEADLYSIGNAL
> =================================================================
> ==2477==ERROR: AddressSanitizer: SEGV on unknown address 0x100005104df40
> (pc
> 0x00000040ffd0 bp 0xffffd104daf0 sp 0xffffd104daf0 T0)
> ==2477==The signal is caused by a READ memory access.
> #0 0x40ffcf in gbyte_
> (/home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/fontc+0x40ffcf)
> #1 0x410057 in gbytes_
> (/home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/fontc+0x410057)
> #2 0x40deab in sfprcf_
> /home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/sfprcf.f:117
> #3 0x40213f in cfaamn
> /home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/cfaamn.f:304
> #4 0x402d7b in main
> /home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/cfaamn.f:358
> #5 0x40002cbc7ce3 in __libc_start_main (/lib64/libc.so.6+0x1fce3)
> #6 0x4018a7
> (/home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/fontc+0x4018a7)
>
> AddressSanitizer can not provide additional info.
> SUMMARY: AddressSanitizer: SEGV
> (/home/ec2-user/wrf/NCL/ncl_ncarg-6.6.2/common/src/fontcap/fontc+0x40ffcf)
> in gbyte_
> ==2477==ABORTING
> make: *** [font1] Error 1
>
> _______________________________________________
> ncl-install mailing list
> List instructions, subscriber options, unsubscribe:
> https://mailman.ucar.edu/mailman/listinfo/ncl-install
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20210903/cc3dff57/attachment.html>
More information about the ncl-talk
mailing list