Bug in CDO compilation - where to download archived CE?

Hi,
While installing CDO 1.8.2 (Overview - CDO - Project Management Service) with PGI 18.10 CE (within spack - spack.io), I hit the following error:

# /opt/spack/var/spack/stage/cdo-1.8.2-nhbsh7whzlithmlm6lcjnmejvcmjlrxb/cdo-1.8.2/configure --prefix=/opt/software/linux-centos7-x86_64/pgi/18.10/cdo/1.8.2-nhbsh7whzlithmlm6lcjnmejvcmjlrxb --with-netcdf=/opt/software/linux-centos7-x86_64/pgi/18.10/netcdf/4.6.2-mg5rfhujh2bid7xu4na2p5vvwpdjwsci --with-grib_api=/opt/software/linux-centos7-x86_64/pgi/18.10/grib-api/1.24.0-oxzpnddzxqyd6fan5cpdjzdqonnypslt --enable-cgribex --with-szlib=/opt/software/linux-centos7-x86_64/pgi/18.10/libszip/2.1.1-bmj3b7dylez6mp7zdhpcu2fgpco2ub5t --with-hdf5=/opt/software/linux-centos7-x86_64/pgi/18.10/hdf5/1.10.4-ukcggvdjodzyljqrey2ww4oyjobbgsyd --with-udunits2=/opt/software/linux-centos7-x86_64/pgi/18.10/udunits2/2.2.24-j57yy2f62casgoyofchtk723r7wgu3qk --with-libxml2=/opt/software/linux-centos7-x86_64/gcc/8.2.0/libxml2/2.9.8-hn3qdklwaynnnqkfk2wdy3dadleghx6l --with-proj=/opt/software/linux-centos7-x86_64/pgi/18.10/proj/5.0.1-rvq2yqdtwybvcbncmiv3bughkqrvbtzp --without-curl --without-magics --with-fftw3 --enable-openmp

...

