Unidata / gempak

Analysis and product generation for meteorological data.
BSD 3-Clause "New" or "Revised" License
70 stars 30 forks source link

GEMPAK not compiling under Ubuntu 24.04.1 LTS #154

Open sebenste opened 4 days ago

sebenste commented 4 days ago

Hello everyone,

A buddy of mine, carefully following the instructions that Mike Zuranski made, cannot get GEMPAK to compile all the way through.

Using this to compile:

Makeinc.linux64_gfortran_ubuntu:

OPSYS = Linux

MCHSYS = MCHPRM.$(OPSYS)_gfortran

CC = gcc FC = gfortran

MOTIFINC = -I/usr/X11R6/include XWINCDIR = -I/usr/X11R6/include

COPT = -fno-stack-protector -DUNDERSCORE -D$(OPSYS) $(GEMINC) $(MOTIFINC) $(PYINC) $(WITHPY) -DG_64BIT -g -O2 FOPT = -fallow-invalid-boz -fallow-argument-mismatch -fno-stack-protector -fno-second-underscore -fno-range-check -fd-lines-as-comments $(GEMINC) $(PYINC) -g -O NCII = "-I../libsrc" NCOPT = "CPPFLAGS=-DNDEBUG -Df2cFortran -I$(OS_INC)" "FFLAGS=-O -Wno-globals" "CFLAGS=-O $(NCII)" "CXX= " JASPEROPT = 'CC=$(CC)' 'CFLAGS=-O' '--disable-libjpeg' XML2OPT = 'CC=$(CC)' '--with-iconv' XMLDEP = -lpthread

CFLAGS = $(COPT) CFLAGS_DB = $(COPT) FFLAGS = $(FOPT) LDM_FLAGS =

Static OpenMotif

X11LIBDIR = -L/usr/X11R6/lib64

MOTIFLIBS = $(X11LIBDIR) -Wl,-static -lXm -Wl,-Bdynamic -lXmu -lSM -lICE -lXp -lXext -lXft -ljpeg -lpng

Dynamic OpenMotif

X11LIBDIR = -L/usr/X11R6/lib -Wl,--rpath /usr/X11R6/lib

MOTIFLIBS = $(X11LIBDIR) -lXm

BUFRFLAGS = -O -DNO_MSG_IPC -ansi

SYSLIBS = $(PYLIB) $(PYDEP) -ldl CSYSLIB = $(PYLIB) $(PYDEP)

He gets these errors:

/home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:38:(.text+0x50): undefined reference to gg_init_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:71:(.text+0xf5): undefined reference toggsdev' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:80:(.text+0x10a): undefined reference to in_text_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:85:(.text+0x13d): undefined reference tovwind_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:90:(.text+0x179): undefined reference to in_outt_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:95:(.text+0x1be): undefined reference toincolr' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:96:(.text+0x1c9): undefined reference to vad_colors_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:103:(.text+0x22f): undefined reference toinline' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:105:(.text+0x25c): undefined reference to vad_line_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:93:(.text+0x300): undefined reference toim_nids_outputluns' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:140:(.text+0x334): undefined reference to im_cbar_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:147:(.text+0x395): undefined reference toggmap' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:148:(.text+0x3aa): undefined reference to gg_ltln_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:154:(.text+0x3e8): undefined reference tointitl' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:170:(.text+0x42d): undefined reference to vad_rms_colors_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:171:(.text+0x445): undefined reference tovad_rmsvals' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:123:(.text+0x56c): undefined reference to gg_maps_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:133:(.text+0x5a5): undefined reference toggpanl' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:137:(.text+0x5ef): undefined reference to im_lutf_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:138:(.text+0x5f7): undefined reference toimdrop' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:160:(.text+0x6d9): undefined reference to gr_titl_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:164:(.text+0x726): undefined reference toggwstr' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids/gpnids.f:174:(.text+0x759): undefined reference to gg_cbar_' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gemlib.a(ipgtpt.o): in functionipgtpt': /home/gempak/GEMPAK7/gempak/source/gemlib/ip/ipgtpt.f:103:(.text+0x196): undefined reference to gg_zare_' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gemlib.a(ipinit.o): in functionipinit': /home/gempak/GEMPAK7/gempak/source/gemlib/ip/ipinit.f:37:(.text+0x18): undefined reference to in_bdta_' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gemlib.a(iplutf.o): in functioniplutf': /home/gempak/GEMPAK7/gempak/source/gemlib/ip/iplutf.f:32:(.text+0x39): undefined reference to im_lutf_' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gsmode.o): in functiongsmode': /home/gempak/GEMPAK7/gempak/source/gplt/access/gsmode.f:39:(.text+0x34): undefined reference to `updpxy' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gclear.o): in function gclear_': /home/gempak/GEMPAK7/gempak/source/gplt/control/gclear.f:73:(.text+0xc0): undefined reference toupdsxy' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gtrans.o): in function `gtrans': /home/gempak/GEMPAK7/gempak/source/gplt/transform/gtrans.f:147:(.text+0x3b8): undefined reference to prnlon_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/transform/gtrans.f:138:(.text+0x507): undefined reference toprnlon' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/transform/gtrans.f:161:(.text+0x54e): undefined reference to `prnlon' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/transform/gtrans.f:176:(.text+0x598): undefined reference to prnlon_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/transform/gtrans.f:211:(.text+0x736): undefined reference toprnlon' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gtrans.o):/home/gempak/GEMPAK7/gempak/source/gplt/transform/gtrans.f:226: more undefined references to `prnlon' follow /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gsattr.o): in function gsattr_': /home/gempak/GEMPAK7/gempak/source/gplt/attribute/gsattr.f:83:(.text+0x4ce): undefined reference toupdsxy' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/attribute/gsattr.f:169:(.text+0x633): undefined reference to `gsatmg4' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/attribute/gsattr.f:174:(.text+0x70c): undefined reference to gsatmg_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/attribute/gsattr.f:187:(.text+0x7c0): undefined reference togsgraf' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gsmprj.o): in function `gsmprj': /home/gempak/GEMPAK7/gempak/source/gplt/map/gsmprj.f:163:(.text+0x163): undefined reference to updmap_' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/map/gsmprj.f:164:(.text+0x17b): undefined reference toupdpxy' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gconml.o): in function `gconml': /home/gempak/GEMPAK7/gempak/source/gplt/transform/gconml.f:56:(.text+0xa8): undefined reference to prnlon_' /usr/bin/ld: /home/gempak/GEMPAK7/os/linux64/lib/gplt.a(gcylml.o): in functiongcylml': /home/gempak/GEMPAK7/gempak/source/gplt/transform/gcylml.f:110:(.text+0x21b): undefined reference to `prnlnr' /usr/bin/ld: /home/gempak/GEMPAK7/gempak/source/gplt/transform/gcylml.f:112:(.text+0x241): undefined reference to `prnlnr_' collect2: error: ld returned 1 exit status make[6]: *** [Makefile:120: gpnids_gf] Error 1 make[6]: Leaving directory '/home/gempak/GEMPAK7/gempak/source/programs/upc/programs/gpnids' make[5]: Leaving directory '/home/gempak/GEMPAK7/gempak/source/programs/upc/programs' make[4]: Leaving directory '/home/gempak/GEMPAK7/gempak/source/programs/upc' making programs_gf in /home/gempak/GEMPAK7/gempak/source/programs/dc make[4]: Entering directory '/home/gempak/GEMPAK7/gempak/source/programs/dc' Nothing to make for programs_nc in decoders make[4]: Leaving directory '/home/gempak/GEMPAK7/gempak/source/programs/dc' make[3]: Leaving directory '/home/gempak/GEMPAK7/gempak/source/programs' make[2]: Leaving directory '/home/gempak/GEMPAK7/gempak/source' making programs_gf in /home/gempak/GEMPAK7/gempak/maps/programs make[2]: Entering directory '/home/gempak/GEMPAK7/gempak/maps/programs' Nothing to make for programs_gf in gui make[2]: Leaving directory '/home/gempak/GEMPAK7/gempak/maps/programs' making programs_gf in /home/gempak/GEMPAK7/gempak/utilities make[2]: Entering directory '/home/gempak/GEMPAK7/gempak/utilities' Nothing to make for programs_gf in utilities make[2]: Leaving directory '/home/gempak/GEMPAK7/gempak/utilities' make[1]: Leaving directory '/home/gempak/GEMPAK7/gempak'

Can anyone offer any hints as to what is happening? This is on a fresh install of Linux. He says he has everything installed that the instructions tell him to...

ktyle commented 4 days ago

@sebenste could you or your colleague attach the full log of the installation? It looks like several individual functions in the underlying libraries did not compile.

I haven't tried with Ubuntu 24.04, but with some trial and error have gotten it to fully compile on Fedora 40 (Apple Silicon, that's another story ... )

sgdecker commented 15 hours ago

GEMPAK compiles for me. Are the libtool and autoconf packages installed?

sebenste commented 13 hours ago

Hello sgdecker,

Yes, they are installed.

Kevin: Here is a copy of the make.txt file.make.txt

mzuranski commented 10 hours ago

Those errors (and others within the above log) are indicative of the -fallow-invalid-boz -fallow-argument-mismatch arguments not being passed. At a glance it looks like they are, but the log confirms they are not: gfortran -fno-second-underscore -fno-range-check -fd-lines-as-comments -I/home/gempak/GEMPAK7/gempak/include -I/home/gempak/GEMPAK7/os/linux64/include -g -O

What shell is the user running this under (bash, csh, etc.)? What are the full contents of the Gemenviron(.profile) file? After sourcing that file, what is the output of env?

And just for grins, what is the output of uname -a and lsb_release -a?