libtool: link: /opt/spack/lib/spack/env/pgi/pgcc -g -mp -o cdo cdo-cdo.o cdo-Adisit.o cdo-Afterburner.o cdo-Arith.o cdo-Arithc.o cdo-Arithdays.o cdo-Arithlat.o cdo-CDItest.o cdo-CDIread.o cdo-CDIwrite.o cdo-Cat.o cdo-Change.o cdo-Change_e5slm.o cdo-Cloudlayer.o cdo-CMOR.o cdo-CMOR_lite.o cdo-CMOR_table.o cdo-Collgrid.o cdo-Command.o cdo-Comp.o cdo-Compc.o cdo-Complextorect.o cdo-Cond.o cdo-Cond2.o cdo-Condc.o cdo-Consecstat.o cdo-Copy.o cdo-Deltat.o cdo-Deltime.o cdo-Derivepar.o cdo-Detrend.o cdo-Diff.o cdo-Distgrid.o cdo-Duplicate.o cdo-EOFs.o cdo-Eof3d.o cdo-EcaIndices.o cdo-Echam5ini.o cdo-Enlarge.o cdo-Enlargegrid.o cdo-Ensstat.o cdo-Ensstat3.o cdo-Ensval.o cdo-Eofcoeff.o cdo-Eofcoeff3d.o cdo-Exprf.o cdo-FC.o cdo-Filedes.o cdo-Fillmiss.o cdo-Filter.o cdo-Fldrms.o cdo-Fldstat.o cdo-Fldstat2.o cdo-Fourier.o cdo-Gengrid.o cdo-Gradsdes.o cdo-Gridboxstat.o cdo-Gridcell.o cdo-Gridsearch.o cdo-Harmonic.o cdo-Hi.o cdo-Histogram.o cdo-Importamsr.o cdo-Importbinary.o cdo-Importcmsaf.o cdo-Importobs.o cdo-Info.o cdo-Input.o cdo-Intgrid.o cdo-Intgridtraj.o cdo-Intlevel.o cdo-Intlevel3d.o cdo-Intntime.o cdo-Inttime.o cdo-Intyear.o cdo-Invert.o cdo-Invertlev.o cdo-Isosurface.o cdo-Log.o cdo-MapReduce.o cdo-Maskbox.o cdo-Mastrfu.o cdo-Math.o cdo-Merge.o cdo-Mergegrid.o cdo-Mergetime.o cdo-Merstat.o cdo-Monarith.o cdo-Mrotuv.o cdo-Mrotuvb.o cdo-Ninfo.o cdo-Nmldump.o cdo-Output.o cdo-Outputgmt.o cdo-Pack.o cdo-Pardup.o cdo-Pinfo.o cdo-Pressure.o cdo-Regres.o cdo-Remap.o cdo-Remapeta.o cdo-Replace.o cdo-Replacevalues.o cdo-Rhopot.o cdo-Rotuv.o cdo-Runpctl.o cdo-Runstat.o cdo-Samplegrid.o cdo-Samplegridicon.o cdo-Seascount.o cdo-Seaspctl.o cdo-Seasstat.o cdo-Selbox.o cdo-Selgridcell.o cdo-Select.o cdo-Selmulti.o cdo-Seloperator.o cdo-Selrec.o cdo-Seltime.o cdo-Selvar.o cdo-Set.o cdo-Setattribute.o cdo-Setbox.o cdo-Setgatt.o cdo-Setgrid.o cdo-Sethalo.o cdo-Setmiss.o cdo-Setpartab.o cdo-Setrcaname.o cdo-Settime.o cdo-Setzaxis.o cdo-Shiftxy.o cdo-Showinfo.o cdo-Sinfo.o cdo-Smooth.o cdo-Sort.o cdo-Sorttimestamp.o cdo-Specinfo.o cdo-Spectral.o cdo-Spectrum.o cdo-Split.o cdo-Splitrec.o cdo-Splitsel.o cdo-Splittime.o cdo-Splityear.o cdo-Subtrend.o cdo-Tee.o cdo-Templates.o cdo-Test.o cdo-Tests.o cdo-Timcount.o cdo-Timcumsum.o cdo-Timpctl.o cdo-Timselpctl.o cdo-Timselstat.o cdo-Timsort.o cdo-Timstat.o cdo-Timstat2.o cdo-Timstat3.o cdo-Tinfo.o cdo-Tocomplex.o cdo-Transpose.o cdo-Trend.o cdo-Trms.o cdo-Tstepcount.o cdo-Vargen.o cdo-Varrms.o cdo-Vertintml.o cdo-Vertintap.o cdo-Vertstat.o cdo-Vertcum.o cdo-Vertwind.o cdo-Verifygrid.o cdo-Wct.o cdo-Wind.o cdo-WindTrans.o cdo-Writegrid.o cdo-Writerandom.o cdo-XTimstat.o cdo-YAR.o cdo-Yearmonstat.o cdo-Ydayarith.o cdo-Ydaypctl.o cdo-Ydaystat.o cdo-Ydrunpctl.o cdo-Ydrunstat.o cdo-Yhourarith.o cdo-Yhourstat.o cdo-Ymonarith.o cdo-Ymonpctl.o cdo-Ymonstat.o cdo-Yseaspctl.o cdo-Yseasstat.o cdo-Zonstat.o cdo-Magplot.o cdo-Magvector.o cdo-Maggraph.o cdo-template_parser.o cdo-results_template_parser.o cdo-magics_template_parser.o cdo-StringUtilities.o cdo-CdoMagicsMapper.o  -L/opt/software/linux-centos7-x86_64/gcc/8.2.0/libxml2/2.9.8-hn3qdklwaynnnqkfk2wdy3dadleghx6l/lib -L/opt/software/linux-centos7-x86_64/pgi/18.10/proj/5.0.1-rvq2yqdtwybvcbncmiv3bughkqrvbtzp/lib -L/opt/software/linux-centos7-x86_64/pgi/18.10/grib-api/1.24.0-oxzpnddzxqyd6fan5cpdjzdqonnypslt/lib -L/opt/software/linux-centos7-x86_64/pgi/18.10/netcdf/4.6.2-mg5rfhujh2bid7xu4na2p5vvwpdjwsci/lib -L/opt/software/linux-centos7-x86_64/pgi/18.10/hdf5/1.10.4-ukcggvdjodzyljqrey2ww4oyjobbgsyd/lib -L/opt/software/linux-centos7-x86_64/pgi/18.10/libszip/2.1.1-bmj3b7dylez6mp7zdhpcu2fgpco2ub5t/lib -L/opt/software/linux-centos7-x86_64/pgi/18.10/udunits2/2.2.24-j57yy2f62casgoyofchtk723r7wgu3qk/lib ./.libs/libcdo.a -L//lib -L/opt/software/linux-centos7-x86_64/gcc/8.2.0/zlib/1.2.11-zgpsjkhbmc66rbiqfar75ydfb5o7rsaw/lib ../libcdi/src/.libs/libcdi.a -luuid /opt/software/linux-centos7-x86_64/gcc/8.2.0/libxml2/2.9.8-hn3qdklwaynnnqkfk2wdy3dadleghx6l/lib/libxml2.so -llzma -liconv /opt/software/linux-centos7-x86_64/pgi/18.10/proj/5.0.1-rvq2yqdtwybvcbncmiv3bughkqrvbtzp/lib/libproj.so -lfftw3 -lgrib_api /opt/software/linux-centos7-x86_64/pgi/18.10/udunits2/2.2.24-j57yy2f62casgoyofchtk723r7wgu3qk/lib/libudunits2.so -lexpat /opt/software/linux-centos7-x86_64/pgi/18.10/netcdf/4.6.2-mg5rfhujh2bid7xu4na2p5vvwpdjwsci/lib/libnetcdf.so /opt/software/linux-centos7-x86_64/pgi/18.10/hdf5/1.10.4-ukcggvdjodzyljqrey2ww4oyjobbgsyd/lib/libhdf5_hl.so /opt/software/linux-centos7-x86_64/pgi/18.10/hdf5/1.10.4-ukcggvdjodzyljqrey2ww4oyjobbgsyd/lib/libhdf5.so -lpthread -lz -ldl /opt/software/linux-centos7-x86_64/pgi/18.10/libszip/2.1.1-bmj3b7dylez6mp7zdhpcu2fgpco2ub5t/lib/libsz.so -lm -mp -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/gcc/8.2.0/libxml2/2.9.8-hn3qdklwaynnnqkfk2wdy3dadleghx6l/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/proj/5.0.1-rvq2yqdtwybvcbncmiv3bughkqrvbtzp/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/udunits2/2.2.24-j57yy2f62casgoyofchtk723r7wgu3qk/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/netcdf/4.6.2-mg5rfhujh2bid7xu4na2p5vvwpdjwsci/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/hdf5/1.10.4-ukcggvdjodzyljqrey2ww4oyjobbgsyd/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/libszip/2.1.1-bmj3b7dylez6mp7zdhpcu2fgpco2ub5t/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/gcc/8.2.0/libxml2/2.9.8-hn3qdklwaynnnqkfk2wdy3dadleghx6l/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/proj/5.0.1-rvq2yqdtwybvcbncmiv3bughkqrvbtzp/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/udunits2/2.2.24-j57yy2f62casgoyofchtk723r7wgu3qk/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/netcdf/4.6.2-mg5rfhujh2bid7xu4na2p5vvwpdjwsci/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/hdf5/1.10.4-ukcggvdjodzyljqrey2ww4oyjobbgsyd/lib -Wl,-rpath -Wl,/opt/software/linux-centos7-x86_64/pgi/18.10/libszip/2.1.1-bmj3b7dylez6mp7zdhpcu2fgpco2ub5t/lib
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x19bf): undefined reference to `.LBa9509'
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x19c7): undefined reference to `.LBa9510'
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x1b33): undefined reference to `.LBa10022'
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x1b3b): undefined reference to `.LBa10023'
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x1b47): undefined reference to `.LBa10074'
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x1b4f): undefined reference to `.LBa10075'
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x1b5b): undefined reference to `.LBa10111'
./.libs/libcdo.a(libcdo_la-grid_search.o):(.debug_info+0x1b63): undefined reference to `.LBa10112'
make[2]: *** [cdo] Error 2
make[2]: Leaving directory `/dev/shm/root/spack-stage/spack-stage-xv7fith9/cdo-1.8.2/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/dev/shm/root/spack-stage/spack-stage-xv7fith9/cdo-1.8.2/src'
make: *** [all-recursive] Error 1

CDO with the same dependencies with GCC 8.2.0 successfully completed.
The same CDO version successfully built with PGI 15.

Since I’ve noticed many of these bugs in this last PGI release (for example fftw is unable to build with avx2 flags from PGI 16 onwards), I’d like to download an archived version of PGI, but the community edition page only allows downloading the latest version.

The ‘undefined reference’ seems to be a problem of spack, because when compiling manually it compiles correctly. I’ll open an issue to their github.

The archived PGI CE versions could still be useful.

Hi bebosudo,

Unfortunately there are some legal/marketing hurdles that prevent us from distributing the old CEs; we only offer the latest at the time. A purchased license has access to the download archives for older versions.

The CE edition will only ship with a one-year license, so there is a small window between the x.4 and x.10 (or x.10 to (x+1).4) editions where only the latest is available.